Напишите код для проекта в ЛАЗАРУС(object pascal) в котором можно вычислить количество двоцифровых чисел среди чисел, первое из которых равно 10, а каждое следующее больше предыдущего на заданое положительное число. (цикл с предусловием)
// PascalABC.Net 3.0, сборка 1052 const Rus=['А'..'Я']; var s:string; i,k,t:integer; c,c1,tc,sc:char; f:array['А'..'а'] of byte; // 'а' - это для 'Ё' ch:array['А'..'а'] of char; begin Write('Введите строку: '); Readln(s); for c:='А' to 'а' do begin f[c]:=0; ch[c]:=c end; k:=0; for i:=1 to Length(s) do begin c:=UpCase(s[i]); if c in Rus then begin Inc(f[c]); Inc(k) end else if c='Ё' then begin Inc(f['а']); Inc(k) end; end; Writeln('Количество русских букв равно ',k); { сортировка массива со счетчиком количества букв } for c1:='А' to Pred('а') do for c:='А' to Pred('а') do if f[c]<f[Succ(c)] then begin t:=f[c]; tc:=ch[c]; sc:=Succ(c); f[c]:=f[sc]; ch[c]:=ch[sc]; f[sc]:=t; ch[sc]:=tc end; Writeln('Частота встретившихся букв'); c:='А'; while (c<='а') and (f[c]>0) do begin if ch[c]='а' then ch[c]:='Ё'; Writeln(ch[c],' - ',f[c]); Inc(c) end; end.
Тестовое решение: Введите строку: Когда я был парнишкой, носил я брюки клёш Количество русских букв равно 33 Частота встретившихся букв К - 4 И - 3 Л - 3 О - 3 А - 2 Б - 2 Н - 2 Р - 2 Ш - 2 Я - 2 Г - 1 Д - 1 Й - 1 П - 1 С - 1 Ы - 1 Ю - 1 Ё - 1
s:=0; {s - это указанная тобой сумма. Мы ее соответственно обнуляем сначала}
for i:=1 to n do begin
if a[i] mod 10=0 then s:=s+a[i];
end;
{ берем каждый элемент массива, и проверяем, делится ли он на 10 без остатка(mod- это остаток от деления на указанное число). Если все в порядке, тогда прибавляем число к общей сумме }
Writeln('summa elementov ravnih nulu ',s); {пишет ответ}
readln; {чтобы сразу не закрывалась программа}
end.
Если возникнут вопросы или появится еще подобное задание для решения, пиши прямо в личку. Мне все равно делать нечего )
const
Rus=['А'..'Я'];
var
s:string;
i,k,t:integer;
c,c1,tc,sc:char;
f:array['А'..'а'] of byte; // 'а' - это для 'Ё'
ch:array['А'..'а'] of char;
begin
Write('Введите строку: '); Readln(s);
for c:='А' to 'а' do begin f[c]:=0; ch[c]:=c end;
k:=0;
for i:=1 to Length(s) do begin
c:=UpCase(s[i]);
if c in Rus then begin Inc(f[c]); Inc(k) end
else
if c='Ё' then begin Inc(f['а']); Inc(k) end;
end;
Writeln('Количество русских букв равно ',k);
{ сортировка массива со счетчиком количества букв }
for c1:='А' to Pred('а') do
for c:='А' to Pred('а') do
if f[c]<f[Succ(c)] then begin
t:=f[c]; tc:=ch[c]; sc:=Succ(c);
f[c]:=f[sc]; ch[c]:=ch[sc];
f[sc]:=t; ch[sc]:=tc
end;
Writeln('Частота встретившихся букв');
c:='А';
while (c<='а') and (f[c]>0) do begin
if ch[c]='а' then ch[c]:='Ё';
Writeln(ch[c],' - ',f[c]);
Inc(c)
end;
end.
Тестовое решение:
Введите строку: Когда я был парнишкой, носил я брюки клёш
Количество русских букв равно 33
Частота встретившихся букв
К - 4
И - 3
Л - 3
О - 3
А - 2
Б - 2
Н - 2
Р - 2
Ш - 2
Я - 2
Г - 1
Д - 1
Й - 1
П - 1
С - 1
Ы - 1
Ю - 1
Ё - 1
Язык Паскаль.
Program Ski;
const n=5; {длина массива}
var: a:array [1..n] of integer; i,s:integer;
begin
For i:=1 to n do begin
Writeln('vvedite element massiva nomer ',i);
Read(a[i]);
end; {Тут мы просим пользователя ввести элементы}
s:=0; {s - это указанная тобой сумма. Мы ее соответственно обнуляем сначала}
for i:=1 to n do begin
if a[i] mod 10=0 then s:=s+a[i];
end;
{ берем каждый элемент массива, и проверяем, делится ли он на 10 без остатка(mod- это остаток от деления на указанное число). Если все в порядке, тогда прибавляем число к общей сумме }
Writeln('summa elementov ravnih nulu ',s); {пишет ответ}
readln; {чтобы сразу не закрывалась программа}
end.
Если возникнут вопросы или появится еще подобное задание для решения, пиши прямо в личку. Мне все равно делать нечего )