|
Вопрос # 2 390/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
Есть условие задачки.
Очередь в столовую 100 человек формируется случайным образом:
студенты 0 - 40
преподаватели 41 - 60
служащие 61 - 90
случайные люди 91 - 100
Определить и напечатать, кто чаще всего посещает столовую (по категориям).
У меня такой вопрос:
Как проще написать, через массив случайных чисел? Или через стэк?
 |
Вопрос задал: Slavdey8 (статус: Посетитель)
Вопрос отправлен: 3 февраля 2009, 20:00
Состояние вопроса: открыт, ответов: 2.
|
Ответ #1. Отвечает эксперт: Ученый
Здравствуйте, Slavdey8! Если честно не совсем понял услови задачи....но предложу вам код, не судите строго если это немного не то что вам нужно....
const
K=100;
SIZE=4;
var
max:integer;
rez: array[1..4] of integer;
a,b,c,d,i:integer;
begin
a:=0;
b:=0;
c:=0;
d:=0;
for I := 0 to k do
begin
if (i<41) then inc(a);
if (i>40) and (i<61) then inc(b);
if (i>60) and (i<91) then inc(c);
if (i>90)and (i<k) then inc(d);
end;
rez[1]:=a;
rez[2]:=b;
rez[3]:=c;
rez[4]:=d;
// поиск максимального элемента
max:=1;
for i:=2 to SIZE do
if rez[i]> rez[max]then max:=i;
//max это будет номер группы которая посещала столовую чаще всех
З.Ы. Удачи:)
 |
Ответ отправил: Ученый (статус: 8-ой класс)
Время отправки: 3 февраля 2009, 21:16
Оценка за ответ: 5
|
Ответ #2. Отвечает эксперт: Мережников Андрей
Здравствуйте, Slavdey8!
Посмотрите пример в приложении
Приложение: Переключить в обычный режим- var x,i:integer;
- qstud,qprep,qslug,qrand:integer;
- begin
- qstud:=0;
- qprep:=0;
- qslug:=0;
- qrand:=0;
- randomize;
- for i:=1 to 100
- do begin
- x:=random(100);
- if (x<=40)
-
- if (x>=41)and(x<=60)
-
- if (x>=61)and(x<=90)
-
- if (x>=91)
-
- end;
-
 |
Ответ отправил: Мережников Андрей (статус: Абитуриент)
Время отправки: 3 февраля 2009, 21:24
|
Мини-форум вопроса
Всего сообщений: 4; последнее сообщение — 4 февраля 2009, 13:34; участников в обсуждении: 4.
|
Ruslan (статус: 1-ый класс), 3 февраля 2009, 20:41 [#1]:
что это за числа - 0 - 40 - не понял условие задачи!
|
|
Dron (статус: Студент), 3 февраля 2009, 21:25 [#2]:
То, что написал Учёный - в уме делается Найти длину интервалов и выбрать максимальный? Сомневаюсь. Скорее всего, смысл вот в чём. Генерим 100 раз случайное число от до 100. Если попало в интервал 0..40 - +1 студент, если в 41..60 - +1 преподаватель. Ну и потом берём максимальное. Фактически, в предложенное коде в цикле только заменить i на случайное число.
С уважением.
|
|
Мережников Андрей (статус: Абитуриент), 3 февраля 2009, 21:26 [#3]:
пока печатал ответ, Ученый меня опередил с отправкой ответа
|
|
Ученый (статус: 8-ой класс), 4 февраля 2009, 13:34 [#4]:
Мережников Андрей, я не нарочно
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|