gvozd Posted February 15, 2005 Report Share Posted February 15, 2005 (edited) Почему не считывается переменная s2? program slova;uses crt;vars1: string;s2: string;i:integer;beginclrscr;begin WriteLN('Введите первое слово: '); Read(s1); WriteLN('Введите второе слово: '); Read(s2);end;For i:=1 to length(s1) do beginIf pos(s1[i],s2)=0 thenbegin WriteLN('Составить нельзя'); Readkey; Halt(0);endelse delete(s2,pos(s1,s2),1); end;WriteLN('Можно составить');end. Edited February 15, 2005 by gvozd Quote Link to comment Share on other sites More sharing options...
Тролль Posted February 15, 2005 Report Share Posted February 15, 2005 (edited) gvozd Используй ReadLn вместо Read. Они по-разному работают с буфером. P.S. Описаниям в учебниках о том, что, дескать, разница только в том, что ReadLN переводит строку, а Read - нет, не верь. На самом деле все совсем иначе. Кто-то когда-то написал чушь, и почти все авторы учебников ее переписывают. Edited February 15, 2005 by Тролль Quote Link to comment Share on other sites More sharing options...
yuriks Posted February 15, 2005 Report Share Posted February 15, 2005 Разница между работой процедур Read и Readln состоит в следующем: после выполнения Read значение следующего данного считывается с этой же строчки, а после выполнения Readln - с новой строки. Поетому у тебя и читает пустую строчку, так как первая Read считала до конца строки. P.S. Так что в книгах все правильно, нужно только правильно ето понимать что переводится строка не вывода информации а ввода. Quote Link to comment Share on other sites More sharing options...
Тролль Posted February 15, 2005 Report Share Posted February 15, 2005 yuriks Ну, не скажу, чтобы формулировка "переводится строка не вывода информации а ввода" была понятна. Но по сути согласен. Если это подробно расшифровать, будет понятно и тем, кто учит язык. Но в учебниках обычно пишется о курсоре и переводе строки. Хотя на самом деле речь должна идти о буфере ввода, а для буфера или файла это называется текущая позиция и метка конца строки (#10#13). Курсор и перевод строки - понятия для экрана. Отсюда и путаница. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.