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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.02.2010, 12:09   #1
shelest
Пользователь
 
Аватар для shelest
 
Регистрация: 01.11.2009
Сообщений: 99
По умолчанию слова с одинаковым началом и концом

дана строка состоящая из слов, вывести на печать слова которые начинаются и заканчиваются на одну и ту же букву
Код:
type
str50=string[50];
var
i,n,l,k:byte;
 s:str50; s1:str50;
begin
readln(s);
k:=0;
for i:=1 to length(s) do
begin
if ((s[i]<>' ') and (s[i-1]=' ') or ((i=1) and (s[1]<>' '))) then
inc(k); //считает слова
for n:=1 to k do
begin
if s[i]<>' ' then
if s[1]=s[length(s)] then




writeln(s);
помогите плиз с алгоритмом работает если только строка состоит из одного слова
shelest вне форума Ответить с цитированием
Старый 28.02.2010, 14:37   #2
RUSt88
Участник клуба
 
Регистрация: 29.12.2009
Сообщений: 1,166
По умолчанию

с алгоритмом помогу

началом слова служит любая буква, т.е. сравниваем первый элемент строки на вхождение в массив букв, если это так, то присваиваем переменной напр B = 1 (т.е. щас начинается слово)
так например
case m[i]
'а'..'я': запоминаем первый элемент в переменную C типа char (не каждый раз, а только если B = 1, т.е. если начинается буква) здесь если B= 0 делаем B = 1
#32: это пробел (также надо предусмотреть точки, запятые и .п.), т.е. окончание слова, сравниваем последнюю букву слова с тем, что мы запомнили if m[i - 1] = C то говорим, что слово начинается и заканчивается с одной буквы, здесь делаем B = 0

ну эт так пример, его обмозговать хорошо и получится всё

не хочешь обмозговывать, пиши мне на мэйл, за 50 руб договоримся
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть]

Последний раз редактировалось RUSt88; 28.02.2010 в 14:43.
RUSt88 вне форума Ответить с цитированием
Старый 28.02.2010, 15:07   #3
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

Ладно сегодня я добрый
на паскале так:
Код:
var s:string;{глобальная переменная сюда вносим строку}

function Space(ch:char):boolean;{проверка на разделители}
const s=[' ', ',', '.', ':', ';', '!', '?', '"','	'];{резделяющие символы}
begin
  if ch in s then Space:=true else Space:=false;
end;

procedure words(s:string);{основная рабочая лошадка}
var i:integer;{счетчик символов}
slovo:string;{веделяемое в данный момент слово}
begin
  for i:=1 to length(s) do
  begin
    if Space(s[i])=false then slovo:=slovo+s[i]
    else
    begin
    {если первый и последний равны то выводим}
    if slovo[1]=slovo[length(slovo)] then writeln(slovo);
    slovo:='';{не забываем обнулить}
    end;
    {учитываем последнее слово тоже}
    if i=length(s) then if slovo[1]=slovo[length(slovo)] then writeln(slovo);
  end;

end;
begin{код программы в котором применяем функцию}
readln(s);{вводим строчку}
words(s);{анализируем ее и выводим на экран то что нужно}
readln;{ожидаем ответа пользователя}
end.
надеюсь хотяб спасибо скажешь. (отзыв)
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
все слова с нечетным количеством букв подходят для "ёлочной" рекурсии. Все буквы слова расположены в форм no_to Помощь студентам 0 04.01.2010 16:06
СИ. Удалить слова, которые содержат все повторяющиеся буквы первого слова nick23 Помощь студентам 7 01.11.2009 14:47
Много компонентов с общим началом delphin100 Общие вопросы Delphi 6 26.03.2009 15:52
Как удалить текст до слова, потом от слова ? littlecoder Общие вопросы Delphi 7 29.12.2008 00:57