Дан одномерный массив T(N). Найти в массиве минимальный элемент и сумму четных элементов. Затем заменить этой суммой все отрицательные элементы, стоящие после минимального элемента.
Тестовый пример
Ввод:
Размерность массива N=10.
Массив Т: {13; 15; 11; –100; 8; 4; –7; 6; –5; 78}
Вывод:
Минимальный элемент массива: –100.
Сумма четных элементов массива: –4.
Массив Т после преобразования: {13; 15; 11; –100; 8; 4; –4; 6; –4; 78}
Блок-схема с пошаговой детализацией
Программа на языке высокого уровня ТР7.0
PROGRAM ZADACHA1;
CONST
N1=50;
TYPE
MAS1=ARRAY[1..N1] OF INTEGER;
VAR
T:MAS1;
IMIN,MIN,S,I,N:INTEGER;
BEGIN
{ШАГ 1-2}
WRITE('ВВЕДИТЕ РАЗМЕР N=');
READ(N);
FOR I:=1 TO N DO
BEGIN
WRITE('T[',I,']= ');
READ(T[I]);
END;
{--------------------------------------------------------}
{ШАГ 2-3}
MIN:=T[1];
IMIN:=1;
FOR I:=2 TO N DO
IF T[I]<MIN THEN
BEGIN
MIN:=T[I];
IMIN:=I;
END;
WRITELN('МИНИМАЛЬНЫЙ ЭЛЕМЕНТ МАССИВА: ',MIN);
{--------------------------------------------------------}
{ШАГ 3-4}
S:=0;
FOR I:=1 TO N DO
IF T[I] mod 2=0 THEN
S:=S+T[I];
WRITELN('СУММА ЧЕТНЫХ ЭЛЕМЕНТОВ МАССИВА: ',S);
{--------------------------------------------------------}
IF IMIN<N THEN
BEGIN
{ШАГ 4-5}
FOR I:=IMIN+1 TO N DO
IF T[I]<0 THEN
T[I]:=S;
{--------------------------------------------------------}
{ШАГ 5-6}
FOR I:=1 TO N DO
WRITELN('T[',I,']=',T[I]:4);
END
{--------------------------------------------------------}
ELSE
WRITE('МИНИМАЛЬНЫЙ ЭЛЕМЕНТ ПОСЛЕДНИЙ');
READLN;
END.