Решите пожалуйста одаю все балы!!Срочно!!

Сделайте на ABCpascal!! заранее спасибо!

Приложения:

Ответы

Ответ дал: Ziorar
1

Ответ:

var

s: string;

i, c, b: integer;

begin

Print('Введите строку из русских букв (кроме ё) и цифр:');

read(s);

for i := 1 to Length(s) do

case OrdAnsi(s[i]) of

48..57: c := c + 1;

192..255: b := b + 1;

end;

Println('Количество цифр в строке=', c);

Println('Количество русских букв в строке=', b);

end.


nester201990: а что делает case?
nester201990: А можете сделать через if
nester201990: пожалуйста
Ziorar: Можно и через if (а case просто выбирает для входного значения (код символа) несколько вариантов действий, в зависимости от того какой код- у меня там два варианта- 1)для значения кода от 48 до 57 и 2) от 192 до 255).
Ziorar: Вот версия попроще, через if:
var
s: string;
i, c, b, t: integer;

begin
Print('Введите строку из русских букв (кроме ё) и цифр:');
read(s);

for i := 1 to Length(s) do
begin
t := OrdAnsi(s[i]);
if t >= 48 then
if t <= 57 then
c := c + 1;
if t >= 192 then
if t <= 255 then
b := b + 1;
end;
Println('Количество цифр в строке=', c);
Println('Количество русских букв в строке=', b);
end.
Вас заинтересует