Сформировать новый массив, состоящий из десяти элементов с наибольшими значениями исходных массивов - Turbo Pascal

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

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

Произвольно заданы три одномерных массива. Сформировать новый массив, состоящий из десяти элементов с наибольшими значениями исходных массивов. Помогите пожалуйста! Нужно написать программу с while и repeat!!!(отдельные)

Решение задачи: «Сформировать новый массив, состоящий из десяти элементов с наибольшими значениями исходных массивов»

textual
Листинг программы
const
  n = 100;
 
type
  vector = array [1..n] of integer;
 
var
  a, b, c, d: vector;  
  k, m, i: integer;
  q, mx: integer;
 
function max(x: vector; m: integer): integer;
var
  i: integer;
  mx: integer;
begin
  mx := x[1];
  for i := 2 to n do
    if x[i] > mx then
      mx := x[i];
  max := mx;    
end;
 
procedure CreateVector(var x: vector; m: integer);
var
  i: integer;
  mx: integer;
begin
  for i := 1 to m do
    x[i] := -m div 2 + random(m);
end;
 
begin
  randomize;
  write('Размерность вектора A: ');
  readln(m);
  CreateVector(a, m);
  writeln('Vector A:');
  for i := 1 to m do
    write(a[i]:4);
  writeln;      
  writeln('Максимальные элементы: ');
  q := max(a, m);
  k := 0;
  for i := 1 to m do
  begin
    if a[i] = q then
    begin
      write(a[i]:4);
      inc(k);
      d[k] := a[i];
    end;
  end;
  writeln;  
  
  write('Размерность вектора B: ');
  readln(m);
  CreateVector(b, m);
  writeln('Vector B:');
  for i := 1 to m do
    write(b[i]:4);
  writeln;      
  writeln('Максимальные элементы: ');
  q := max(b, m);
  for i := 1 to m do
  begin
    if b[i] = q then
    begin
      write(b[i]:4);
      inc(k);
      d[k] := b[i];
    end;
  end;
  writeln;  
  
  write('Размерность вектора C: ');
  readln(m);
  CreateVector(c, m);
  writeln('Vector C:');
  for i := 1 to m do
    write(c[i]:4);
  writeln;      
  writeln('Максимальные элементы: ');
  q := max(c, m);
  for i := 1 to m do
  begin
    if c[i] = q then
    begin
      write(c[i]:4);
      inc(k);
      d[k] := c[i];
    end;
  end;
  writeln;  
  
  writeln('Vector D:');  
  for i := 1 to k do
    write(d[i]:4);
  
end.

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

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