Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Задача на символьный тип

Автор: SOKOLx 11.12.2007 21:56

Здраствуйте)
задача очень простая:
Написать программу, определяющую количество цифр во введенной с клавиатуры последовательности символов.
У меня он сравнивает только 1 символ введеный с клавиатуры, а как сделать чтобы он сравнивал все что я ввел?) Задачу обязательно делать через char...
вообщем вот я как сделал :

program one;
uses crt;
var
s:char;
i:integer;
begin
clrscr;
writeln ('Введите символы');
readln (s);
I:=0;
if (ord(s)>=48)and(ord(s)<=57) then I:=I+1;
writeln ('Количество цифр=',I);
readln;
end.

Автор: Айра 11.12.2007 22:37

Тебе же нужно несколько символов вводить ('1' - один символ, '23' - только один символ='2'), тогда необходимо создать цикл, в котором ты это будешь делать, например так:

var i: integer;
ch: char;
begin
i:=0;
repeat
writeln('введите символ');
readln(ch);
if ch in ['0'..'9'] then inc(i);
until ch='.'; //условие выхода из цикла
writeln('количество цифр: ',i);
end.

Автор: SOKOLx 11.12.2007 22:46

блин вот я ппц тугодум laugh.gif сразу не продумал про цикл))))
спасибо большое yahoo!.gif

Автор: volvo 11.12.2007 22:49

SOKOLx, вот здесь посмотри: http://forum.pascal.net.ru/index.php?s=&showtopic=20571&view=findpost&p=115151