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

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

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

> Работа со строками, динамические списки
habi
сообщение 11.05.2008 19:03
Сообщение #1


Новичок
*

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

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


Volvo писал: _index.php?s=&showtopic=6972&view=findpost&p=50569 .
(тут стоит защита от спама) _ замените на forum.pascalnet.ru

Так вот можно ли переделать этот метод, так чтобы можно было k-слово?
Пример:
Дано: "Привет, как дела?"
Вывод:
Привет
Как
Дела

Нужно взять слово "Как", то есть k[2].
Помогите переделать пожалуйста.

Сообщение отредактировано: habi - 11.05.2008 19:05
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 11)
compiler
сообщение 11.05.2008 19:38
Сообщение #2


Человек
*****

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

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


если с минимальными изменениями(не менять начальные функции), то можно так..
{...}
   Count := GetWords(s, L, ['-', ';', '.']);
   if (i > count) or (i < 1) then writeln('Error!') else begin   
      p := L.first;
      while i > 1 do begin
	 p := p^.next;
	 i:=i-1;
      end;
      writeln(p^.data);
   end;
{...}

i - порядок слова(индексирование начинается с единицы)

зы
В ЧаВо: Разбиение на слова. Все способы. , есть небольшая "оплошность", присутствует лишняя глобальная переменная i(строка 62), кто может подправьте..

Сообщение отредактировано: compiler - 11.05.2008 19:46


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
habi
сообщение 11.05.2008 20:54
Сообщение #3


Новичок
*

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

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


Спасибо.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
habi
сообщение 24.05.2008 19:29
Сообщение #4


Новичок
*

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

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


Вот набросал код, http://pastebin.com/m4e1fc194 пользуясь FAQ.

Не могу понять, как правильно описывать процедуры.


Алгоритм такой.
Сначала открываем файл, ищем строку(с помощью getwords), и если эта строка максимальная, то заносим эту строку в strmax, потом повторно используем гетвордс, для вытаскивания и-того слова.
...


В идеале думаю надо сделать процедуру поиска макс строки отдельно.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 24.05.2008 20:00
Сообщение #5


Гость






Ты бы задание привел полностью, а то догадываться, зачем тебе эти преобразования - не очень прельщает... Может быть все проще делается...
 К началу страницы 
+ Ответить 
habi
сообщение 24.05.2008 20:02
Сообщение #6


Новичок
*

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

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


Мне нужно i-oe слово максимальной строки файла.
желательно чтобы в параметры процедуры указывалось номер слова и имя файла.
и желательно список, а не массив =)

Сообщение отредактировано: habi - 24.05.2008 20:06
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 24.05.2008 21:13
Сообщение #7


Гость






"Максимальной строки" по какому параметру? Самой длинной? Тогда твой алгоритм из поста №4 неверен.
 К началу страницы 
+ Ответить 
habi
сообщение 24.05.2008 21:22
Сообщение #8


Новичок
*

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

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


ой =)
Максимальная строка - это строка, в которой содержится наибольшее количество слов.
Словами не являются символы вида: ,.!\/!.........
=)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 24.05.2008 22:31
Сообщение #9


Гость






Вот это проверь:


Прикрепленные файлы
Прикрепленный файл  __habi.pas ( 2.33 килобайт ) Кол-во скачиваний: 190
 К началу страницы 
+ Ответить 
habi
сообщение 24.05.2008 22:39
Сообщение #10


Новичок
*

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

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


Спасибо. а зачем инитЛист, что делает?

Сообщение отредактировано: habi - 24.05.2008 22:39
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 24.05.2008 22:44
Сообщение #11


Гость






Цитата
зачем инитЛист, что делает?

ОбNILяет указатели first и last... Когда переменные типа TWordList были описаны глобально, они обнулялись компилятором. Теперь они описываются локально, значит позаботиться о присвоении начальных значений должен программист...
 К началу страницы 
+ Ответить 
habi
сообщение 24.05.2008 22:47
Сообщение #12


Новичок
*

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

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


Спасибо учту, дабы, не дать утечки =)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 

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