Определить сумму элементов каждого столбца левой половины матрицы - C (СИ)
Формулировка задачи:
Вот задача:
Матрица A[N,M] (М кратно 4) разделена по вертикали на две половины. Определить сумму элементов каждого столбца левой половины и сумму элементов каждого четного столбца правой половины матрицы А.
Помогите плиз
const n=5; m=8; var mas:array[1..n,1..m] of integer; sum:integer; i,j:word; begin Randomize; writeln('Исходная матрица'); for i:=1 to n do for j:=1 to m do begin mas[i,j]:=random(50)+1; write(mas[i,j]:3); if j=m then writeln; end; writeln('Суммы столбцов левой половины'); for j:=1 to m div 2 do begin sum:=0; for i:=1 to n do sum:=sum+mas[i,j]; writeln('Сумма ',j,' столбца= ',sum); end; writeln('Суммы четных столбцов правой половины'); for j:=m div 2+1 to m do begin if j mod 2 = 0 then begin sum:=0; for i:=1 to n do sum:=sum+mas[i,j]; writeln('Сумма ',j,' столбца= ',sum); end; end; readln; end.
Решение задачи: «Определить сумму элементов каждого столбца левой половины матрицы»
textual
Листинг программы
#include <stdio.h> #include <locale.h> #include <time.h> #include <stdlib.h> int main(){ setlocale(LC_ALL, "rus"); srand(time(0)); int **array_a; int i, j, k; int sum; int line; int column; printf("Введите размер матрицы: "); scanf("%d %d", &line, &column); while(column % 4 != 0){ printf("Введите количество столбцов кратное 4: "); scanf("%d", &column); } array_a = (int**)malloc(sizeof(int)*line); for(i = 0; i < line; i++) array_a[i] = (int*)malloc(sizeof(int)*column); for(i = 0; i < line; i++){ printf("\n"); for(j = 0; j < column; j++){ array_a[i][j] = rand()%10; printf("%d ", array_a[i][j]); } } printf("\n"); for(i = 0; i < column/2; i++){ sum = 0; for(j = 0; j < line; j++){ sum += array_a[j][i]; } printf("Столбец: %d Сумма: %d\n", i, sum); } for(i = column/2; i < column; i+=2){ sum = 0; for(j = 0; j < line; j++){ sum += array_a[j][i]; } printf("Столбец: %d Сумма: %d\n", i, sum); } return 0; }
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы
- Устанавливается русская локальная настройка
- Инициализируется генератор случайных чисел
- Создается двумерный массив и выделяется память под него
- Массив заполняется случайными числами от 0 до 9
- Выводится заполненный массив
- Создается переменная для хранения суммы элементов столбца
- Выполняется цикл по нечетным столбцам (счет начинается с 0)
- В каждой итерации цикла суммируются элементы строки
- Выводится сумма и номер столбца
- Выполняется цикл по четным столбцам (счет начинается с 1)
- В каждой итерации цикла суммируются элементы строки
- Выводится сумма и номер столбца
- Программа возвращает 0, заканчивая свое выполнение
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д