Найти элементы матрицы, которые превышают все элементы, лежащие ниже главной диагонали - C (СИ) (75314)
Формулировка задачи:
Дана матрица. Среди элементов матрицы лежащих выше главной диагонали найти те, которые превышают все элементы лежащие ниже главной диагонали. Вычислить их сумму.
можете проверить правильно ли?
#include <stdio.h> #include <math.h> #include <conio.h> #include <stdlib.h> #define N 150 #define M 180 int main() { int i,j,s,t,k=0,p,r; int **a, *sr, *c,under_max=0,su=0; puts("Wwedite kol-wo stolbzow"); scanf("%d",&s); if(s>N)s=N; puts("Wwedite kol-wo strok"); scanf("%d",&t); if(t>M)t=M; a=(int **)malloc(sizeof(int *)*s); for (i=0;i<s;i++) {a[i]=(int *)malloc(sizeof(int)*t); if (a[i]==NULL) { puts("ne sozdan dinamischeskij massiw"); return 0;}} sr=(int *)malloc(t*sizeof(int)); puts("Wwedite matrizu"); for(i=0;i<s;i++){ for(j=0;j<t;j++){scanf("%d",&a[i][j]);}} for(i=0;i<s;i++){ for(j=0;j<t;j++) if (i>j && a[i][j]>under_max) under_max=a[i][j]; } for (i=0; i<s; i++) for (j=0; j<t; j++) if (i<j && a[i][j]>under_max) { printf("%d ",a[i][j]); sr[i]=a[i][j]; su+=sr[i]; } printf("\nSumma = %d",su); free(a); free(a); free(sr); system ("pause"); return 0; }
Решение задачи: «Найти элементы матрицы, которые превышают все элементы, лежащие ниже главной диагонали»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <memory.h> #define N 10 int main(int argc, char* argv[]) { int** A = new int*[N]; memset((void*)A, 0x00, sizeof(int*) * N); for (int i = 0; i < N; i++) { A[i] = new int[N]; for (int j = 0; j < N; j++) { A[i][j] = rand() % N + 1; printf("%d ",A[i][j]); } printf("\n"); } printf("\n"); int max_i = 1, max_j = 0; for (int i = 1; i < N; i++) for (int j = 0; j < i; j++) if (A[i][j] > A[max_i][max_j]) { max_i = i; max_j = j; } for (int i = 0; i < N; i++) for (int j = i; j < N; j++) if (A[i][j] >= A[max_i][max_j]) printf("A[%d][%d] = %d\n",i,j,A[i][j]); _getch(); return 0; }
Объяснение кода листинга программы
- Создается двумерный массив (матрица) случайных целых чисел.
- Находится максимальное значение в матрице.
- В цикле обходятся все элементы матрицы. Если значение текущего элемента больше максимального, то он выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д