IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Поиск и вывод слов, Из файла
Zloy student
сообщение 29.11.2005 17:01
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 16
Пол: Мужской
Реальное имя: Козел настоящий

Репутация: -  -1  +


Найти и вывести на экран из файла слова содержащие заглавные буквы.
Код
program a;
var f : text;
s:string;
i,n,nah:integer;
begin
assign (f,'file.txt');
reset (f);
while not eof (f) do begin
n:=length(s);
nah:=1;
for i:=1 to n do begin
if (s[i+1]=' ' or i=n) then begin
if ((copy (s,i-3,4)='onok') or (copy(s,,i-3,4)='enok') then
writeln (copy(s,nah,i-nah+1));
if s[i+2]<>' ' then nah:=i+2;
end;
end;
readln;
end.

Программа выдает слова зак-ся на -онок, - енок. Что нужно переделать и как?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 8)
klem4
сообщение 29.11.2005 17:08
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Ну во первых помоему ты забыл readln(f,s) ...


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Guest
сообщение 29.11.2005 17:09
Сообщение #3


Гость






To: Zloy student
Разбиение строки на слова - любым методом, на выбор... А потом - проверяй наличие в каждом слове Заглавной буквы...
 К началу страницы 
+ Ответить 
klem4
сообщение 29.11.2005 17:13
Сообщение #4


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Без разбиения тут коненчно не обойтись, но вот хранить слова в массиве здесь вовсе не нужно no1.gif


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Zloy student
сообщение 29.11.2005 17:15
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 16
Пол: Мужской
Реальное имя: Козел настоящий

Репутация: -  -1  +


Цитата
Ну во первых помоему ты забыл readln(f,s) ...

Не забыл. Просто проглядел когда печатал. Она работает. Так как проверить наличие заглавной?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Guest
сообщение 29.11.2005 17:16
Сообщение #6


Гость






klem4
Ну, добавь опять процедуру разбиения на строки... dry.gif И зачем вообще FAQ-и пишутся? Ты не знаешь?

М
пофлудим ?mad.gif
klem4

 К началу страницы 
+ Ответить 
klem4
сообщение 29.11.2005 17:19
Сообщение #7


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


смотришь пост N 3, идешь по ссылке, выбираешь понравившийся тебе способ выделения слов из строки, только не надо записывать их в массив, выделяешь слово и работаешь с этим фрагментом предварительно запомнив его в строковой дополнительной переменной, проверяешь следующее : if copy(buf, length(buf)-3, 4) = 'онок' then writeln(buf);


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 29.11.2005 17:26
Сообщение #8


Гость






Цитата
М
пофлудим ? mad.gif


Пофлудим... А на вопрос ответить? Зачем FAQ пишется? Ведь все готово уже... 3 строчки, и все будет прекрасно находиться...
 К началу страницы 
+ Ответить 
klem4
сообщение 29.11.2005 17:30
Сообщение #9


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Я тебя не узнал !zdarov.gif ... ну а что я не так-то сделал ? я же не стал переписывать ничего заного, а просто сказал что не стоит хранть выделенные слова в массиве... вот и все.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 19.07.2025 16:12
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"