Заменить все отрицательные элементы целочисленного массива размера 10 назначение максимального.
Формализация переменных:
Исходные данные:
N-количество элементов массива, константа равная 10
A-одномерный массив целого типа
A[i]- i-тый элемент массива A, где i=1..N
Результирующие данные:
A-одномерный массив целого типа
A[i]- i-тый элемент массива A, где i=1..N
Промежуточные данные:
Max - значение максимального элемента массива, простая переменная, целого типа.
Алгоритм:
1. Ввод массива
2. Нахождение значения максимального элемента массива. Первоначальное значение максимального элемента равно значению первого элемента массива. Цикл рассматривается со второго элемента массива. Если элемент массива больше чем максимальное значение элемента массива тогда максимальным значением становиться значение этого элемента
3. Замена отрицательных элементов значением максимального. Если элемент массива меньше нуля тогда его значение приравнять значению максимального элемента.
4. Вывод массива
Задача
Program zad_19;
uses crt;
const
n=10;
var
i, max:integer;
A:array [1..10] of integer;
Begin
clrscr; writeln('Задача 19: Заменить все отрицательные элементы ');
writeln('целочисленного массива размера 10 назначение максимального');
Writeln('*******************************************************************');
Writeln('Введите данные целочисленного массива ');
for i:=1 to n do begin
write(i,' элемент массива ');
readln(A[i]);
end;
{1 Этап: Найти максимальный элемент массива}
max:=a[1]; {Будем считать. что это первый элемент массива максимальный}
for i:=2 to n do if a[i]>=max then max:=a[i]; {Если следующий элемент массива больше тогда максимальное становиться равным тому значению массива}
{2 этап: Замена всех отрицательных элементов значением максимального}
for i:=1 to n do if a[i]<0 then a[i]:=max;
{Вывод результирующих данных}
Writeln('*******************************************************************');
writeln('Максимальное число данного массива равно ',max);
writeln('Массив после замены отрицательных элементов значением максимального равен');
for i:=1 to n do writeln(i,' элемент ', A[i]); readln;
end. |