Переписать программу с использованием динамического массива - C (СИ)
Формулировка задачи:
помогите записать эту программу с помощью динамического массива(
Пожалуйста!!
#include <stdio.h>
#define ROWS 5
#define COLS 4
int main()
{
int B[ROWS] [COLS];
int V[ROWS]={0};
size_t i,j;
for (i=0;i<ROWS;i++)
{
for (j=0;j<COLS;j++)
{
printf("B[%d][%d]=",i,j);
scanf("%d",&B[i][j]);
}
}
for (i=0;i<ROWS;i++)
for (j=0;j<COLS;j++)
V[i]+=B[i][j];
printf("\nRezultat\n");
for (i=0;i<ROWS;i++){
for (j=0;j<COLS;j++)
printf((j<COLS-1) ? "%d+":"%d=",B[i][j]);
printf("%d\n",V[i]);
}
return 0;
}Решение задачи: «Переписать программу с использованием динамического массива»
textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#define ROWS 5
#define COLS 4
int main()
{
//int B[ROWS] [COLS];
int **B = new int*[COLS];
for (int i = 0; i < ROWS; i++) B[i] = new int[ROWS];
int *V = new int [ROWS];
for (int i=0;i<ROWS;i++)
V[i] = 0;
size_t i,j;
for (i=0;i<ROWS;i++)
{
for (j=0;j<COLS;j++)
{
printf("B[%d][%d]=",i,j);
scanf("%d",&B[i][j]);
}
}
for (i=0;i<ROWS;i++)
for (j=0;j<COLS;j++)
V[i]+=B[i][j];
printf("\nRezultat\n");
for (i=0;i<ROWS;i++){
for (j=0;j<COLS;j++)
printf((j<COLS-1) ? "%d+":"%d=",B[i][j]);
printf("%d\n",V[i]);
}
getch();
getch();
}
Объяснение кода листинга программы
В этом коде используется динамический массив для хранения данных.
- Сначала объявляется двумерный массив B размером ROWS на COLS.
- Затем объявляется одномерный массив V размером ROWS.
- В цикле сначала заполняются значения массива B с помощью функции scanf.
- Затем в цикле суммируются значения массива B в массиве V.
- После этого выводятся результаты в цикле с помощью функции printf.
- В конце программы вызываются функции getch() и getch() для приостановки выполнения программы и ожидания ввода пользователя.