// PascalABC.NET 3.1, сборка 1172 от 19.02.2016 begin var s:=ReadInteger('n=').ToString.JoinIntoString(''); Writeln('Цифр в числе- ',s.Length); Writeln('Сумма цифр- ',s.Select(d->Integer.Parse(d)).Sum); Writeln('Последняя цифра- ',s.Last); Writeln('Первая цифра- ',s.First); Writeln('Предпоследняя цифра- ',s[s.Length-1]); var m:=ReadInteger('m='); Write('Сумма ',m,' последних цифр числа- '); Writeln(s.Skip(s.Length-m).Select(d->Integer.Parse(d)).Sum); Write('Цифра 3 в запись числа '); if Pos('3',s)>0 then Writeln('входит') else Writeln('не входит'); Writeln('Число в обратном порядке- ',s.Reverse.JoinIntoString('')); Writeln('Перестановка первой и последней цифр- ', s.Last+Copy(s,2,s.Length-2)+s.First); end.
Тестовое решение: n= 1063 Цифр в числе- 4 Сумма цифр- 10 Последняя цифра- 3 Первая цифра- 1 Предпоследняя цифра- 6 m= 2 Сумма 2 последних цифр числа- 9 Цифра 3 в запись числа входит Число в обратном порядке- 3601 Перестановка первой и последней цифр- 3061
Честно, не поняла ваш код вообще. Почему нет цикла? Предлагаю свое решение: 1)Cначала заполняем массив случайными числами от 2 до 5 (включительно) 2)Потом выводим его (Для проверки) 3) Потом считаем оценки. Но сначала нужно обнулить переменные( В самом начале это делали), а то получится кака (:
program N_0547847; var b, c, d, f, i:integer; a: array [1..20] of integer; begin; randomize; b:=0; c:=0; d:=0; f:=0; for i:=1 to 20 do begin a[i]:=random(4)+2; write(a[i],' '); end; writeln; for i:=1 to 20 do begin if a[i]=2 then b:=b+1; if a[i]=3 then c:=c+1; if a[i]=4 then d:=d+1; if a[i]=5 then f:=f+1; end; writeln('Двоек: ', b); writeln('Троек: ', c); writeln('Четверок: ',d); writeln('Пятерок: ',f); end.
begin
var s:=ReadInteger('n=').ToString.JoinIntoString('');
Writeln('Цифр в числе- ',s.Length);
Writeln('Сумма цифр- ',s.Select(d->Integer.Parse(d)).Sum);
Writeln('Последняя цифра- ',s.Last);
Writeln('Первая цифра- ',s.First);
Writeln('Предпоследняя цифра- ',s[s.Length-1]);
var m:=ReadInteger('m=');
Write('Сумма ',m,' последних цифр числа- ');
Writeln(s.Skip(s.Length-m).Select(d->Integer.Parse(d)).Sum);
Write('Цифра 3 в запись числа ');
if Pos('3',s)>0 then Writeln('входит')
else Writeln('не входит');
Writeln('Число в обратном порядке- ',s.Reverse.JoinIntoString(''));
Writeln('Перестановка первой и последней цифр- ',
s.Last+Copy(s,2,s.Length-2)+s.First);
end.
Тестовое решение:
n= 1063
Цифр в числе- 4
Сумма цифр- 10
Последняя цифра- 3
Первая цифра- 1
Предпоследняя цифра- 6
m= 2
Сумма 2 последних цифр числа- 9
Цифра 3 в запись числа входит
Число в обратном порядке- 3601
Перестановка первой и последней цифр- 3061
1)Cначала заполняем массив случайными числами от 2 до 5 (включительно)
2)Потом выводим его (Для проверки)
3) Потом считаем оценки. Но сначала нужно обнулить переменные( В самом начале это делали), а то получится кака (:
program N_0547847;
var
b, c, d, f, i:integer;
a: array [1..20] of integer;
begin;
randomize;
b:=0; c:=0; d:=0; f:=0;
for i:=1 to 20 do begin
a[i]:=random(4)+2;
write(a[i],' '); end;
writeln;
for i:=1 to 20 do begin
if a[i]=2 then b:=b+1;
if a[i]=3 then c:=c+1;
if a[i]=4 then d:=d+1;
if a[i]=5 then f:=f+1;
end;
writeln('Двоек: ', b);
writeln('Троек: ', c);
writeln('Четверок: ',d);
writeln('Пятерок: ',f);
end.