Дан массив а(м), м меньше или равно 20. вывести на печать сумму элементов массива. если она превосходит число 50, в противном случае вывести в печать исходный массив.
Var ar:array[1..n] of integer; ar2:array[1..n] of integer; i,k:integer;
function prost(a:integer):boolean; var i:integer; b:boolean; begin b:=true; for i:=2 to a div 2 do if a mod i=0 then begin; b:=false; break; end; if a=1 then b:=false; prost:=b; end;
begin; randomize; k:=0; for i:=1 to n do begin; ar[i]:=random(101); write(ar[i]:4); end; writeln; for i:=1 to n do if prost(ar[i]) then begin; inc(k); ar2[k]:=ar[i]; write(ar2[k]:4); end; end.
// PascalABC.Net 3.0, сборка 1066 var s,s1:string; i:integer; a:char; begin Write('Введите натуральное число любой длины :'); Readln(s); Write('Введите цифру, которую надо удалить: '); Readln(a); s1:=''; for i:=1 to Length(s) do if s[i]<>a then s1:=s1+s[i]; Writeln('Результат: ',s1) end.
Тестовый прогон: Введите натуральное число любой длины :3141592653589793 Введите цифру, которую надо удалить: 5 Результат: 3141926389793
2. Современное решение (так в школе почему-то не учат)
// PascalABC.Net 3.0, сборка 1066 begin var s:=ReadString('Введите натуральное число любой длины :'); var a:=ReadChar('Введите цифру, которую надо удалить: '); Write('Результат: ',s.Replace(a,'')); end.
Program summa;
Uses crt;
Const m=20;
Var a:array[1..m] of integer;
i,s:integer;
Begin
For i:=1 to m do
a[i]:=random(101)-50;
For i:=1 to m do
s:=s+a[i];
If s>50 then writeln('Сумма = ',s) else
for i:= 1 to m do
Writeln('Элемент массива №',i,' равен ',a[i]);
End.
или
Program summa;
Uses crt;
Const m=20;
Var a:array[1..m] of integer;
i,s:integer;
Begin
For i:=1 to m do
Readln(a[i]);
clrscr;
For i:=1 to m do
s:=s+a[i];
If s>50 then writeln('Сумма = ',s) else
for i:= 1 to m do
Writeln('Элемент массива №',i,' равен ',a[i]);
End.