Модераторы: volvo877, Snowy, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> последовательность слов, нужна помощь 
:(
    Опции темы
Лелик
  Дата 1.11.2006, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 1.11.2006

Репутация: нет
Всего: нет



Хлопцы и Хлопчихи!внемлите слезной мольбе и спасите от верной смерти от рук злобного препода!у меня уже голова квадратная от этой , я не боюсь этого слова, зверской задачи! smile помогите пожааалуйста!

Дана последовательность слов. Напечатать те слова последовательности, которые отличны от последнего слова и удовлетворяют следующему свойству: слово совпадает с начальным отрезком латинского алфавита (a, ab, abc, abсd,...).

Короче, как я поняла, слова разделяются  пробелами. и если ввести: a ujik abcd yu ab agfhjgy a, то по идее должно получиться вот такое чудо: abcd ab .

PM MAIL   Вверх
Zero
Дата 1.11.2006, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Цитата(Лелик @  1.11.2006,  16:05 Найти цитируемый пост)
то по идее должно получиться вот такое чудо: abcd ab

Не совсем, я бы сказал вот такое чудо: a abcd ab a
PM MAIL ICQ   Вверх
Nicholas_S
Дата 1.11.2006, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 486
Регистрация: 12.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 19



Попробуй:

Код

  const str = 'a ujik abcd yu abcd agfhjgy a';
            al = 'abcdefghijklmnopqrstuvwxyz';
  var i: Integer;
      s, sLast: String;
begin
  s     := '';
  sLast := '';
  for i:=1 to Length(str)+1 do
  begin
    if (str[i]=' ') or (i=Length(str)+1) then
    begin
      if (Pos(s, al)=1) and (s<>sLast) then
      begin
        writeln(s);
        sLast := s;
      end;
      s := '';
    end
    else
      s := s + str[i];
  end;



--------------------
...все в мире относительно
PM   Вверх
Лелик
Дата 1.11.2006, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 1.11.2006

Репутация: нет
Всего: нет



спасибо, конечно попробую, но в условии сказано, что слова должны быть отличны от последнего smile

Добавлено @ 16:40 
 Nicholas_S,  а если вводить произвольную строку слов, а не константой ее задавать то это работать будет или нет?

PM MAIL   Вверх
Zero
Дата 1.11.2006, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Цитата(Лелик @  1.11.2006,  17:33 Найти цитируемый пост)
а если вводить произвольную строку слов, а не константой ее задавать то это работать будет или нет?

Лелик, дык ты попробуй и убедишся.
Цитата(Лелик @  1.11.2006,  17:33 Найти цитируемый пост)
но в условии сказано, что слова должны быть отличны от последнего 

Извиняюсь за предыдущий пост, действительно твоё чудо было верным.
А на счёт учёта условия, сделай цикл по каждому слову, и проверяй его на соответствие с последним словом.
PM MAIL ICQ   Вверх
Nicholas_S
Дата 1.11.2006, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 486
Регистрация: 12.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 19



Лелик, так проверка на последнее найденное слово стоит уже, смотри внимательно. Если я не верно понял условие - пни. smile 


--------------------
...все в мире относительно
PM   Вверх
Zero
Дата 2.11.2006, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Я сразу не обратил внимание, но написана чушь...
Nicholas_S, ты б хоть проверил код перед отправкой.
Кроме того не оптимально, алфавит английский уже есть в таблице аски.
Код

uses crt;
var
  s,b,ls:string;
  i,j:integer;
  bool:boolean;
Begin
  clrscr;
  write('Введите S=');
  readln(s);

  ls := ''; i:=length(s);
  while s[i] <> ' ' do
    begin
      ls := s[i] + ls;
      i := i - 1;
    end;

  while s <> '' do
    begin
      b := copy(s,1,pos(' ',s)-1);
      bool := true;
      for i:=1 to length(b) do
        begin
          if length(b) > 1 then
            if i <> length(b) then
              if ord(b[i])+1 = ord(b[i+1]) then continue
              else
                begin
                  bool := false;
                  break;
                end
          else bool := true;
        end;
      if bool and (b <> ls) then write(b,' ');
      delete(s,1,length(b)+1);
    end;
End.

PM MAIL ICQ   Вверх
Nicholas_S
Дата 2.11.2006, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 486
Регистрация: 12.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 19



Zero, покажи, где написана чушь? Что есть не "оптимально"? Длина строки в в 27 символов? Вот это да, чушь.


--------------------
...все в мире относительно
PM   Вверх
Zero
Дата 2.11.2006, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Nicholas_S, она у тебя не работает...
Начнём с этой строки:
Код

if (str[i]=' ') or (i=Length(str)+1) then

с учётом что она у тебя как константа, то к ней нельзя обращатся как к масиву.
Подобных ошибок туева хуча.

Добавлено @ 21:20 
Цитата(Nicholas_S @  2.11.2006,  21:58 Найти цитируемый пост)
Что есть не "оптимально"?

Использование дополнительной константы в которой перечисляется алфавит, когда он уже есть в таблице аски.
PM MAIL ICQ   Вверх
Nicholas_S
Дата 2.11.2006, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 486
Регистрация: 12.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 19



Цитата

с учётом что она у тебя как константа, то к ней нельзя обращатся как к масиву.
Подобных ошибок туева хуча.


"Да ты че!" Уважаемый эксперт, позвольте спросить, как давно вы изучаете язык программирования "Паскаль"? Признаться честно, сам с паскалем не работал уже достаточно давно, поэтому могут быть некоторые неточности (которые не возникают в Дельфи, например), однако концепция верна. И если спрашивающий не сможет поправить ТАКУЮ ошибку, что уж и говорить.
1. Во-первых, можно НЕ объявлять константой, объявить переменной, учитывая что строка, скорее всего, будет вводиться.
2. Подвело ваше незнание типизации, объявляем следующим образом: const str : String = 'abcd...'; - проверьте.

Можно ли еще про "туеву хучу", пжлст?

Цитата

Использование дополнительной константы в которой перечисляется алфавит, когда он уже есть в таблице аски. 


Все разумно в меру. Занятые 28 байт памяти для подобной задачи... ну смешно объяснять, чесслово.  smile 


--------------------
...все в мире относительно
PM   Вверх
Zero
Дата 2.11.2006, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Цитата(Nicholas_S @  2.11.2006,  22:32 Найти цитируемый пост)
"Да ты че!" Уважаемый эксперт, позвольте спросить, как давно вы изучаете язык программирования "Паскаль"? 

Я его уже давно не изучаю его, есть др. намного полезнее, а изучал на 1-курсе.
Цитата(Nicholas_S @  2.11.2006,  22:32 Найти цитируемый пост)
Признаться честно, сам с паскалем не работал уже достаточно давно, поэтому могут быть некоторые неточности (которые не возникают в Дельфи, например), однако концепция верна.

А ты не можешь промыслить на то какие вопросы задаёт автор, из чего можно сделать что он начинающий и давать ему не рабочий код, даже если там не хватает точки с запятой не имеет смысла, т.к. некоторые пишут типа "у меня не работает" и продолжают задавать вопросы, из чего будет следовать что зря потратил время на написание ответа. У тебя там куча подобных ошибок. Ты проверь хоть чё написал, потом будешь ОТМАЗЫВАТСЯ
Цитата(Nicholas_S @  2.11.2006,  22:32 Найти цитируемый пост)
1. Во-первых, можно НЕ объявлять константой, объявить переменной, учитывая что строка, скорее всего, будет вводиться.

Я вообще не знаю зачем тогда тебе в голову взбрело изначальна использовать константу.
Цитата(Nicholas_S @  2.11.2006,  22:32 Найти цитируемый пост)
2. Подвело ваше незнание типизации, объявляем следующим образом: const str : String = 'abcd...'; - проверьте.

Этот образ и первоначальный отличаются, и не надо лепить что тут собрались идиоты которые первый раз за копм сели, и не могут отличить строковую константу от др.
Цитата(Nicholas_S @  2.11.2006,  22:32 Найти цитируемый пост)
Можно ли еще про "туеву хучу", пжлст?

Проверь и сам увидишь. Слишком примитивный вопрос чтобы на него отвечать.
Цитата(Nicholas_S @  2.11.2006,  22:32 Найти цитируемый пост)
Цитата

Использование дополнительной константы в которой перечисляется алфавит, когда он уже есть в таблице аски. 



Все разумно в меру. Занятые 28 байт памяти для подобной задачи...

Дело не взанятости а в оптимальности (сюда могут входить многие факторы включая хороший/плохой стиль программирования)

Это сообщение отредактировал(а) Zero - 2.11.2006, 22:02
PM MAIL ICQ   Вверх
Nicholas_S
Дата 2.11.2006, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 486
Регистрация: 12.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 19



Zero, напыщеный юноша, типичный максимализм.
Уважаемый модератор, я, конечно, понимаю, что новички тут имеют меньший вес, но нельзя ли как-то это прекратить? Противно просто читать такие посты.


--------------------
...все в мире относительно
PM   Вверх
Zero
Дата 2.11.2006, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Nicholas_S, читай правила. smile 
http://forum.vingrad.ru/act-SR/f-27.html
Ты нарушаеш пункт номер 2 по нескольким категориям.

Добавлено @ 22:45 
Кроме того, перед отправкой если не уверен в коде програм то проверяй его. ИМХО я ничего оскорбительного в твой адрес не писал.
PM MAIL ICQ   Вверх
Nicholas_S
Дата 2.11.2006, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 486
Регистрация: 12.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 19



Zero, код проверен - код рабочий, за небольшим уточнением, о котором сказал чуть выше. Сноска на то, как автор кода (то бишь я) понял ограничения - тоже см. выше. Ни один из пунктов правил форума не нарушил.

Добавлено @ 22:57 
Ах, да, не сочтите за вульгарность, но что делает программист 1С в разделе Паскаль?  smile  smile 


--------------------
...все в мире относительно
PM   Вверх
Zero
Дата 2.11.2006, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Цитата(Nicholas_S @  2.11.2006,  23:51 Найти цитируемый пост)
код проверен -

Ну допустим исправим константу и добавим в конце энд.
Он у тебя на строку:a ujik abcd yu abcd agfhjgy xyz a
выдаёт:
a
abcd
a


А как должен, запусти мою прогу и посмотри.

Добавлено @ 23:06 
Цитата(Nicholas_S @  2.11.2006,  23:51 Найти цитируемый пост)
Ах, да, не сочтите за вульгарность, но что делает программист 1С в разделе Паскаль?

Начинал я с паскаля... А программист я не только в 1С, просто щас в основном сижу на ней...

Это сообщение отредактировал(а) Zero - 2.11.2006, 23:08
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.2233 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.