Нахождение суммы векторов - Free Pascal
Формулировка задачи:
Даны m векторов x1=(x11x21 x31) ,..., x1=(x1mx2m x3m) . Написать программу нахождения суммы этих векторов
Решение задачи: «Нахождение суммы векторов»
textual
Листинг программы
uses crt; const n=3; type vek=array[1..n] of integer; var a:array[1..10] of vek; b:vek; m,i,j:byte; begin clrscr; repeat write('Введите количество векторов от 2 до 10 m='); readln(m); until m in [2..10]; randomize; for i:=1 to m do begin writeln('Вектор',i); for j:=1 to n do begin a[i][j]:=-5+random(11); write(a[i][j]:4); end; writeln; end; for j:=1 to n do begin b[j]:=0; for i:=1 to n do b[j]:=b[j]+a[i][j]; end; writeln('Вектор суммы'); for i:=1 to n do write(b[i]:4); readln end.
Объяснение кода листинга программы
Объяснение:
- uses crt; - Подключение модуля для работы с консолью.
- const n=3; - Определение размера вектора (в данном случае 3).
- type vek=array[1..n] of integer; - Определение типа данных для вектора (в данном случае массив целых чисел длиной n).
- var a:array[1..10] of vek; - Объявление массива из 10 векторов размером n.
- b:vek; - Объявление вектора суммы.
- m,i,j:byte; - Объявление переменных для цикла.
- begin - Начало выполнения программы.
- clrscr; - Очистка экрана.
- repeat - Начало цикла.
- write('Введите количество векторов от 2 до 10 m='); - Запрос количества векторов для обработки.
- readln(m); - Чтение значения переменной m.
- until m in [2..10]; - Проверка, что введенное значение m находится в диапазоне от 2 до 10.
- randomize; - Инициализация генератора случайных чисел.
- for i:=1 to m do - Начало цикла по векторам.
- begin - Начало блока кода для обработки одного вектора.
- writeln('Вектор',i); - Вывод названия вектора.
- for j:=1 to n do - Начало цикла по элементам вектора.
- begin - Начало блока кода для обработки одного элемента вектора.
- a[i][j]:=-5+random(11); - Генерация случайного числа от -5 до 6 для элемента вектора.
- write(a[i][j]:4); - Вывод значения элемента вектора.
- end; - Конец блока кода для обработки одного элемента вектора.
- writeln; - Переход на новую строку.
- end; - Конец блока кода для обработки одного вектора.
- for j:=1 to n do - Начало цикла по элементам вектора суммы.
- begin - Начало блока кода для обработки одного элемента вектора суммы.
- b[j]:=0; - Инициализация элемента вектора суммы нулем.
- for i:=1 to n do - Начало цикла по элементам вектора суммы.
- b[j]:=b[j]+a[i][j]; - Добавление элемента вектора суммы суммой соответствующих элементов векторов.
- end; - Конец блока кода для обработки одного элемента вектора суммы.
- writeln('Вектор суммы'); - Вывод названия вектора суммы.
- for i:=1 to n do - Начало цикла по элементам вектора суммы.
- write(b[i]:4); - Вывод значения элемента вектора суммы.
- readln - Ожидание ввода данных.
- end. - Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д