C/C++ Построить одномерный массив сумм строк матрицы
Дана действительная матрица A размера 5 на 5. Построить одномерный массив B, состоящий из сумм элементов строк матрицы А.
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
float **A;
int n,m,i,j;
scanf("%d",&n);
scanf("%d",&m);
A = (float**) malloc(sizeof(float*)*n);
for(i=0;i<n;i++)
A[i] = (float*) malloc(sizeof(float)*m);
for(i=0;i<n;i++)
for(j=0;j<m;j++) {
scanf("%f",&(A[i][j]));
}
for(i=0;i<n;i++)
{
for( j=0;j<m;j++)
printf("%.4f ",A[i][j]);
printf("\n");
}
float B[n];
int k;
for(i=0 ,k =0;i<n;i++)
{
for( j=0;j<m;j++){
B[k]=B[k]+A[i][j];
}
k++;
}
for ( i = 0; i<n; i++)
printf("%.4f ", B[i]);
return 0;
}
Подскажите, в чем ошибка?Почему одно из значений..некорректно?
Заранее благодарю Вас за помощь.
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
float B[n];
for(i = 0; i < n; i++) {
B[i] = 0; // <--
for(j = 0; j < m; j++) {
B[i] = B[i] + A[i][j];
}
}

