Двумерный массив - C (СИ) (248626)
Формулировка задачи:
Ввести двумерный массив размером m на n. Вычислить среднее арифметическое значение элементов, кратных сумме их индексов (i+j), или вывести сообщение «Таких значений нет».
В чем ошибка??
#include<stdlib.h> #include<stdio.h> #include<math.h> int main() { const int n=5,m=5; int a[n][m],i,j,sum=0,kol=0,kr; double sr=0; for(i=0;i<n;i++) { for(j=0;j<m;j++) { a[i][j]=rand()%100; } } for(i=0;i<n;i++) { for(j=0;j<m;j++) { printf("%d",a[i][j]); } printf("\n"); } for(i=0;i<n;i++) { for(j=0;j<m;j++) { kr=i+j; if(a[i][j]%kr==0) { sum+=a[i][j]; sr=sum/n*m; } } } printf("%lf",sr); if(kol==0) printf("znacheniy net"); getch(); }
Решение задачи: «Двумерный массив»
textual
Листинг программы
for(i=1;i<=n;i++) { for(j=1;j<=m;j++) { kr=i+j; if(a[i-1][j-1]%kr==0) { sum+=a[i][j]; } } }
Объяснение кода листинга программы
В данном коде выполняется проверка двумерного массива на наличие задачного
элемента (kr=i+j;), после чего происходит проверка на делимость значения элемента a[i-1][j-1] на сумму i и j (если(a[i-1][j-1]%kr==0)). Если условие выполняется, то к переменной sum прибавляется значение элемента a[i][j].
Для лучшего понимания, список с номерами и названиями переменных:
- i, j - индексы для обхода массива
- n, m - размеры массива
- kr - временная переменная для хранения суммы i и j
- a[i-1][j-1] - текущий элемент массива, который проверяется на делимость
- sum - переменная для хранения суммы элементов массива, которые удовлетворяют условию
- a[i][j] - текущий элемент массива, который прибавляется к переменной sum, если условие выполняется Пожалуйста, обратите внимание, что код может быть не полным и зависит от контекста задачи.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д