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

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

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

 
 Ответить  Открыть новую тему 
> Задача социологического опроса
сообщение
Сообщение #1


Новичок
*

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

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


Вот условия задачи:

Каждый из N (N – заданное число) опрошенный назвал одну, две или три страны, как возможных претендентов на победу в чемпионате мира по футболу.
Определить страну, которая является по мнению опрошенных наиболее вероятным победителем. Напечатать список таких стран, в случае, если в ходе опроса они получили одинаковое количество голосов.

Разобраться никак не могу как ее делать (((((((((((
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Новичок
*

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

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


Цитата(mashka-promakashka @ 17.03.2009 14:29) *

Вот условия задачи:

Каждый из N (N – заданное число) опрошенный назвал одну, две или три страны, как возможных претендентов на победу в чемпионате мира по футболу.
Определить страну, которая является по мнению опрошенных наиболее вероятным победителем. Напечатать список таких стран, в случае, если в ходе опроса они получили одинаковое количество голосов.

Разобраться никак не могу как ее делать (((((((((((

Ну так и печатайте. Массив для стран. Индекс массива может быть именем или кодом страны. За каждый голос элемент массива увеличивается на единицу. Потом сортировка по неубыванию и - вуаля.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

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

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


А можно примерный код?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

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

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


program opros;
const respondents='';
var t:text;
i,n:integer;
s:string;

begin

writeln(respondents,'Vvedite kol-vo oproshennih');
readln(n);

assign(t,'opros.txt');
rewrite(t);

for i:=1 to n do begin
writeln('Vvedite otvet ',i,'-go oproshennogo');
readln(s);
writeln(t,s);
end;

close(t);

reset(t);





end.



Вот, данные вводятся в текстовый файл. Подскажите как найти наиболее часто встречающееся слово?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


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

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

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


Цитата(mashka-promakashka @ 19.03.2009 15:45) *
Вот, данные вводятся в текстовый файл. Подскажите как найти наиболее часто встречающееся слово?

В твоем файле каждая страна записывается на новую строку, и тем самым не сохраняется информация о том, какой именно опрашиваемый назвал какую страну. Конечно, именно для сформулированной цели это и не нужно, но... Неправильно это как-то. Например, может понадобиться добавить веса (однв страна названа - вес 1, две - по 0.5, три - по 30%). Сечешь фишку? smile.gif

Вот, смотри. Я в файле помещаю ответы одного человека на одну строку. Вот так:
Russia France
Ukraine Germany USA
Russia Japan
France Italy
USA Poland
England
England France
Germany Russia Japan
Ukraine
France Russia
Russia
Israel Antarctida

Создай такой файл в простом редакторе (типа блокнота, а можно и в самой среде паскалевской). Не нужно для его создания делать отдельую прогу - это жутко неудобно, ибо невозможно редактировать. Назови его poll.txt (извини, не люблю латиницу, предпочитаю английские слова). Вот программа, которая этот файл обрабатывает:
const
mx=1000; {maximum voters}
nx=100; {maximum countries}

type
tCountry=record
Name: string[15];
Rate: word;
end;

var
f: text;
i,j,m,n,l: integer;
Vote: array[1..mx]of string[63];
Country: array[1..nx]of tCountry;
s,t: string;
b: tCountry;

begin
Assign(f,'poll.txt');
ReSet(f);
m:=0;
while not EoF(f) do begin
Inc(m);
ReadLn(f,Vote[m])
end;
Close(f);
n:=0;
WriteLn('Participating in poll are ',m,' people');
for i:=1 to m do begin
t:=Vote[i];
repeat
while t[1]=' ' do Delete(t,1,1);
l:=Pos(' ',t);
if l=0 then l:=Length(t) else Dec(l);
s:=Copy(t,1,l);
j:=1;
while (j<=n)and(Country[j].Name<>s) do Inc(j);
with Country[j] do if j>n then begin
Inc(n);
Name:=s;
Rate:=1
end
else Inc(Rate);
Delete(t,1,l)
until t=''
end;
for i:=n-1 downto 1 do for j:=i to n-1 do if Country[j].Rate<Country[j+1].Rate then begin
b:=Country[j];
Country[j]:=Country[j+1];
Country[j+1]:=b
end;
for i:=1 to n do with Country[i] do WriteLn(Name,Rate:20-Length(Name));
ReadLn
end.

Что непонятно - спрашивай, отвечу.
Успехов smile.gif


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


Новичок
*

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

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


Спасибо огромное, если что будет непонятно напишу ))

Сообщение отредактировано: mashka-promakashka -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 26.04.2024 2:22
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name