Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Pascal]Найти буквы и вывести слова, Работа со строками... 
:(
    Опции темы
CHITER
Дата 10.10.2008, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Найти в предложении все слова, в которых встречаются первые три буквы первого слова предложения.
PM MAIL WWW ICQ   Вверх
volvo877
Дата 10.10.2008, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

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



Для домашних заданий, курсовых, существует "Центр Помощи"

Тема перенесена! 
PM MAIL   Вверх
Rodman
Дата 10.10.2008, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

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




M
Rodman
Модератор: Название темы должно содержать язык написания!

PM MAIL WWW Skype GTalk YIM MSN   Вверх
mr.Anderson
Дата 10.10.2008, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


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

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



Rodman, просто до этого тема в паскале была, поэтому и язык не указан. smile Паскаль, поправьте.

Добавлено через 13 минут и 5 секунд
Решаю...

Это сообщение отредактировал(а) mr.Anderson - 10.10.2008, 20:58


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
mr.Anderson
Дата 10.10.2008, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


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

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



Готово!
Код

program SearchingOfLetters;

var
 s : String;  //предложение
 w : String;  //слово
 i : Integer; //счетчик
 l : Integer; //длина предложения
 x : Array [1..3] of Char; //массив букв, которые будем искать
 m : Integer; //с этого индекса начнем искать (первое слово пропускаем)

function findLetters(w: String): Boolean;
var
 j : Integer;
 k : Integer;
 u : Integer;
begin
 Result := False;

 u := Length(w);

 for j:=1 to 3 do
  for k:=1 to u do
   if (w[k] = x[j]) then //нашли букву
   begin
    findLetters := True;
    break;
   end;
end;

begin
 readln(s);

 for i:=1 to 3 do
  x[i] := s[i];

 l := Length(s);

 for i:=3 to l do
  if (s[i] = ' ') then
  begin
   m := i;
   break;
  end;

 //ищем уже от запомненного индекса, пропуская первое слово
 for i:=m to l do
 begin
  if (s[i] = ' ') then
  begin
   if (w <> '') then
    if (findLetters(w)) then
     writeln(w);

   w := '';
  end
  else w := w + s[i];
 end;

 readln;
end.



Это сообщение отредактировал(а) mr.Anderson - 10.10.2008, 21:14


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
CHITER
Дата 10.10.2008, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



благодарю! smile 
PM MAIL WWW ICQ   Вверх
THandle
Дата 11.10.2008, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

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



Хоть вопрос и решен, но вот мой вариант. ИМХО, более наглядный.

Код

program Project1;

var
  S: String;
  Position: Integer;
  W: String;
  F: String[3];
  StrLen: Integer;

function FindWord: String;
var
  tmpStr: String;
begin
  tmpStr := '';
  repeat
    Inc(Position);
    if S[Position] <> ' ' then
      tmpStr := tmpStr + S[Position];
  until (S[Position] = ' ');
  FindWord := tmpStr;
end;

begin
  ReadLn(S);
  Position := 0;
  S := S + ' ';
  StrLen := Length(S);
  W := FindWord;
  if Length(W) < 3 then
    Exit;
  F := Copy(W, 1, 3);
  repeat
    W := FindWord;
    if Pos(F, W) <> 0 then
      WriteLn(W);
  until Position >= StrLen;
  ReadLn;
end.


Это сообщение отредактировал(а) THandle - 13.10.2008, 18:37
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

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


 




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


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

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