Для заданной матрицы размером 8 на 8 найти:
- такие k, что k-я строка матрицы совпадает с k-м столбцом;
- сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент.
Код программы:
//--------------------------------------------------------------------------- #include<iostream.h> #include<conio.h> #include<windows.h> #include<stdlib.h> #include<iomanip.h> #include<vcl.h> #pragma hdrstop #pragma argsused //--------------------------------------------------------------------------- char *rus(const char *text); int main(int argc, char* argv[]) { int n,m,i,j; //объявление переменных n=8; cout<<rus("Размерность массива 8x8:"); randomize(); long *sum=new long[n]; float **a=new float*[n]; //объявление двумерного for(i=0;i<n;i++)a[i]=new float [n]; //массива a cout<<rus("\nВведите элементы массива:")<<endl<<endl; for(i=0;i<n;i++) for(j=0;j<n;j++)a[i][j]=-5+random(20);//случайное заполнение матрицы a for(i=0;i<n;i++) { for(j=0;j<n;j++) cout<<setw(4)<<a[i][j]; cout<<endl; } cout<<endl<<endl; for(i=0;i<n;i++) //поиск строк { //которые совпадают for(j=0;j<n;j++) //с столбцом if(i==j)cout<<setw(4)<<a[i][j];//вывод } cout<<endl; for(i=0;i<n;i++) //поиск в строке { // отрицательных for(j=0;j<n;j++) // элементов if(a[i][j]<0) { sum[i]=0; //если есть отриц элементы for(j=0;j<n;j++) sum[i]+=a[i][j]; //суммируем элементы строки } } cout<<rus("\nСумма элементов в тех строках, которые содержат хотя бы один отрицательный элемент:\n")<<endl; for(i=0;i<n;i++) { for(j=0;j<n;j++) cout<<setw(4)<<a[i][j]; cout<<" | "<<sum[i]<<endl; //вывод } getch(); return 0; } //--------------------------------------------------------------------------- char bufrus[256]; char *rus(const char *text) { CharToOem(text, bufrus); return bufrus; } //---------------------------------------------------------------------------
Результат работы программы: