Мне нужно сделать код, который вычисляет среднее значение внутри массива.Вычисление среднего внутри 2D-массива в C
Пользователь вводит размер и 2D-массив. для каждого номера в этом двумерном массиве программа должна вычислять среднее число чисел выше и слева от них. после этого должен быть напечатан новый массив, в котором средние значения будут сохранены вместо числа, для которого рассчитывалось среднее значение.
для ПРИМЕР- для размерно 3 и array-
1 2 3
4 5 6
7 8 9
результат будет:
1 1.5 2
2.5 3 3.667
4 4.5 5
это то, что я пытался до сих пор
int main()
{
int size, i = 0,j = 0,r=0,c=0;
double array[N][N] = {{0},{0}},sum[N][N]= {{0},{0}};
scanf("%d",&size);
for (i=0; i<size ;i++)
{
for (j=0; j<size ;j++)
{scanf("%lf",&array[i][j]);
}}
for (i=0;i<size;i++)
{ for(j=0;j<size;j++)
{
for(r = 0;r<i;r++)
{for (c = 0;c<j;c++)
sum[r][c] += array[i][j];
}
}
sum[r][c] =(sum[r][c])/((i+1)+(j+1));
}
for (r=0; r<size; r++){
for (c=0; c<size; c++)
printf("%.2f ",sum[r][c]);
printf("\n");
}
return 0;
}
Добро пожаловать на переполнение стека! Похоже, вам, возможно, потребуется научиться использовать отладчик для выполнения вашего кода. С хорошим отладчиком вы можете выполнить свою программу по очереди и посмотреть, где она отклоняется от ожидаемого. Это важный инструмент, если вы собираетесь заниматься программированием. Дальнейшее чтение: [Как отлаживать небольшие программы] (https://ericlippert.com/2014/03/05/how-to-debug-small-programs/). –
Кроме того, '3.667' может быть неправильным в этом примере. Это происходит потому, что '(1 + 2 + 3 + 4 + 5 + 6)/6'' '3.5'. Если я не ошибся. – RoadRunner