program ex_1; Const NMax = 50; Type Mass = Array[1..NMax] Of Real; Var X : Mass; I, N : Byte; Vsp : Real; Begin Write('Сколько элементов в массиве? '); ReadLn(N); For I := 1 To N Do readln(X[i]); WriteLn; I := 1; While I < N Do Begin Vsp := X[i]; X[i] := X[i + 1]; X[i + 1] := Vsp; I := I + 2 End; For I := 1 To N Do Write(X[i]:10:5); WriteLn; End.
Program Kr_2_3; Const NMax = 100; Type LinMass = Array[1..NMax] Of Integer; Var A : LinMass; N, I, M : Integer; Begin Write('Количество элементов массива? '); ReadLn(N); M := -32768; For I := 1 To N Do Begin Write('Введите A[', I, '] '); ReadLn(A[I]); If A[I] > M Then M := A[I] End; For I := 1 To N Do A[I] := A[I] + M; For I := 1 To N Do Write(A[I] : 6); WriteLn End.
Program Kr_2_3; Const NMax = 100; Type LinMass = Array[1..NMax] Of Integer; Var A : LinMass; N, I, M, S : Integer; Begin Write('Количество элементов массива? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите A[', I, '] '); ReadLn(A[I]); End; M := A[1]; S := 1; For I := 2 To N do Begin If A[I] = M Then S := Succ(S); If A[I] > M Then Begin M := A[I]; S := 1 End End; WriteLn('Ответ: ', S); End.
Program Ex_4; Type LinMass = Array[1..100] Of Integer; Var A : LinMass; N, i, S, K : Integer; begin Write('Количество элементов массива? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите A[', I, '] '); ReadLn(A[I]); End; s:=0; k:=0; For I := 1 To N do if a[i] mod 2 = 0 then begin s:=s+a[i]; k:=k+1 end; writeln('Сумма ', s, '; количество ', k) end.
Program Ex_5; Type LinMass = Array[1..100] Of Integer; Var A : LinMass; N, i, p, K : Integer; begin Write('Количество элементов массива? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите A[', I, '] '); ReadLn(A[I]); End; p:=1; k:=0; while (i<=n) and (k<3) do begin if a[i] > 0 then begin p:=p*a[i]; k:=k+1 end; i:=i+1; end; writeln('Произведение ', p) end.
Program Ex_6; Type LinMass = Array[1..100] Of Integer; Var A : LinMass; N, i, p, K : Integer; begin Write('Количество элементов массива? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите A[', I, '] '); ReadLn(A[I]); End; p:=1; k:=0; For I := 1 To N Do if a[i] > 0 then begin p:=p*a[i]; k:=k+1 end; if k=0 then writeln('Положительных элементов нет') else writeln('Среднее геометрическое ', exp(1/k*ln(p)):7:2) end.
Program Ex_7; Type LinMass = Array[1..100] Of Integer; Var A : LinMass; N, i : Integer; R : Boolean; begin Write('Количество элементов массива? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите A[', I, '] '); ReadLn(A[I]); End; R := false; i:=1; while (i<=n) and not R do begin if a[i] = 0 then R:= true; i:=i+1; end; if R then writeln('Нуль есть в массиве') else writeln('Нуля нет в массиве') end.
Program Ex_8; Type LinMass = Array[1..100] Of Integer; Var A : LinMass; N, i : Integer; R : Boolean; begin Write('Количество элементов массива (не менее 5)? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите A[', I, '] '); ReadLn(A[I]); End; R := false; For I := 1 To 5 Do if a[i] mod 2 = 1 then R:= true; if R then writeln('среди первых пяти элементов есть нечетный') else writeln('Среди первых пяти элементов нет нечетного') end.
Program Ex_9; Type LinMass = Array[1..100] Of Integer; Var A : LinMass; N, i : Integer; R : Boolean; begin Write('Количество элементов массива (не менее 5)? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите A[', I, '] '); ReadLn(A[I]); End; R := false; For I := n DownTo n-4 Do if a[i] mod 2 = 0 then R:= true; if R then writeln('среди последних пяти элементов есть четный') else writeln('Среди последних пяти элементов нет четного') end.
Program Ex_10; Type LinMass = Array[1..100] Of Integer; Var A : LinMass; N, i : Integer; R : Boolean; begin Write('Количество элементов массива? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите A[', I, '] '); ReadLn(A[I]); End; R := false; i:=1; while (i<=n) and not R do begin if a[i] = 0 then R:= true; i:=i+2; end; if R then writeln('Среди элементов с нечетными номерами есть нуль') else writeln('Среди элементов с нечетными номерами нет нуля') end.
Program Ex_11; Type LinMass = Array[1..100] Of Integer; Var A : LinMass; N, i : Integer; R : Boolean; begin Write('Количество элементов массива? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите A[', I, '] '); ReadLn(A[I]); End; R := false; i:=1; while (i<=n-1) and not R do begin if a[i] = a[i+1] then R:= true; i:=i+1; end; if R then writeln('Среди элементов есть пара равных соседних') else writeln('Среди элементов нет пары равных соседних') end.
Program Ex_12; Type LinMass = Array[1..100] Of Integer; Var A : LinMass; N, i, min, K : Integer; begin Write('Количество элементов массива? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите A[', I, '] '); ReadLn(A[I]); End; min:=a[1]; k:=1; For I := 2 To N Do begin if min > a[i] then begin min :=a[i]; k:=1 end else if min=a[i] then k:=k+1; end; writeln('Ответ: ', k) end.
Program Ex_13; Type LinMass = Array[1..100] Of Integer; Var A : LinMass; N, i, s, s1 : Integer; begin Write('Количество элементов массива (четное число)? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите A[', I, '] '); ReadLn(A[I]); End; s:= 0; s1:=0; For I := 1 To N div 2 Do begin s:=s+a[i]; s1:=s1+a[n-i+1] end; writeln('Ответ: ', s-s1) end.
Program Ex_14; Type LinMass = Array[1..100] Of Integer; Var A : LinMass; N, i, max : Integer; begin Write('Количество элементов массива? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите A[', I, '] '); ReadLn(A[I]); End; max:=1; For I := 2 To N Do if a[i]>a[max] then max:=i; For I := max+1 To N Do a[i]:=0; For I := 1 To N Do write(a[i]:6); end.
Program Ex_15; Type LinMass = Array[1..100] Of Integer; Var A : LinMass; N, i, max, min, vsp : Integer; begin Write('Количество элементов массива? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите A[', I, '] '); ReadLn(A[I]); End; max:=1; min:=1; For I := 2 To N Do begin if a[i]>a[max] then max:=i; if a[i]<a[min] then min:=i; end; vsp:=a[min]; a[min]:=a[max]; a[max]:=vsp; For I := 1 To N Do write(a[i]:6); end.
Program Ex_16; Type LinMass = Array[1..100] Of Integer; Var A : LinMass; N, i : Integer; t : Boolean; begin Write('Количество элементов массива? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите A[', I, '] '); ReadLn(A[I]); End; t := true; i:=1; while (i<=n) and t do begin if a[i] = 0 then t:= false; i:=i+1; end; writeln(t) end.
Program Ex_17; Type LinMass = Array[1..100] Of Integer; Var A : LinMass; N, i, b : Integer; begin Write('Количество элементов массива? '); ReadLn(N); write('Введите число: '); readln(b); For I := 1 To N Do Begin Write('Введите A[', I, '] '); ReadLn(A[I]); End; i:=1; while (i<=n) and (a[i]<>b) do begin i:=i+1; end; if i>n then writeln('Числа нет в массиве') else writeln(i) end.
Program Ex_18; Type LinMass = Array[1..100] Of Integer; Var A : LinMass; N, i, s : Integer; begin Write('Количество элементов массива? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите A[', I, '] '); ReadLn(A[I]); End; s:= 0; For I := 1 To N Do if a[i]=i then s:=s+a[i]; writeln('Ответ: ', s) end.
Program Ex_19; Type LinMass = Array[1..100] Of Integer; Var A : LinMass; N, i, max, K : Integer; begin Write('Количество элементов массива? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите A[', I, '] '); ReadLn(A[I]); End; max:=a[1]; k:=1; For I := 2 To N Do begin if max < a[i] then begin max :=a[i]; k:=1 end else if max=a[i] then k:=k+1; end; writeln('Ответ: ', k) end.
Program Ex_20; Type LinMass = Array[1..100] Of Integer; Var A : LinMass; N, i, max, min : Integer; begin Write('Количество элементов массива? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите A[', I, '] '); ReadLn(A[I]); End; max:=1; min:=1; For I := 2 To N Do begin if a[i]>a[max] then max:=i; if a[i]<a[min] then min:=i; end; writeln('Ответ ', a[max]-a[min]) end.
Program Ex_21; Type LinMass = Array[1..100] Of Integer; Var A : LinMass; N, i, max, min : Integer; begin Write('Количество элементов массива? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите A[', I, '] '); ReadLn(A[I]); End; max:=1; min:=1; For I := 2 To N Do begin if a[i]>a[max] then max:=i; if a[i]<a[min] then min:=i; end; writeln('Ответ ', a[max]+a[min]) end.
Program Ex_22; Type LinMass = Array[1..100] Of Integer; Var A : LinMass; N, i, max, min : Integer; begin Write('Количество элементов массива? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите A[', I, '] '); ReadLn(A[I]); End; max:=1; min:=1; For I := 2 To N Do begin if a[i]>a[max] then max:=i; if a[i]<a[min] then min:=i; end; writeln('Ответ ', a[max]*a[min]) end.
Program Ex_23; Type LinMass = Array[1..100] Of Integer; Var A : LinMass; N, i, max, min : Integer; begin Write('Количество элементов массива? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите A[', I, '] '); ReadLn(A[I]); End; max:=1; min:=1; For I := 2 To N Do begin if a[i]>a[max] then max:=i; if a[i]<a[min] then min:=i; end; writeln('Ответ ', (a[max]+a[min])/2 :7:2) end.
Program Ex_24; Type LinMass = Array[1..100] Of Integer; Var A : LinMass; N, i, s : Integer; begin Write('Количество элементов массива? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите A[', I, '] '); ReadLn(A[I]); End; s:= 0; For I := 1 To N Do begin s:=s+a[i] end; writeln('Ответ: ', s/n :7:2) end.
Program Ex_25; Type LinMass = Array[1..100] Of Integer; Var A : LinMass; N, i : Integer; R : Boolean; begin Write('Количество элементов массива? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите A[', I, '] '); ReadLn(A[I]); End; R:= true; i:=1; while (i<=n-1) and R do begin R:= a[i]<=a[i+1]; i:=i+1 end; if R then writeln('Массив отсортирован') else writeln('Массив не отсортирован') end.
Program Ex_26; Type LinMass = Array[1..100] Of Integer; Var M : LinMass; N, i, s, a, b : Integer; begin Write('Количество элементов массива? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите M[', I, '] '); ReadLn(M[I]); End; writeln('введите границы отрезка [A; B], здесь A<B '); readln(a, b); s:= 0; For I := 1 To N Do if (M[i]>=A) and (M[i]<=B) then s:=s+1; writeln('Ответ: ', s) end.
Program Ex_27; Type LinMass = Array[1..100] Of Integer; Var M : LinMass; N, i, o, p : Integer; begin Write('Количество элементов массива? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите M[', I, '] '); ReadLn(M[I]); End; o:= 0; p:=0; For I := 1 To N Do begin if M[i]>0 then p:=p+1; if M[i]<0 then o:=o+1; end; if o=p then writeln('Отрицательных и положительных поровну') else if o>p then writeln('Отрицательных больше') else writeln('Положительных больше') end.
Program Ex_28; Type LinMass = Array[1..100] Of Integer; Var M : LinMass; N, i, o, p : Integer; begin Write('Количество элементов массива? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите M[', I, '] '); ReadLn(M[I]); End; o:= 0; p:=0; For I := 1 To N Do begin if M[i]>0 then p:=p+M[i]; if M[i]<0 then o:=o+M[i]; end; if abs(o)=abs(p) then writeln('Модули сумм равны') else if abs(o)>abs(p) then writeln('Модуль суммы отрицательных элементов больше') else writeln('Модуль суммы положительных элементов больше') end.
Program Ex_29; Type LinMass = Array[1..100] Of Integer; Var M : LinMass; N, i, o, p : Integer; begin Write('Количество элементов массива? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите M[', I, '] '); ReadLn(M[I]); End; o:= 1; p:=1; For I := 1 To N Do begin if M[i]>0 then p:=p*M[i]; if M[i]<0 then o:=o*M[i]; end; if o=p then writeln('Произведения равны') else if o>p then writeln('Произведение отрицательных элементов больше') else writeln('Произведение положительных элементов больше') end.
Program Ex_30; Type LinMass = Array[1..100] Of Integer; Var M : LinMass; N, i, o, p : Integer; begin Write('Количество элементов массива? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите M[', I, '] '); ReadLn(M[I]); End; o:= 1; p:=0; For I := 1 To N Do begin if M[i]>0 then p:=p+M[i]; if M[i]<0 then o:=o*M[i]; end; if o=p then writeln('Произведение отрицательных и сумма положительных равны') else if o>p then writeln('Произведение отрицательных элементов больше суммы положительных') else writeln('Сумма положительных элементов больше произведения отрицательных') end.
Program Ex_31; Type LinMass = Array[1..100] Of Integer; Var A : LinMass; N, i, S, K : Integer; begin Write('Количество элементов массива? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите A[', I, '] '); ReadLn(A[I]); End; s:=0; k:=0; For I := 1 To N do if a[i] mod 2 <> 0 then begin s:=s+a[i]; k:=k+1 end; writeln('Сумма ', s, '; количество ', k) end.
Program Ex_32; Type LinMass = Array[1..100] Of Integer; Var M : LinMass; N, i, o, p : Integer; begin Write('Количество элементов массива? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите M[', I, '] '); ReadLn(M[I]); End; o:= 1; p:=0; For I := 1 To N Do begin if M[i]>0 then p:=p+M[i]; if M[i]<0 then o:=o*M[i]; end; writeln(10*p+o) end.
Program Ex_33; Type LinMass = Array[1..100] Of Integer; Var M : LinMass; N, i, o, p : Integer; begin Write('Количество элементов массива? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите M[', I, '] '); ReadLn(M[I]); End; o:= 1; p:=0; For I := 1 To N Do begin if M[i]>0 then p:=p+M[i]; if M[i]<0 then o:=o*M[i]; end; writeln(10*o+p) end.
Program Ex_34; Type LinMass = Array[1..100] Of Integer; Var a : LinMass; i, L, R, c: byte; x: integer; begin Write('Количество элементов массива? '); ReadLn(N); writeln('Вводите элементы массива, расположенные по возрастанию значений'); writeln('например, -22, -13, 0, 5, 10, 77'); For I := 1 To N Do Begin Write('Введите a[', I, '] '); ReadLn(a[I]); End; writeln('Введите искомое число x: '); readln(x); L := 1; R := n; repeat c := (L + R) div 2; if a[c] < x then L := c + 1; if a[c] > x then R := c - 1; until (a[c]=x) or (L > R); if L>R then writeln('не найден') else writeln('имеет номер ', c) end.
Program Ex_35; Type LinMass = Array[1..100] Of Integer; Var M : LinMass; N, i, o, p : Integer; begin Write('Количество элементов массива? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите M[', I, '] '); ReadLn(M[I]); End; o:= 1; p:=0; For I := 1 To N Do begin if M[i]>0 then p:=p+M[i]; if M[i]<0 then o:=o*M[i]; end; writeln(o<p) end.
Program Ex_36; Type LinMass = Array[1..100] Of Integer; Var M : LinMass; N, i, o, p : Integer; begin Write('Количество элементов массива? '); ReadLn(N); For I := 1 To N Do Begin Write('Введите M[', I, '] '); ReadLn(M[I]); End; o:= 1; p:=0; For I := 1 To N Do begin if M[i]>0 then p:=p+M[i]; if M[i]<0 then o:=o*M[i]; end; writeln(o>p) end.
© А.П. Шестаков, 2008-2009