Сумму каждой строки матрицы записать в отдельный динамический массив (указатели) - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Я ввожу динамический двумерный массив через указатели. Потом мне нужно сумму каждой строки записать в отдельный динамический массив. У меня считает только последнюю строчку, как суммы записывать в разных адресах? Сумма у меня в *nw считается.
Листинг программы
  1. #include <stdio.h>
  2. #include <malloc.h>
  3. #include <locale.h>
  4. int main()
  5. { setlocale (LC_ALL, "Russian");
  6. int n, m, i, j, *mp, *nw, ;
  7. scanf("%d%d", &n, &m);
  8. mp = (int*)calloc(n*m,sizeof(int));
  9. for(i = 0; i < n; i++){
  10. nw = (int*)calloc(i,sizeof(int));
  11. for(j = 0; j < m; j++){
  12. scanf("%d", mp+i*m+j);
  13. *nw = *(mp+i*m+j) + *nw;
  14. }
  15. }
  16. for(i = 0; i < n; i++){
  17. for(j = 0; j < m; j++)
  18. printf("%d ", *(mp+i*m+j));
  19. printf("%d \n", *nw);
  20. }
  21. }

Решение задачи: «Сумму каждой строки матрицы записать в отдельный динамический массив (указатели)»

textual
Листинг программы
  1. //...
  2. nw = (int*) calloc(n, sizeof(int));
  3. for (i = 0; i < n; i++) {
  4.     for (j = 0; j < m; j++) {
  5.         scanf("%d", mp + i * m + j);
  6.         *(nw+i) += *(mp + i * m + j);
  7.     }
  8. }
  9. for (i = 0; i < n; i++) {
  10.     for (j = 0; j < m; j++)
  11.         printf("%d ", *(mp + i * m + j));
  12.     printf("(sum = %d)\n", *(nw+i));
  13. }
  14. //...

Объяснение кода листинга программы

В этом коде используется язык программирования C. Код решает задачу суммирования каждой строки матрицы и сохранения результатов в отдельный динамический массив (указатели). Список действий в коде:

  1. Выделяется память под динамический массив nw для хранения суммы каждой строки матрицы с помощью функции calloc.
  2. В цикле for происходит чтение значений из матрицы mp и суммирование в соответствующих позициях массива nw.
  3. В цикле for происходит вывод значений матрицы mp и соответствующих сумм из массива nw. Переменные в коде:
  4. n - количество строк в матрице.
  5. m - количество столбцов в матрице.
  6. mp - адрес начала матрицы.
  7. nw - адрес начала динамического массива для хранения сумм строк.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.222 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы