Program min;const n=10; var a:array[1..n] of integer; i,k,imn:byte; Begin writeln('Введите элементы массива целые числа'); for i:=1 to n do Begin write('a[',i,']='); readln(a[i]); End; Clrscr; writeln('Массив'); imn:=0; for i:=1 to n do Begin write(a[i],' '); if a[i]<0 then imn:=i; End; Writeln; if imn=0 then writeln('В массиве нет отрицательных элементов') Else Begin for i:=1 to n do if(a[i]<0)and(abs(a[i])<abs(a[imn]))then imn:=i; writeln('Минимальный по модулю отрицательный элемент=',a[imn]); writeln('Замена его на 99'); for i:=1 to n do Begin if i=imn then a[i]:=99; write(a[i],' '); End; Writeln; End; Repeat write('Введите число k от 1 до ',n,' k='); Readln(k); until k in [1..n]; writeln('Замена первых ',k,' элементов на 0'); for i:=1 to n do Begin if i<=k then a[i]:=0; write(a[i],' '); End; Readln End. Скриншот:
3.2 Дан массив целых чисел (n=15), заполненный случайным образом числами из промежутка [-10,40]. − удалить из него все элементы, в которых есть цифра 3. − вставить число k после всех элементов, кратных своему номеру (k вводить с клавиатуры). − поменять местами последний положительный и первый отрицательный элементы. Код программы 3.2: Program Pr4; Uses crt; var a,b:array[1..40] of integer; n,i,j,k,pp,po:integer; Begin Clrscr; Randomize; n:=15; writeln('исходный массив:'); for i:=1 to n do Begin a[i]:=random(51)-10; write(a[i]:4); End; Writeln; b:=a; i:=1; while i<=n do Begin k:=abs(b[i]); if(k mod 10=3)or(k div 10=3)then Begin for j:=i to n-1 do b[j]:=b[j+1]; n:=n-1; End else i:=i+1; End; writeln('удалены числа с цифрой 3:'); for i:=1 to n do write(b[i]:4); Writeln; b:=a; n:=15; write('введите число для вставкиk='); Readln(k); i:=1; while i<=n do if b[i] mod i=0 then Begin n:=n+1; for j:=n downto i+2 do b[j]:=b[j-1]; b[i+1]:=k; i:=i+2; End elsei i:=i+1; writeln('вставка числа ',k,' после элементов, кратных своему индексу'); for i:=1 to n do write(b[i]:4);
|