![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
GelarX |
![]() ![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 2 Регистрация: 18.6.2011 Город: Москва Вы: студент ![]() |
Условие звучит так:
Задана матрица целых чисел. Найти номера строк, элементы в каждой из которых одинаковы. Использовать функции. .. Вроде бы и не сложная задача.. но вот уже часа полтора ее "кручу" и ничего не выходит.. С кодом блока проверки извращался по разному - даже встраивал туда новый создаваемый массив..и даже двумерный)) Вообще мысль была такая - берется 1 число из первой строчки. Подсчитывается количество таких же чисел в этой же строке. После ищется такое же количество символов в следующей строке, проверяется на сходность. Если нет - то ищется такое же количество символов в следующей строке.. и так до последней строки.. после чего результаты записываются.. выглядеть это должно было так: если скажем в первой строке 2 числа 3, в 3, и скажем в 9 - то это запоминается путем присваивания новой переменной. После чего берется следующий символ в 1-й строке(если такой есть).. ну и так далее.. В конце выводятся все результаты проверки..ну а в блоке вывода поставить фильтр.. У меня у меня уже мозг за разум выходит (IMG:style_emoticons/default/smile.gif) И вообще мне кажется, что программа должна реализовываться несколько проще.. (IMG:style_emoticons/default/rolleyes.gif) Короче - компилятор все пишет всякую ересь.. Может у кого получится - заранее благодарен )) Код #include <conio.h> #include <iostream.h> #include <stdlib.h> #include <time.h> #include <iomanip.h> void generate_matrix(int a[10][10], int n, int m) { srand((unsigned)time(NULL)); for (int i = 0; i < n; i++) for (int j = 0; j < m; j++) a[i][j] = rand()%10; } void print_matrix(int a[10][10], int n, int m) { cout << endl; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) cout << setw(4) << a[i][j]; cout << endl << endl; } } void check(int a[10][10], int n,int m) { int i,j,z,k,p,q; for(i=0;i<n;i++) { for(q=0;q<n;q++) { for(j=0;j<m;j++) { for(z=0;z<m;z++) { if(a[i][j]==a[i][z]) { k++; } if(a[i][j]==a[q][z]) { p++; } } if(p!=k) { break; break; } } if(p==k) { cout<<j<<" "<<z; cout>>checka); } } } } void main() { clrscr(); int n,m; int k = 0; int a[10][10]; cout << " Vvedite kol-vo strok matritzi: "; cin >> n; cout << " Vvedite kolichestvo stolbcov matritzi: "; cin >> m; generate_matrix(a,n,m); print_matrix(a,n,m); cout << endl << " Nomera strok, vse elementi kotorix odinakovi: " << endl; /*for (int i = 0; i < n; i++) if (check(a,n,m) !=0) { cout << i+1 << endl; }*/ check(a,n,m); /*else cout <<"takix net.";*/ getch(); } |
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 25.5.2025, 16:36 |
Зеркало сайта Решебник.Ру - reshebnik.org.ru