Найти минимальную сумму из сумм элементов диагоналей матрицы, параллельных побочной - C (СИ)
Формулировка задачи:
Сумму элементов самой побочной диагонали я нашла, а вот как найти ниже и выше..
#include <stdio.h> #include <conio.h> #include <math.h> void main (void) { double a[20][20],c, min; int n, i, j,s=0; printf("Zadaite razmer massiva\n"); scanf ("%d",&n); printf ("Vvedite massiv\n"); for (i=0;i<n;i++) for (j=0;j<n;j++) scanf ("%lf",&a[i][j]); for (i=0;i<n;i++) c+=a[i][n-1-i]; min=c; printf("%4.1f\n",c); getch(); }
Решение задачи: «Найти минимальную сумму из сумм элементов диагоналей матрицы, параллельных побочной»
textual
Листинг программы
#include <stdio.h> int main () { double a[20][20]; double mins, sumgiag; int n, i, k, j; printf("Zadaite razmer massiva\n"); scanf ("%d",&n); printf ("Vvedite massiv\n"); for (i=0;i<n;i++) { for (j=0;j<n;j++) scanf ("%lf",&a[i][j]); } sumgiag = 0; mins = a[0][0]; --n; for(j = 0; j <= 1; ++j) for(k = n*j+j; k <= (j + 1)*n; ++k) { printf("Giagonal %2d: ", k+1); // можно убрать for(i = (n*j + (1-j)*k); i >= j*(k-n); --i) { printf("%3.1f ", a[i][k-i]); // можно убрать если не нужен вывод элементов диагоналей sumgiag += a[i][k-i]; } printf("\n"); if ( mins > sumgiag) mins = sumgiag; sumgiag = 0; } printf("MinSumDiag = %3.1f\n",mins); return 0; }
Объяснение кода листинга программы
В этом коде выполняется следующая последовательность действий:
- Ввод размера матрицы (n) и заполнение матрицы a[i][j] с помощью функции scanf.
- Инициализация переменных sumgiag и mins значением первого элемента главной диагонали матрицы a[0][0].
- Уменьшение значения n на единицу.
- Два вложенных цикла, которые проходят по элементам всех побочных диагоналей матрицы, начиная с главной.
- Для каждого элемента диагонали выводится его значение и сумма элементов диагонали (sumgiag) добавляется к общему значению mins.
- Если текущее значение mins больше, чем сумма элементов диагонали, то обновляется значение mins.
- После завершения второго вложенного цикла значение sumgiag сбрасывается в ноль.
- Выводится минимальная сумма элементов диагоналей матрицы под названием MinSumDiag.
- Программа возвращает 0, что означает успешное завершение работы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д