HRyk
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Zyava, СПАСИБО тебе большое. Не подскажешь такую вещь: Я хочу записывать в матрицу MATR [] [] векторы, в которых цифры не повторяются. Для этого написал фукцию, ищущую одинаковые цифры в векторах и вставил в твой код, но программа работает некорректно-не все нужные векторы попадают в матрицу!!! Как быть? #include "stdafx.h" #include <conio.h> //-------------------------- //Функция, ищущая одинаковые цифры в векторах int estOno (int * a,int h) {int k=0; {for (int g=0;g<h-1;g++) for (int t=1;t<h;t++) {if ((a[g]==a[t])&&(t!=g)) return 1; } k=k+1;} return 0; } //---------------------------- void RecFunc(int ib, int n, int V[], int m, int Vrez[],int & qqq, int MATR[][10]) { if(ib < m) { for(int j = 0; j < n; j++) { Vrez[ib] = V[j]; if(ib == m -1) if (estOno(Vrez,m)==0) { for(int k = 0; k < m; k++) { //------------------------- MATR[qqq][k]=Vrez[k]; } qqq=qqq+1; } RecFunc(ib + 1, n, V, m, Vrez,qqq,MATR); } } } //-------------------------- int V[10],VRez[10],DATA[10],n,MATR[10][10],qqq; int _tmain(int argc, _TCHAR* argv[]) { int m,n; //ВВОД данных-------------------------- printf("Vvedite n : "); scanf("%d", &n); for (int i = 0; i < n ; i++) { printf("Vvedite %d-ielement: ", i+1); scanf("%d", &DATA[i]); } printf("Vvedite m : "); scanf("%d", & m); for(int k = 0; k < m; k++) { VRez[k] = DATA[0]; } RecFunc(0, n, DATA, m, VRez,qqq,MATR); //Вывод данных--------------------------------- for (int i=0;i<qqq;i++) for (int f=0;f<m;f++) {printf("m %d ",MATR[i][f]); if (f==m-1) printf("\n"); } //printf("qqq==%d",qqq); //---------------------------------------------- getch(); return 0; } |