Да, задачи на первый-то взгляд лёгкие....
1)Дан текст. Посчитать количество слов, заканчивающихся на заданную букву и перенести их в другую строку, написав через запятую. Вывести полученную строку на экран.
2)Дан текст. Посчитать количество слов в тексте.
Заранее спасибо.
Работа со строками
Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill
- Колядин Максим
- Сообщения: 297
- Зарегистрирован: 16 ноя 2006, 19:09
- Откуда: Seattle, WA
- Контактная информация:
Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали...
Откуда берется текст? Из файла, из Мемо, откуда-то еще?
Как разбивать строку на слова - где-то обсуждалось (по-моему Cade спрашивал, а Somewhere отвечал).
стало быть (изображаю общую идею, думаю, разберешься)
Как разбивать строку на слова - где-то обсуждалось (по-моему Cade спрашивал, а Somewhere отвечал).
стало быть (изображаю общую идею, думаю, разберешься)
Код: Выделить всё
wordscount:=0;
zadannayabukva='A';
for i:=0 или 1 (в зависимости от нумерации) to textlinescount do
begin
s:=text[i];
s_out:='';
while s<>'' do
begin
s1:={взять слово из строки s};
inc(wordscount);
if s1[length(s1)]=zadannayabukva
then s_out:=s_out+s1+', ';
end;
delete(s_out,length(s_out),2);// удаляем последнюю запятую и пробел
writeln(s_out);
end;
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
- Колядин Максим
- Сообщения: 297
- Зарегистрирован: 16 ноя 2006, 19:09
- Откуда: Seattle, WA
- Контактная информация:
Спасибо, разобрался
Программист - это человек, который решает способом, который вы не понимаете, проблемы, о которых вы даже не подозревали...
- Oleg_Rus
- Сообщения: 335
- Зарегистрирован: 16 окт 2006, 09:56
- Откуда: г.Улан-Удэ, респ.Бурятия, Российская Федерация
- Контактная информация:
Хыиуду, а не проще ли будет заранее поставить условие сравнения с Zadannayabukva
if (text=Zadannayabukva) and (Text[i+1] = ' ') Then
// забивай в в строку
мне кажется так будет и проще, и понятней...
if (text=Zadannayabukva) and (Text[i+1] = ' ') Then
// забивай в в строку
мне кажется так будет и проще, и понятней...
e-mail: garmayev@yandex.ru
---------------------------------------------------------------------------
<a href="http://nick-name.ru/sertificates/711965/"><img src="http://nick-name.ru/img.php?nick=Garmay ... =2&text=t5" alt="Никнейм Garmayev зарегистрирован!" /></a>
---------------------------------------------------------------------------
<a href="http://nick-name.ru/sertificates/711965/"><img src="http://nick-name.ru/img.php?nick=Garmay ... =2&text=t5" alt="Никнейм Garmayev зарегистрирован!" /></a>
Можно и так. Тогда надо еще проверять не только пробел, но и некоторые знаки препинания. Например, запятая или точка после буквенного символа однозначно указывает на окончание слова, а дефис или апостроф являются частями слова (кое-где, д'Артаньян). И еще сделать проверку, не является ли буква последней в строке. А то ведь падать будет с эксепшном...
if (text=Zadannayabukva) and
((i=length(text)) or (pos(Text[i+1],' !?.,')<>0)
Then // забивай в в строку
if (text=Zadannayabukva) and
((i=length(text)) or (pos(Text[i+1],' !?.,')<>0)
Then // забивай в в строку
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
- Oleg_Rus
- Сообщения: 335
- Зарегистрирован: 16 окт 2006, 09:56
- Откуда: г.Улан-Удэ, респ.Бурятия, Российская Федерация
- Контактная информация:
Точно... так будет и красивее и более наглядно
e-mail: garmayev@yandex.ru
---------------------------------------------------------------------------
<a href="http://nick-name.ru/sertificates/711965/"><img src="http://nick-name.ru/img.php?nick=Garmay ... =2&text=t5" alt="Никнейм Garmayev зарегистрирован!" /></a>
---------------------------------------------------------------------------
<a href="http://nick-name.ru/sertificates/711965/"><img src="http://nick-name.ru/img.php?nick=Garmay ... =2&text=t5" alt="Никнейм Garmayev зарегистрирован!" /></a>
Ну... не скажу, что красивее и более наглядно, зато правильнее и более надежноOleg_Rus писал(а):Точно... так будет и красивее и более наглядно

Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.