С использованием подпрограмм ввести два вектора размерности по 5 компонентов в каждой, целочисленного типа и вывода их - Turbo Pascal

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

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

С использованием подпрограмм ввести два вектора размерности по 5 компонентов в каждой, целочисленного типа и вывода их. Образовать из них 3 вектор. Отсортировать по убыванию Используя метод пузырька. Вывести отсортированный третий вектор

Решение задачи: «С использованием подпрограмм ввести два вектора размерности по 5 компонентов в каждой, целочисленного типа и вывода их»

textual
Листинг программы
uses crt;
const n=5;
type mas=array[1..2*n] of integer;
procedure vvod(var a:mas;c:char);
var i:byte;
begin
writeln('Введите ',n,' элементов массива(целые числа) ',c);
for i:=1 to n do
 begin
  write('el[',i,']=');
  readln(a[i]);
 end;
end;
procedure vyvod(a:mas;k:byte;s:string);
var i:byte;
begin
writeln(s);
for i:=1 to k do
write(a[i],' ');
writeln;
end;
procedure new_mas(a,b:mas;var c:mas);
var i:byte;
begin
for i:=1 to 2*n do
if i<=n then c[i]:=a[i]
else c[i]:=b[i-n];
end;
procedure sort(var a:mas);
var i,j:byte;
    k:integer;
begin
for i:=1 to 2*n-1 do
for j:=1 to 2*n-i do
if a[j]<a[j+1] then
 begin
  k:=a[j];
  a[j]:=a[j+1];
  a[j+1]:=k;
 end;
end;
var a,b,c:mas;
begin
clrscr;
vvod(a,'A');
vvod(b,'B');
clrscr;
vyvod(a,n,'Исходный массив А');
vyvod(b,n,'Исходный массив B');
new_mas(a,b,c);
vyvod(c,2*n,'Объединенный массив С');
sort(c);
vyvod(c,2*n,'Отсортированный массив С');
readln
end.

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

  1. В начале кода объявляются константы и типы данных, включая массив mas размером 2*n.
  2. Функция vvod используется для ввода элементов массива a и принимает два аргумента: ссылку на массив a и символ c.
  3. Функция vvod использует цикл for для итерации по индексам от 1 до n.
  4. В каждой итерации цикла for выводится сообщение с просьбой ввести элемент массива, а затем используется функция readln для чтения этого элемента и его сохранения в соответствующем элементе массива a.
  5. Функция vvod используется для вывода элементов массива a и принимает три аргумента: ссылку на массив a, индекс k и строку s.
  6. Функция vvod использует цикл for для итерации по индексам от 1 до k.
  7. В каждой итерации цикла for выводится строка s, а затем используется функция write для вывода соответствующего элемента массива a.
  8. Функция new_mas используется для создания нового массива c путем объединения элементов массивов a и b.
  9. Функция new_mas использует цикл for для итерации по индексам от 1 до 2*n.
  10. В каждой итерации цикла for проверяется, является ли индекс меньше или равным n.
  11. Если индекс меньше или равен n, соответствующий элемент массива c устанавливается равным соответствующему элементу массива a.
  12. В противном случае, соответствующий элемент массива c устанавливается равным соответствующему элементу массива b с индексом, уменьшенным на n.
  13. Функция sort используется для сортировки элементов массива a.
  14. Функция sort использует два вложенных цикла for для итерации по элементам массива a.
  15. В каждой итерации внутреннего цикла for проверяется, является ли текущий элемент меньше следующего элемента.
  16. Если текущий элемент меньше следующего элемента, выполняется последовательность действий для обмена элементов.
  17. Обмен элементов включает присваивание переменной k значения текущего элемента, присвоение текущего элемента значению следующего элемента и присвоение переменной k значения следующего элемента.
  18. В конце кода выполняется ввод-вывод данных, включая ввод исходных массивов a и b, вывод исходных массивов a и b, создание объединенного массива c и сортировку объединенного массива c.
  19. Для ввода и вывода данных используется функция readln и цикл for, соответственно.
  20. В конце кода выполняется операция readln, чтобы дождаться ввода пользователя перед завершением программы.

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


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

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

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