Элемент матрицы называется локальным минимумом, если он строго меньше всех имеющихся у него соседей.
- подсчитать количество локальных минимумов заданной матрицы размером 10 на 10.
- найти сумму модулей элементов, расположенных выше главной диагонали.
Код программы:
//--------------------------------------------------------------------------- #include<iostream.h> #include<conio.h> #include<math.h> #include<windows.h> #include<iomanip.h> #include<vcl.h> #pragma hdrstop #pragma argsused //--------------------------------------------------------------------------- char *rus(const char *text); int main(int argc, char* argv[]) { randomize(); int n=10,i,j,cnt=0,s1=0; cout<<rus("Введите размерность массива:")<<endl; cout<<rus("Введите количество строк и столбцов: n=")<<n; int **a=new int*[n]; for(i=0;i<n;i++)a[i]=new int[n]; //--------------------------------------------------------------------------- cout<<rus("\nВведите элементы массива:\n\n"); for(i=0;i<n;i++) { for(j=0;j<n;j++) { a[i][j]=-2+random(10); cout<<setw(5)<<a[i][j]; } cout<<endl; } //--------------------------------------------------------------------------- for(i=1;i<n-1;i++) { for(j=1;j<n-1;j++) if(a[i][j]<a[i][j-1]) if(a[i][j]<a[i-1][j]) if(a[i][j]<a[i][j+1]) if(a[i][j]<a[i+1][j]) cnt++; } cout<<rus("\nКоличество локальных минимумов: ")<<cnt; //--------------------------------------------------------------------------- for(i=0;i<n;i++) { for(j=0;j<n;j++) //сумма элементов { //расположенных выше if(j>i) //главной диагонали { //матрицы s1+=fabs(a[i][j]); } } } cout<<rus("\nСумма модулей элементов расположенных выше главной диагонали матрицы: "); cout<<s1; getch(); return 0; } //--------------------------------------------------------------------------- char bufrus[256]; char *rus(const char *text) { CharToOem(text, bufrus); return bufrus; } //---------------------------------------------------------------------------
Результат работы программы: