| 
| 
 | Вопрос # 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]:Мережников Андрей, я не нарочно   |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |