Найти наибольший по модулю элемент массива и поменять его местами с первым - 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.

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

  1. Объявлены константы n = 60 и nn = 50.
  2. Объявлен тип массива mas = array [1..n] of integer.
  3. В процедуре Proc(var a: mas; m: integer) объявлены следующие переменные:
    • i: целочисленный цикл от 2 до m, используется для перебора элементов массива a.
    • max: целочисленная переменная, инициализирована значением 1, используется для хранения индекса наибольшего элемента массива a по модулю.
    • x: целочисленная переменная, инициализирована значением a[1], используется для хранения значения первого элемента массива a.
  4. В цикле i от 2 до m происходит сравнение абсолютных значений элементов массива a. Если abs(a[i]) больше abs(a[max]), то max обновляется значением i.
  5. После цикла i, значение переменной x обновляется значением a[1].
  6. Значение a[1] заменяется значением a[max].
  7. Значение a[max] заменяется значением x.
  8. В процедуре Print(a: mas; m: integer) объявлена переменная i: integer, используется для перебора элементов массива a.
  9. В процедуре Gen(var a: mas; m: integer) объявлена переменная i: integer, используется для перебора элементов массива a.
  10. В основной части программы:
    • Генерируются случайные значения для массива x и выводятся на экран.
    • Генерируются случайные значения для массива y и выводятся на экран.
    • Производится обмен наибольшего элемента массива x и первого элемента массива a.
    • Производится обмен наибольшего элемента массива y и первого элемента массива a.
    • Выводятся на экран новые значения массива x и y.

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


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

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

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