Дана целочисленная прямоугольная матрица. Определить:
- количество строк, содержащих хотя бы один нулевой элемент;
- номер столбца, в которой находится самая длинная серия одинаковых элементов.
Код программы:
//--------------------------------------------------------------------------- #include<iostream.h> #include<conio.h> #include<windows.h> #include<vcl.h> #pragma hdrstop #pragma argsused //--------------------------------------------------------------------------- char *rus(const char *text);//объявление функции для распознавания русских букв int main(int argc, char* argv[]) { int n,m,i,j,cnt=0,jpos=-1,maxcnt=0,jcnt=-1;//объявление переменных cout<<rus("Введите размерность массива:")<<endl; cout<<rus("\nВведите количество строк: n=");cin>>n;//ввод кол строк cout<<rus("Введите количество столбцов: m=");cin>>m; //ввод кол столбцов int **a=new int*[n]; //объявление двумерной for(i=0;i<n;i++)a[i]=new int [m]; //матрицы а cout<<rus("\nВведите элементы массива:")<<endl<<endl; randomize(); for(i=0;i<n;i++) { for(j=0;j<m;j++) { a[i][j]=-7.5+random(11.1); //случайное заполнение и вывод матрицы cout<<setw(4)<<a[i][j]; } cout<<endl; } for(i=0;i<n;i++) //поиск { //строк for(j=0;j<m;j++) //содержащих if(a[i][j]==0) //хотя бы один 0 элемент { cnt++; //счетчик break; } } cout<<rus("\nКоличество строк содержащих хотя бы один 0 элемент: ")<<cnt<<endl;//вывод for(j=0;j<m;j++) //поиск { cnt=0; //номера for(i=0;i<n-1;i++) { //столбца if(a[i][j]==a[i+1][j]) cnt++; //в котором else { //находится if(cnt>maxcnt) { //самая maxcnt=cnt; jpos=j; //длинная jcnt++; } //серия cnt=0; } //одинаковых } if(cnt>maxcnt) //элементов { maxcnt=cnt; jpos=j; jcnt++; //счетчик } } cout<<rus("Номер столбца, в котором находится самая длинная серия одинаковых элементов: "); if(jcnt>=0) cout<<(jpos+1); //вывод номера столбца else cout<<rus("\nСерии одинаковых элементов нет!")<<endl; getch(); return 0; } //--------------------------------------------------------------------------- char bufrus[256]; char *rus(const char *text) { CharToOem(text, bufrus); return bufrus; } //---------------------------------------------------------------------------
Результат работы программы: