const n=10; var a:array[1..n] of integer; i,k,t,imin,imax:integer; begin randomize; { инициализация датчика пчевдослучайных чисел } Writeln('*** Исходный массив ***'); for i:=1 to n do begin a[i]:=random(20); { интервал [0;19] } Write(a[i]:4) end; Writeln; { 1. меняем местами правую и левую половины } Writeln('*** 1 ***'); k:=n div 2; for i:=1 to k do begin t:=a[i]; a[i]:=a[i+k]; a[i+k]:=t end; for i:=1 to n do Write(a[i]:4); Writeln; { 2. Элементы массива, большие 10, заменяем на 100 } for i:=1 to k do if a[i]>10 then a[i]:=100; Writeln('*** 2 ***'); for i:=1 to n do Write(a[i]:4); Writeln; { 3. Удаляем максимальный элемент, вставляем 0 перед минимальным } { замороченная задача ! } Writeln('*** Исходный массив ***'); for i:=1 to n do begin a[i]:=random(50)+1; { интервал [1;49] } Write(a[i]:4) end; Writeln; Writeln('*** 3 ***'); imin:=1; imax:=1; for i:=2 to n do if a[i]>a[imax] then imax:=i else if a[i]<a[imin] then imin:=i; if imin < imax then begin { минимальный встречается раньше максимального } { подвигаем вправо на 1 все элементы от imin и до imax } for i:=imax-1 downto imin do a[i+1]:=a[i]; a[imin]:=0 { вставляем 0 в позицию imin } end else begin { минимальный встречается позже максимального } { подвигаем влево на 1 элементы от imax до imin -1 } for i:=imax to imin-1 do a[i]:=a[i+1]; a[imin-1]:=0; { вставляем 0 в позицию перед imin } end; for i:=1 to n do Write(a[i]:4); Writeln end.
const n=10; var a:array[1..n] of integer; i:integer; begin randomize; { инициализация датчика пчевдослучайных чисел } Writeln('*** Исходный массив ***'); for i:=1 to n do begin a[i]:=random(20); { интервал [0;19] } Write(a[i]:4) end; Writeln; { 1. выводим нечетные элементы } Writeln('*** 1 ***'); for i:=1 to n do if a[i] mod 2 <>0 then Write(a[i]:4); Writeln; { 2. Элементы на четных позициях обнуляем } i:=2; while i<=n do begin a[i]:=0; i:=i+2 end; Writeln('*** 2 ***'); for i:=1 to n do Write(a[i]:4); Writeln end.
Замечание: Третью подзадачу решить в такой постановке невозможно. В самом деле, требуется удалить последний нечетный элемент, а перед третьим элементом вставить ноль. Что делать, если этим последним нечетным окажется третий?
Мальчик, увлекающийся лёгкой атлетикой, рассказывает о новостях спорта Лёше и Саше; Лёгкая атлетика - не Саша и не Лёша => остаются: Юра, Виталий или Антон
Виталий не занимается лёгкой атлетикой, как Антон; Лёгкая атлетика - не Антон и не Виталий => остался: Юра
Юра - атлет
В отличие от Саши, его сестра умеет плавать; Саша - не плаванье => остаётся: борьба, гимнастика, гребля
Саша, гимнаст и мальчик занимающийся греблей - друзья; Саша - не гимнастика и не гребля = > остаётся борьба
Саша - борец
Антон и Лёша никогда не посещали бассейн; Плаванье - не Антон и не Лёша => остался: Виталий
Виталий - пловец
Лёша, в отличие от Антона, умеет держать в руках вёсла.
Лёша - гребец
Антон - гимнаст
Итого:
Юра - атлет Саша - борец Виталий - пловец Лёша - гребец Антон - гимнаст
b=10 a=0