Нахождение суммы векторов - 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.

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

Объяснение:

  1. uses crt; - Подключение модуля для работы с консолью.
  2. const n=3; - Определение размера вектора (в данном случае 3).
  3. type vek=array[1..n] of integer; - Определение типа данных для вектора (в данном случае массив целых чисел длиной n).
  4. var a:array[1..10] of vek; - Объявление массива из 10 векторов размером n.
  5. b:vek; - Объявление вектора суммы.
  6. m,i,j:byte; - Объявление переменных для цикла.
  7. begin - Начало выполнения программы.
  8. clrscr; - Очистка экрана.
  9. repeat - Начало цикла.
  10. write('Введите количество векторов от 2 до 10 m='); - Запрос количества векторов для обработки.
  11. readln(m); - Чтение значения переменной m.
  12. until m in [2..10]; - Проверка, что введенное значение m находится в диапазоне от 2 до 10.
  13. randomize; - Инициализация генератора случайных чисел.
  14. for i:=1 to m do - Начало цикла по векторам.
  15. begin - Начало блока кода для обработки одного вектора.
  16. writeln('Вектор',i); - Вывод названия вектора.
  17. for j:=1 to n do - Начало цикла по элементам вектора.
  18. begin - Начало блока кода для обработки одного элемента вектора.
  19. a[i][j]:=-5+random(11); - Генерация случайного числа от -5 до 6 для элемента вектора.
  20. write(a[i][j]:4); - Вывод значения элемента вектора.
  21. end; - Конец блока кода для обработки одного элемента вектора.
  22. writeln; - Переход на новую строку.
  23. end; - Конец блока кода для обработки одного вектора.
  24. for j:=1 to n do - Начало цикла по элементам вектора суммы.
  25. begin - Начало блока кода для обработки одного элемента вектора суммы.
  26. b[j]:=0; - Инициализация элемента вектора суммы нулем.
  27. for i:=1 to n do - Начало цикла по элементам вектора суммы.
  28. b[j]:=b[j]+a[i][j]; - Добавление элемента вектора суммы суммой соответствующих элементов векторов.
  29. end; - Конец блока кода для обработки одного элемента вектора суммы.
  30. writeln('Вектор суммы'); - Вывод названия вектора суммы.
  31. for i:=1 to n do - Начало цикла по элементам вектора суммы.
  32. write(b[i]:4); - Вывод значения элемента вектора суммы.
  33. readln - Ожидание ввода данных.
  34. end. - Конец программы.

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


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

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

5   голосов , оценка 3.6 из 5
Похожие ответы