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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2013, 17:38   #1
Confused
Пользователь
 
Регистрация: 14.04.2013
Сообщений: 12
По умолчанию Символьная информация.

Задача состоит в том, что надо определить, какое предложение ты ввел с клавиатуры. Концом предложения считать: ? ! и .
Моя проблема состоит в том, например, когда я ввожу 'Privet mir !' знак восклицания она не читает и не выводит результат 'Voskl'

Код:
Program LR_6;
Uses    CRT;
Var     sent:string;
        znak:char;
Begin
  ClrScr;
  ReadLn(sent, znak);
    if znak='!' then WriteLn('Voskl');
    if znak='?' then WriteLn('Voprosit');
    if znak='.' then WriteLn('Povestv');
ReadLn;
End.
Confused вне форума Ответить с цитированием
Старый 09.11.2013, 19:00   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
  ReadLn(sent);
  znak:=copy(sent,Length(Sent),1);
    if znak='!' then WriteLn('Voskl');
    if znak='?' then WriteLn('Voprosit');
    if znak='.' then WriteLn('Povestv');
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.11.2013, 19:14   #3
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Код:
znak:=copy(sent,Length(Sent),1);
Эм.. а znak := sent[Length(sent)]; ?
Poma][a вне форума Ответить с цитированием
Старый 09.11.2013, 19:26   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Верно, но что будет если там будет пустая строка? Твой вариант упадет на ошибку, а сору() просто пустоту вернет - там защита в ней от выходя за пределы строки, потому я и люблю ее использовать, не смотря на то что твой вариант оптимальнее для компьютера.
Впрочем
Код:
if Length(znak)>0 then znak := sent[Length(sent)] else znak:='';
вполне сработает на замену сору в данной задаче.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.11.2013, 19:46   #5
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
Верно, но что будет если там будет пустая строка?
Верно.. Мой косяк.. Спасибо!
Poma][a вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++.Символьная информация. DIQUON Помощь студентам 4 22.12.2012 00:43
Символьная строка Winsic Общие вопросы C/C++ 4 14.05.2012 09:02
Символьная информация KateMM Помощь студентам 2 18.01.2012 22:25
символьная информация Ilya_Vydysh Паскаль, Turbo Pascal, PascalABC.NET 1 25.12.2011 00:24
Символьная на С Max3 Помощь студентам 1 16.05.2010 20:47