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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2012, 21:23   #1
mimit
Пользователь
 
Регистрация: 18.10.2012
Сообщений: 49
По умолчанию Дано предложение. Вывести на экран все слова, начинающиеся и оканчивающиеся на одну и ту же букву.

Дано предложение. Вывести на экран все слова, начинающиеся и оканчивающиеся на одну и ту же букву.
Код:
var s:string;
    i,a,b:integer;
begin
  writeln('Введите предложение');
  readln(s);
  for i :=1 to length(s) do
  begin
    if ((s[i-1]=' ') or (i=1)) and (a<>0)
      then
        a:=i
      else
        if (s[i+1]=' ') or (i=length(s))
          then
            b:=i;
    if s[a]=s[b]
      then
        begin
          writeln(copy(s,a,b-a));
          a:=0;
          b:=0;
        end;
  end;
  readln;
end.
помогите найти ошибку
mimit вне форума Ответить с цитированием
Старый 05.12.2012, 21:29   #2
MihalNik
МегаМодератор
СуперМодератор
 
Регистрация: 27.11.2012
Сообщений: 5,657
По умолчанию

Поменял бы местами:
(s[i-1]=' ') or (i=1)
А чему изначально равно а?
Благими намерениями устлана дорога на programmersforum.ru
MihalNik вне форума Ответить с цитированием
Старый 05.12.2012, 21:32   #3
mimit
Пользователь
 
Регистрация: 18.10.2012
Сообщений: 49
По умолчанию

Цитата:
Сообщение от MihalNik Посмотреть сообщение
Поменял бы местами:
(s[i-1]=' ') or (i=1)
А чему изначально равно а?
Не понял что поменять? a не чему из начально
mimit вне форума Ответить с цитированием
Старый 05.12.2012, 21:41   #4
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
a не чему из начально
Тогда чего Вы хотите от переменной, которая равна черти-чему?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 05.12.2012, 22:25   #5
mimit
Пользователь
 
Регистрация: 18.10.2012
Сообщений: 49
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
Тогда чего Вы хотите от переменной, которая равна черти-чему?
больше нет вариантов решения у меня
mimit вне форума Ответить с цитированием
Старый 07.12.2012, 13:44   #6
mimit
Пользователь
 
Регистрация: 18.10.2012
Сообщений: 49
По умолчанию

Помогите перерешить задачу.

Код:
var s1,s:string; i:integer;
begin
    writeln('Введите предложение');
  readln(s);
  s1:='';
  i:=1;
  s:=s+'.';
  for i:=1 to length(s) do
  if (s[i]=' ') or (s[i]=',') or (s[i]=';') or (s[i]='.') or (s[i]='!') or (s[i]='?')
    then
      begin
        if s1[1]=s1[length(s1)]
          then
            writeln('Слово начинающиеся и заканчивающиеся на одну и туже букву: ',s1);
        s1:='';
      end
    else
      s1:=s1+s[i];
  readln;
end.
Вот написал заново задачку
Или может лучше так
Код:
var s1,s:string;
    i:integer;
begin
  writeln('Введите предложение');
  readln(s);
  s1:='';
  i:=1;
  s:=s+'.';
  repeat
    if (s[i]=' ') or (s[i]=',') or (s[i]=';') or (s[i]='.') or (s[i]='!') or (s[i]='?')
      then
        begin
          if s1[1]=s1[length(s1)]
            then
              writeln(s1);
          s1:='';
        end
      else
        s1:=s1+s[i];
    i:=i+1
  until i>length(s);
  readln;
end.

Последний раз редактировалось Stilet; 07.12.2012 в 21:18.
mimit вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вывести слова начинающиеся с латинских букв alex(21) Общие вопросы C/C++ 5 08.03.2012 19:11
Дано предложение. Выведите на экран те слова в которых буква "о" встречается дважды. Кристинааа Паскаль, Turbo Pascal, PascalABC.NET 5 08.06.2011 15:25
Дан динамический массив строк, вывести все слова начинающиеся с большой буквы C++ builder Memphi[s] Помощь студентам 0 02.03.2011 16:34
программа , которая считает английский текст из файла и выводит на экран слова, начинающиеся с гласных бу Fantom666 Помощь студентам 0 13.05.2010 19:01
процедура, которая выводит все слова, начинающиеся с согласных букв латинского алфавита. sergeyfsd Паскаль, Turbo Pascal, PascalABC.NET 6 21.02.2008 22:29