PascalABC.NET Массивы Дан массив К(20). Сформировать новый массив, приняв в качестве первых его элементов все отрицательные элементы массива К, также сохранив порядок их следования.
{Напишите программу, которая находит минимальное и максимальное среди чётных положительных чисел, записанных в файле, и выводит результат в другой файл.} var f:text; min, max,a :integer; find:boolean;{есть/нет числа удовлетворяющие условию} begin assign(f,'dan.txt'); reset(f); min:=0; max:=0; find:=false; while not eof(f) do begin read(f,a); if not find and (a>0) and (a mod 2=0) then begin min:=a; find:=true; end else if find and (a>0) and (a mod 2=0) and (min>a) then min:=a;
if (a>0) and (a mod 2=0) and (max<a) then max:=a; end; close(f); assign(f,'res.txt'); rewrite(f); if max=0 then writeln(f,'чётных положительных чисел нет') else writeln(f,'min среди чётных положительных чисел =',min, chr(13), 'max среди чётных положительных чисел нет',max); close(f); end.
Рассмотрим фрагмент поблочно. FOR i=1 TO 10 A(i)=5+i NEXT i Здесь в цикле для i, меняющегося от 1 до 10, в массив А помещаются значения i+5, т.е. 6, 7, 8, .. 15. FOR i=1 TO 10 IF (A(i)+i >12) THEN A(i)=A(i)+ i ENDIF NEXT i В этом цикле i также меняется от 1 до 10. Для всех значений элементов массива, которые в сумме со своим порядковым номером в массиве (индексом) превысят 12, значение элемента будет увеличено на этот номер. a[1]+1=6+1=7. Это число меньше 12 и a[1] остается прежним. Так же, a[2]+2=9, a[3]+3=11 и они тоже не изменятся. Начиная с a]4]+4=13 значения будут изменяться на новые и в результате мы получим семь новых значений: 13, 15, 17,... 25. Все они будут нечетными. И еще одно нечетное значение (7) имеет a[2]. Итого, нечетные значения будут иметь 8 элементов.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку