Сформировать новый массив, состоящий из десяти элементов с наибольшими значениями исходных массивов - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д