Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2011, 21:01   #1
Casper098
Пользователь
 
Регистрация: 18.09.2011
Сообщений: 33
По умолчанию Задача на стринг

program prim;
uses crt;
var
st:string;
ch:char;
i:integer;
begin
clrscr;
i:=0;
writeln ('Vvedite text');
readln (st);
writeln ('Ishodnaya stroka: ',st,'Zamenim "." na "!"');
while pos('.',st)<>0 do begin
st[pos('.',st)]:='!';
inc (i);
end;
writeln ('Stroka: ',st);
write ('Kol-vo: ',i);
end.

Как сделать чтобы конец ввода был F1?
Casper098 вне форума Ответить с цитированием
Старый 14.11.2011, 21:24   #2
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Сообщение от Casper098 Посмотреть сообщение
Как сделать чтобы конец ввода был F1?
не понимаю вашего вопроса

Цитата:
Сообщение от Casper098 Посмотреть сообщение
while pos('.',st)<>0 do begin
st[pos('.',st)]:='!';
а здесь можно перед циклом вызвать Pos, а в условии проверять i > 0
Poma][a вне форума Ответить с цитированием
Старый 14.11.2011, 21:26   #3
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

Цитата:
Как сделать чтобы конец ввода был F1?
читать символы через readkey и как только нажата F1 заканчивать

Код:
writeln('Введите текст, окончание ввода F1:');
s:='';
repeat
c:=readkey;//читаем первый символ ко коду
if c<>#0 then//если не расширенный
 begin
  n:=n+1;//считаем
  write(c);//выводим
  s:=s+c;//пишем в строку
 end
else   //если первый 0
 begin
  c1:=readkey; //второй
  if c1=#59 then writeln;//если F1, конец ввода
 end;
if (length(s)=0) then//если всего 1 символ и это F1, повторить
 begin
  writeln('Вы не ввели ни одного символа, повторите ввод');
  s:='';
 end;
until (c=#0)and(c1=#59)and(length(s)>1);//есть символы кроме F1 и нажат он, конец ввода
(с)Puporev
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»
IT-man вне форума Ответить с цитированием
Старый 14.11.2011, 21:42   #4
Casper098
Пользователь
 
Регистрация: 18.09.2011
Сообщений: 33
По умолчанию

как это будет выглядеть с моей программой?
может по проще можно?
uses crt;
repeat
ch:=readkey
while ch<>#0 do
begin write
.....{обработка символа}
ch:=readkey;
end;
ch:=readkey;
until ch=#59;

вот так вроде можно на F1
как правильно мою программу в {обработку символа} вставить чтобы работала,а то я пробывал не получалось.
Casper098 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача на стринг Casper098 Помощь студентам 4 01.11.2011 00:49
Задача на стринг Casper098 Помощь студентам 8 03.10.2011 23:37
Стринг! Henkel Помощь студентам 2 14.12.2010 19:44
Тип Стринг Golovastik Общие вопросы C/C++ 5 02.09.2009 15:36
Стринг UnD)eaD)Snake Общие вопросы Delphi 5 08.10.2007 08:29