Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Pascal] Организовать ограничение на ввод


Автор: sc_predator 2.1.2007, 20:44
Вводится строка длиной 10 символов. Разрешается ввод только латинских букв.

Автор: Rodman 2.1.2007, 20:52
Код

var s:string;
 e:char;
 i:integer;
begin
  i:=0;
  while (i<>10)do
  begin
    readln(e);
    if(e in ['a'..'z','A'..'Z'])then
      s:=s+e;
  end;
  writeln(s);
end.

Автор: sc_predator 3.1.2007, 18:00
А нельзя ограничение(проверку) сделать имеенно на ввод строки, а не символа? Т.е. вводить не посимвольно а сразу строку, и если неправильно, то этот символ не будет вводится?

Автор: V.A.KeRneL 3.1.2007, 19:11
Эээ... Rodman, к тому же у Вас какой-то вечный цикл вроде получается, ведь Вы нигде не инкрементируете (и вообще никак не увеличиваете) значение переменной i...

Автор: apook 3.1.2007, 20:36
Код

Program test;


var
    s :array[0..10] of char;
    e :char;
    i, j :integer;

begin
    readln( s );
    i:=0;
    j:=0;

    while( i <= 10 ) do
    begin
        e :=s[i]; 
        if ( e in ['a'..'z', 'A'..'Z'] ) then
        begin
            s[j] :=e;
            j:=Succ( j );
        end;
        i:=Succ( i );
    end;
    s[j] :=#0;
    writeln( s );
end.


Модератор: подсветки 'code=pas' у нас нет, используйте только то что имеется в списке. Иначе не будет ни какой подсветки. Для паскаля нужно выбирать "Delphi"

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)