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

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

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

2 страниц V  1 2 >  
 Ответить  Открыть новую тему 
> подсчет количества слов списка.
ducky
сообщение 4.04.2011 21:57
Сообщение #1


самовнушение всегда спасает.
*

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

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


Подскажите, пожалуйста, с чего начать писать эту программу.

type слово= array [1..10] of char;
ТЭ=слово;

Описать функцию, подсчитывающую количество слов списка L, которые начинаются и оканчиваются одной и той же буквой.


--------------------
думай дважды, чтоб не пожалеть однажды.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Krjuger
сообщение 4.04.2011 22:28
Сообщение #2


Профи
****

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

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


Напишите как вводится список,какой именно список и что за русские слова? Это предполагаевый код или нечно вербальное?
Цитата
array [1..10] of char

Ограничение на каждое вводимое слово,что длинна не привышает 10 символов?
Начать стоит с того,что написать структуру самого списка.Для этого надо понять какие ограничения для него вы введете,либо они у вас есть.Затем надо организовать ввод списка,либо из файла либо с клавиатуры,далее как раз та самая функция для поиска числа слов,которое вам надо найти.Входные параметры у этой функции, либо список,либо список и первая буква,по которой вы будете считать слова,Выбор либо сугубо ваш,либо есть какие то конкретные требоваия по хранению данных,например.если значение буквы будет еще где то требоваться,то ввод лучше организовать вне функции и передават ькак параметр.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 5.04.2011 5:19
Сообщение #3


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Hi Ducky!! Давненько тебя не было видно! Где пропадала? надеюсь, не на других форумах? smile.gif

Цитата(ducky @ 4.04.2011 22:57) *
Подскажите, пожалуйста, с чего начать писать эту программу.

type слово= array [1..10] of char;
ТЭ=слово;

Описать функцию, подсчитывающую количество слов списка L, которые начинаются и оканчиваются одной и той же буквой.
Немного непонятно написано.. Если рассматривать только последнюю строчку, то ответ на твой вопрос проще простого - надо написать все процедуры/функции для списков (все это есть у нас в FAQ, но ты все равно спрашивай, что неясно). Ну, хорошо - может, и не все, но по крайней мере создание, добавление элемента, просмотр. Лучше сделать это все в одтельном unit'е. Ну, а после этого вся прога займет несколько строчек..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
ka2na4ei
сообщение 5.04.2011 13:09
Сообщение #4





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

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


Цитата(ducky @ 4.04.2011 21:57) *

Подскажите, пожалуйста, с чего начать писать эту программу.

type слово= array [1..10] of char;
ТЭ=слово;

Описать функцию, подсчитывающую количество слов списка L, которые начинаются и оканчиваются одной и той же буквой.


разве тип char может иметь длину более 1-го символа? не проще описать как строку...


--------------------
<...>
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Krjuger
сообщение 5.04.2011 15:22
Сообщение #5


Профи
****

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

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


ka2na4ei
А при чем тут тип char?Слово можно хранить как масив символов,что собственно тут и предполагалось.Тогда поиск нужных слов будет выполняться просто сравнением первого элемента массива с исходным.
Допустим вы опишете как строку,но извините,а что если на одной строке несколько слов?Тогда вам надо как то усложнять считывание данных из файла,либо использовать другое представление хранимых данных?В общем,упрощения не вижу совсем.Кстати не забывайте,что основная структура данных это список.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
ducky
сообщение 5.04.2011 17:39
Сообщение #6


самовнушение всегда спасает.
*

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

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


Цитата(Lapp @ 5.04.2011 5:19) *

Hi Ducky!! Давненько тебя не было видно! Где пропадала? надеюсь, не на других форумах? smile.gif

Немного непонятно написано.. Если рассматривать только последнюю строчку, то ответ на твой вопрос проще простого - надо написать все процедуры/функции для списков (все это есть у нас в FAQ, но ты все равно спрашивай, что неясно). Ну, хорошо - может, и не все, но по крайней мере создание, добавление элемента, просмотр. Лучше сделать это все в одтельном unit'е. Ну, а после этого вся прога займет несколько строчек..


День добрый)
Нет-нет, ни в коем случае) отдыхали просто от программирования)

Добавлено через 1 мин.
Спасибо всем! сейчас буду пытаться сделать!)


--------------------
думай дважды, чтоб не пожалеть однажды.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 6.04.2011 5:41
Сообщение #7


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(ducky @ 5.04.2011 18:39) *
Спасибо всем! сейчас буду пытаться сделать!)

Хорошо, давай. Ты только особо не упирайся, сразу показывай, что получается. Так будет лучше всем, потому что ошибки (если будут, конечно)) будут исправляться на ранней стадии. А еще ты поимеешь опыт коллективной работы )).

Krjuger, замечание ka2na4ei совершенно не лишено смысла. Хотя он и не вполне понимает, может, смысл типа char, но для хранения слова все же лучше использовать тип string - хотя, конечно, укороченный, string[10]. Иначе придется изобретать механизм определения длины слова.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Krjuger
сообщение 6.04.2011 16:32
Сообщение #8


Профи
****

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

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


Ну я про это и говорил,что тогда надо будет либо как то заранее обговаривать формат хранимых данных,например,чтобы на каждой строке было лиш 1 слово,либо как то выдирать из исходного файла(да,все это время я предполагал,что ввод данных идет из файла,а не с клавиатуры) каждое слово и записывать в строку.
Цитата
А еще ты поимеешь опыт коллективной работы

Что же так грубо,не ожидал от вас..."получишь"как то мягче))))
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 7.04.2011 0:44
Сообщение #9


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(Krjuger @ 6.04.2011 17:32) *
Ну я про это и говорил,что тогда надо будет либо как то заранее обговаривать формат хранимых данных,например,чтобы на каждой строке было лиш 1 слово,либо как то выдирать из исходного файла(да,все это время я предполагал,что ввод данных идет из файла,а не с клавиатуры) каждое слово и записывать в строку.
Krjuger, ты меня не понял. Пожалуйста, перечитай мой пост.

Цитата
Что же так грубо,не ожидал от вас..."получишь"как то мягче))))
???
Что такого грубого в слове иметь?.. blink.gif Может, объяснишь?


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
ducky
сообщение 12.04.2011 19:24
Сообщение #10


самовнушение всегда спасает.
*

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

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


блондинка и делфи

program Project2;

{$APPTYPE CONSOLE}

uses
SysUtils;

type pt = ^elem;
elem = record
info : byte;
next : pt;
end;

var
r: pt;
ok: boolean;
n: Real;

Procedure Search (first: pt; x: integer; var q: pt);

begin
{ TODO -oUser -cConsole Main : Insert code here }

First:= nil;
While n>0 do
begin
New®;
r^.Next:=first;
r^.Number:=n;
First:=r;
n := n-1
end;

r: = first;
ok: = true;
while (r<>nil) and ok do
if r^.Number=x then ok:=false else r:=r^.Next;
q: = r

end.


--------------------
думай дважды, чтоб не пожалеть однажды.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 13.04.2011 0:22
Сообщение #11


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Нет, дорогая блондинка ducky )).
Ты спрашивала:
Цитата(ducky @ 4.04.2011 22:57) *
Подскажите, пожалуйста, с чего начать писать эту программу.

Я говорю тебе еще раз: начни с реализации списка как такового. Перед поиском (который требуется в задаче) тебе надо заполнить список. Значит, нужны как минимум процедуры инициализации и заполнения. Откуда, кстати, ты его будешь брать? из файла? Или вводить с клавы каждый раз? Подумай над этим тоже.
Затем, для поиска понадобится просмотр списка. То есть передвижение по списку (по крайней мере, вперед).
Все это есть в нашем FAQ.

ducky, не ленись.. то, что ты написала в предыдущем посте - галиматья, ты ее откуда-то выдернула, признайся.. "что-то похожее на список" )) Думала, я проглочу? )) Начни делать список. Лучше пусть будут только две строчки, но твои и в нужном направлении. Ладно? smile.gif и между нами снова будет совет да любовь ))


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
ducky
сообщение 13.04.2011 0:29
Сообщение #12


самовнушение всегда спасает.
*

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

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


выключили блондинку. rolleyes.gif
мне же надо список чтоб в него можно добавлять элементы было?


--------------------
думай дважды, чтоб не пожалеть однажды.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 13.04.2011 0:29
Сообщение #13


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


ну или напиши такие кодовые слова: "никак не могу врубиться, чего ты от меня хочешь.."
но тогда я буду долго и нудно объяснять, что такое список, и с чем его употребляют в пищу..

Добавлено через 2 мин.
Цитата(ducky @ 13.04.2011 1:29) *
выключили блондинку. rolleyes.gif
mode: blondy = OFF;
wow!!! smile.gif

Цитата
мне же надо список чтоб в него можно добавлять элементы было?

Да. Сможешь? показать?


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
ducky
сообщение 13.04.2011 0:37
Сообщение #14


самовнушение всегда спасает.
*

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

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


program Project2;

{$APPTYPE CONSOLE}

uses
SysUtils;

type
name=array [1..10] of Char;
p=^elem;
elem=record CC:p;
end;

var
slovo:name;
i:Integer;
nachalo, tek, ob:p;

begin
{ TODO -oUser -cConsole Main : Insert code here }
New (nachalo);
Readln;
writeln ('первый элемент списка: ');
for i:=1 to 10 do read (slovo [i]);
Readln;
nachalo^.CC:=nil;
nachalo^.data:=slovo;

while slovo<> ' ' do
begin
tek:=nachalo;
New(ob);
Writeln ('следующее слово');
for i:=1 to 10 do read (slovo[i]);
Readln;
end;

end.




Добавлено через 18 мин.
только я единственного не пойму, этот список в итоге как список группы/класса будет выглядить или как набор слов в строчку?

Добавлено через 7 мин.
а где я слова беру, они где-то уже должны быть записаны? unsure.gif
ужас

Сообщение отредактировано: ducky - 13.04.2011 1:00


--------------------
думай дважды, чтоб не пожалеть однажды.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 13.04.2011 1:09
Сообщение #15


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Спасибо, ducky, это уже лучше ))

Опиши запись правильно.
ВСЕ названия типов начинай с t, например tName.
Почему ты делаешь массив of char? делай string[10], с ним удобнее работать (см. выше, пост Казначея и далее мой)
Оформи как unit.
Вот тебе заготовка:
unit WordList;

interface

type
tWord= string[10];
tpElem= ^tElem;
tElem= record
wrd: tWord;
next: tpElem
end;

procedure AddElem(l: tElem; w: tWord);


implementation

procedure AddElem(l: tElem; w: tWord);
begin
// тут код добавления элемента
end;

begin
end.


Добавлено через 4 мин.
Цитата(ducky @ 13.04.2011 1:37) *
только я единственного не пойму, этот список в итоге как список группы/класса будет выглядить или как набор слов в строчку?
Список - это список.. Не надо заботиться о том, как он выглядит. Это распределенная структура данных.

Цитата
а где я слова беру, они где-то уже должны быть записаны? unsure.gif
В файле )). Либо по слову на строчке, либо просто текстом (тогда надо делать процедуру распознавания отдельных слов).

Цитата
ужас
кайф!!!! smile.gif


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
ducky
сообщение 13.04.2011 1:24
Сообщение #16


самовнушение всегда спасает.
*

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

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


добавление элемента, то есть формирование списка?

а в type всегда с t надо начинать называть?

Сообщение отредактировано: ducky - 13.04.2011 1:25


--------------------
думай дважды, чтоб не пожалеть однажды.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 13.04.2011 1:58
Сообщение #17


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(ducky @ 13.04.2011 2:24) *
добавление элемента, то есть формирование списка?
Ну назови это так, если хочешь )). Мне кажется, "добавление элемента" правильнее описывает функционал.

Цитата
а в type всегда с t надо начинать называть?
Это не есть требование языка. Это моя личная просьба )). Учись организовывать то, что ты создаешь. В маленькой программке у тебя есть шанс не запутаться с любыми названиями. Если программа превышает пару экранов - запутаешься наврняка.

Это услуга, которую ты делаешь СЕБЕ smile.gif


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
ducky
сообщение 6.05.2011 21:34
Сообщение #18


самовнушение всегда спасает.
*

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

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


так? sad.gif


unit WordList;

interface

type
tWord= string[10];
tpElem= ^tElem;
tElem= record
wrd: tWord;
next: tpElem
end;

procedure AddElem(l: tElem; w: tWord);


implementation

procedure AddElem(l: tElem; w: tWord);
begin
First: = nil;
While n>0 do
begin
New®;
r^.Next:=first;
r^.Number:=n;
First:=r;
n := n-1
end;

begin
end.


Сообщение отредактировано: ducky - 6.05.2011 21:34


--------------------
думай дважды, чтоб не пожалеть однажды.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Гость
сообщение 7.05.2011 8:24
Сообщение #19


Гость






Цитата(Lapp @ 7.04.2011 0:44) *

Что такого грубого в слове иметь?.. blink.gif Может, объяснишь?[/color]

smile.gif с технической точки зрения ничего, а в оттенках смысла, который может получится приставкой "по-" "от-" или при употреблении в прошешем времени (да и в настоящем... и в будущем...)
от***
по***
***л Я их
 К началу страницы 
+ Ответить 
Krjuger
сообщение 7.05.2011 13:49
Сообщение #20


Профи
****

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

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


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

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

 



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