Напишите программу, преобразует массив по следующему правилу (через x' обозначены элементы массива x после пре - Pascal ABC

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

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

преобразует массив по следующему правилу (через x' обозначены элементы массива x после преобразования): x'[k]=max x[i] при 1≤i≤k, k=1..n

Решение задачи: «Напишите программу, преобразует массив по следующему правилу (через x' обозначены элементы массива x после пре»

textual
Листинг программы
uses crt;
var x:array[1..100] of real;
    n,i,k:integer;
    mx:real;
begin
write('Введите размер массива от 2 др 100 n=');
readln(n);
randomize;
writeln('Исходный массив');
for i:=1 to n do
 begin
  x[i]:=9*random;
  write(x[i]:5:2);
 end;
writeln;
writeln('Преобразованный массив');
mx:=x[1];
for k:=1 to n do
 begin
  for i:=1 to k do
  if x[i]>mx then mx:=x[i];
  x[k]:=mx;
  write(x[k]:5:2);
 end;
end.

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

  1. Программа начинается с объявления переменных: n, i, k - целые числа, и x - массив размером от 1 до 100 элементов типа real.
  2. Пользователю предлагается ввести размер массива от 2 до 100.
  3. Используется функция randomize для инициализации генератора случайных чисел.
  4. Выводится сообщение «Исходный массив».
  5. Запускается цикл for, который выполняется n раз. В каждой итерации создается новый элемент массива x[i] и присваивается ему значение 9*random, где random - случайное число, сгенерированное функцией randomize.
  6. Выводится значение каждого элемента массива x[i].
  7. Выводится сообщение «Преобразованный массив».
  8. Создается переменная mx и присваивается ей первое значение из массива x.
  9. Запускается еще один цикл for, который также выполняется n раз.
  10. В каждой итерации проверяется, какой элемент из массива x имеет наибольшее значение. Если это так, то значение этого элемента присваивается переменной mx.
  11. После завершения внутреннего цикла выводится значение переменной mx.
  12. Программа завершается.

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

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