PROGRAM example1; {сдвинуть циклически элементы массива вправо} const m=10; var a : ARRAY [1.. m] of INTEGER; i,k,n: INTEGER; BEGIN randomize; n:=m; WRITELN('Полученный массив:' ); FOR i := 1 TO n DO begin a[i] :=-5+ random(10); {заполняем и выводим массив из случайных чисел} WRITE( a[i],' ' ); end; k:=a[n]; FOR i:= n DownTo 2 Do {сдвигаем циклически элементы массива вправо} a[i]:=a[i-1]; A[1]:=k; {присваиваем первому элементу массива последний} WRITELN(Преобразованный массив массив:' ); For i:=1 To n Do WRITE( a[i],' '); END.
PROGRAM example1; {сдвинуть циклически элементы массива влево} const m=10; var a : ARRAY [1.. m] of INTEGER; i,k,n: INTEGER; BEGIN randomize; n:=m; WRITELN('Полученный массив:' ); FOR i := 1 TO n DO begin a[i] :=-5+ random(10); {заполняем и выводим массив из случайных чисел} WRITE( a[i],' ' ); end; k:=a[1]; FOR i:= 1 to n-1 do {сдвигаем циклически элементы массива влево} a[i]:=a[i+1]; A[n]:=k;{присваиваем последнему элементу массива первый} WRITELN(Преобразованный массив массив:' ); For i:=1 To n Do WRITE( a[i],' '); END.
PROGRAM example3; {Удалить элементы массива кратные 3. } const n=8; Var a : ARRAY [1.. n] of INTEGER; i, j,k : INTEGER; BEGIN randomize; readln (k); FOR i := 1 TO n DO a[i] :=1+ random(20) ; WRITELN('Полученный массив:' ); FOR i := 1 TO n DO WRITE( a[i],' ' ); k:=n; i:=1; WHILE (i < k) do IF a[i] mod 3 0 THEN INC(i) ELSE {Удаляем элементы a[i] кратные 3} begin k:=k-1; For j:= i To k Do a[j]:=a[j+1] end; For j:=1 To k Do { Выводим преобразованный масив} WRITE( a[j],' '); END.
PROGRAM ex4 ;{Вставить число k после последнего отрицательного элемента массива} const m=100; var a : ARRAY [1.. m] of INTEGER; i,k,n,q : INTEGER; BEGIN randomize; readln (n); WRITELN('Полученный массив:' ); FOR i := 1 TO n DO begin a[i] :=-5+ random(10); WRITE( a[i],' ' ); end; WRITELN; readln(k); For i:=1 to n do IF a[i]
Дан одномерный массив целого типа. Получить другой массив, состоящий только из нечетных чисел исходного массива или сообщить, что таких чисел нет. Полученный массив вывести в порядке убывания элементов. PROGRAM example1; const m=7; var b,a : ARRAY [1.. m] of INTEGER; i,k,w,p: INTEGER; BEGIN randomize; writeln('Полученный массив:' ); For i := 1 To m Do begin a[i] :=random(10); write( a[i],' ' ); end; writeln; For i:= 1 To m Do { использование рабочего массива } if a[i]mod 2 =1 then begin k:=k+1; b[k]:=a[i] end; else writeln ( Таких чисел нет); writeln; { Сортировка полученного массива по убыванию } For p:=1 To m-1 Do {Цикл по номеру просмотра.} For i:=1 To m-p Do If b[i]< b[i+1] Then {'Перестановка элементов.} Begin w:=b[i]; b[i] :=b[i+1]; b[i+1] :=w; End ; writeln(Преобразованный массив:' ); FOR i:= 1 To k Do write( b[i],' '); END.
PROGRAM v2zl; uses crt; VAR x,y,i,s: integer; a:array [1..10]of integer; PROCEDURE summa(var n,s: integer); var c:integer; BEGIN s:=0; while n0 do begin c:=n mod 10; s:=s+c; n:=n div 10; end; writeln ('s= ',s); END; BEGIN clrscr; for i:=1 to 10 do begin a[i]:= 25+random(100); write(a[i],' ') end; writeln; for i:=1 to 10 do summa(a[i],s); END. Составьте паскаль-программу для решения следующей задачи: «В данном одномерном массиве целого типа найти и напечатать сумму цифр каждого числа. Использовать процедуру нахождения суммы цифр числа».
PROGRAM v2zl; uses crt; VAR i: integer; a:array [1..10]of integer; f:boolean; PROCEDURE pal(n:integer; var f:boolean); var ch,p,c:integer; BEGIN ch:=0; p:=n; while n0 do begin c:=n mod 10; ch:=ch*10+c; n:=n div 10; end; if ch = p then begin Writeln (ch); f:=false; end; END; BEGIN clrscr; f:= true; for i:=1 to 10 do begin a[i]:= 25+random(100); write(a[i],' ') end; writeln; for i:=1 to 10 do pal(a[i],f); if f then writeln (Таких чисел нет'); END. Составьте паскаль-программу для решения следующей задачи: «В данном одномерном массиве целого типа найти и напечатать только числа-палиндромы или сообщить, что таких нет. Использовать процедуру определения числа- палиндрома».
PROGRAM sr_znach; uses crt; VAR i: integer; max,sr:real; a:array [1..10]of integer; PROCEDURE sr_zn( n:integer; var sr: real); var s,k,c:integer; BEGIN s:=0; k:=0; while n0 do begin c:=n mod 10; s:=s+c; inc(k); n:=n div 10; end; sr:=s/k; writeln ('sr=',sr:4:1); END; BEGIN clrscr; Writeln('Заполнение массива случайными числами '); for i:=1 to 10 do begin a[i]:= 25+random(100); write(a[i],' ') end; writeln; Writeln('Среднее арифметическое цифр каждого числа массива:'); max:=0; for i:=1 to 10 do begin sr_zn(a[i],sr); if sr>max then max:=sr;end; writeln; writeln('максимальное среднее значение = ',max); END. В данном одномерном массиве целого типа найти и напечатать число с наибольшим средним арифметическим его цифр. Использовать процедуру нахождения среднего арифметического цифр числа