Найти наибольший по модулю элемент массива и поменять его местами с первым - Pascal
Формулировка задачи:
Помогите !!! Составить программу,использую процедуру.
В массивах X(60) и Y(50) найти наибольшее по модулю элементов массива и поменять их местами с первыми элементами массивов.
Решение задачи: «Найти наибольший по модулю элемент массива и поменять его местами с первым»
textual
Листинг программы
const n = 60; nn = 50; type mas = array [1..n] of integer; procedure Proc(var a: mas; m: integer); var i, max, x: integer; begin max := 1; for i := 2 to m do begin if abs(a[i]) > abs(a[max]) then max := i; end; x := a[1]; a[1] := a[max]; a[max] := x; end; procedure Print(a: mas; m: integer); var i: integer; begin for i := 1 to m do write(a[i], ' '); writeln; end; procedure Gen(var a: mas; m: integer); var i: integer; begin for i := 1 to m do a[i] := random(50) - 25; end; var x, y: mas; i: integer; begin randomize; Gen(x, n); writeln('X:'); Print(x, n); Gen(y, nn); writeln('Y:'); Print(y, nn); Proc(x, n); Proc(y, nn); writeln('new X:'); Print(x, n); writeln('new Y:'); Print(y, nn); end.
Объяснение кода листинга программы
- Объявлены константы n = 60 и nn = 50.
- Объявлен тип массива mas = array [1..n] of integer.
- В процедуре Proc(var a: mas; m: integer) объявлены следующие переменные:
- i: целочисленный цикл от 2 до m, используется для перебора элементов массива a.
- max: целочисленная переменная, инициализирована значением 1, используется для хранения индекса наибольшего элемента массива a по модулю.
- x: целочисленная переменная, инициализирована значением a[1], используется для хранения значения первого элемента массива a.
- В цикле i от 2 до m происходит сравнение абсолютных значений элементов массива a. Если abs(a[i]) больше abs(a[max]), то max обновляется значением i.
- После цикла i, значение переменной x обновляется значением a[1].
- Значение a[1] заменяется значением a[max].
- Значение a[max] заменяется значением x.
- В процедуре Print(a: mas; m: integer) объявлена переменная i: integer, используется для перебора элементов массива a.
- В процедуре Gen(var a: mas; m: integer) объявлена переменная i: integer, используется для перебора элементов массива a.
- В основной части программы:
- Генерируются случайные значения для массива x и выводятся на экран.
- Генерируются случайные значения для массива y и выводятся на экран.
- Производится обмен наибольшего элемента массива x и первого элемента массива a.
- Производится обмен наибольшего элемента массива y и первого элемента массива a.
- Выводятся на экран новые значения массива x и y.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д