Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/30: Рейтинг темы: голосов - 30, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 11.05.2010
Сообщений: 3
1

Найти промежуток времени, в течение которого в музее одновременно находилось максимальное число посетителей

11.05.2010, 23:37. Показов 5821. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
помогите пожалуйста исправить ошибки в коде:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <iostream>
using namespace std;
 
 
void main()
 
{
 
int N,i,C, j;
int Cmax, A[i,j];
 
for(i=0;i<N;i++) for(j=0; j<10; j a[i] [ j ]=i*j ;
 
 
i=1; Cmax=0; 
while (i<=2*N)
 
  if (A[2,i]>0){
      C=C+1;
      Cmax=max(Cmax, C);}
  else C=C-1;
  else i=i+1;
 
      while
         if (Сmax=0),
         printf("\n посетителей не было вообще\n"); 
       
i:=1;
while (i<=2*N)
 if (A[2,i]>0){
   C:=C+1;
 
   if (С=Сmax) 
       printf("Конец промежутка: \n",A[1,i]);}
 
else {
   if (С=Cmax) {
      printf("Начало промежутка: \n",A[1,i]);
 
C:=C-1;}
   else i:=i+1;}
 
return;
}
вот формулировка задания: В музее регистрируется в течение дня время прихода и ухода каждого посетителя. Таким образом за день получены N пар значений, где первое значение в паре показывает время прихода посетителя и второе значения - время его ухода. Найти промежуток времени, в течение которого в музее одновременно находилось максимальное число посетителей.

и алгоритм для решения, который я взяла из интернета:
Будем представлять посещение музея посетителем в виде отрезка [время_прихода_посетителя, время_ухода_посетителя]. Надо найти множество точек, принадлежащих максимальному числу отрезков (они и будут составлять тот промежуток (промежутки) времени, в течение которого в музее одновременно находилось максимальное число посетителей.

Рассмотрим какой-нибудь такой промежуток. Его концами, очевидно, являются концевые точки каких-то двух отрезков. В решении задачи в переменной С храниться количество отрезков, пересекающихся в текущей концевой точке. Сначала мы найдем Cmax - максимальную величину переменной C, затем определим, каким промежуткам соответствует максимальное количество посетителей в музее:

Код
{находим Cmax}
i:=1; Cmax:=0;
пока (i<=2*N) и
повторять
если A[2,i]>0
то C:=C+1;
Cmax:=max(Cmax, C);
конец_то
иначе C:=C-1;
конец_иначе
i:=i+1;
конец_пока
если Сmax=0,
то посетителей не было вообще. Стоп.
{ищем и печатаем промежутки с максимальным числом посетителей}
i:=1;
пока (i<=2*N) и
повторять
если A[2,i]>0
то C:=C+1;
если С=Смах {это начало искомого промежутка?}
 то печатаем координату начала промежутка A[1,i] конец_то
конец_то
иначе
если С=Смах {промежуток закончился}
то печатаем координату конца промежутка A[1,i]
конец_то
C:=C-1;
конец_иначе
i:=i+1;
конец_пока
Заранее большое спасибо!!!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.05.2010, 23:37
Ответы с готовыми решениями:

Найти промежуток времени, в течение которого в музее одновременно находилось максимальное число посетителей
Помогите пожалуйста, пыталась решить задачу разными способами, в итоге в собственном коде...

Найти максимальное число посетителей, которые находились в музее одновременно
Добрый день есть программа. 1)Формулировка: В музее регистрируется в течение суток время прихода и...

Требуется найти максимальное число посетителей, которые находились в музее одновременно
Формулировка: В музее регистрируется в течение суток время прихода и ухода каждого посетителя....

Найти Промежуток времени когда в музее находится наибольшее число людей
Ежедневно музей посещает N человек. Для каждого из них есть Время прихода и ухода. Найти...

Определить интервал времени в течение которого количество посетителей в комнате было максимальным
Помогите пожалуйста с задачей, буду очень благодарна за помощь) В одной из комнат музея...

3
Шаровик затейник
696 / 445 / 78
Регистрация: 06.05.2010
Сообщений: 1,109
12.05.2010, 00:22 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
i=1;
while (i<=2*N)
 if (A[2,i]>0){
 C=C+1;
if (С=Сmax) 
 printf("Конец промежутка: \n",A[1,i]);}
else {
 if (С=Cmax) {
 printf("Начало промежутка: \n",A[1,i]);
C=C-1;}
 else i=i+1;} 
return;
}
1
0 / 0 / 0
Регистрация: 11.05.2010
Сообщений: 3
12.05.2010, 00:56  [ТС] 3
Спасибо, но это далеко не все ошибки
0
Шаровик затейник
696 / 445 / 78
Регистрация: 06.05.2010
Сообщений: 1,109
12.05.2010, 01:50 4
это первое что бросилось в глаза
0
12.05.2010, 01:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.05.2010, 01:50
Помогаю со студенческими работами здесь

Определить непрерывный интервал времени в течение которого количество посетителей в комнате было максимальным
Помогите пожалуйста с задачей, буду очень благодарна за помощь) В одной из комнат музея...

Определить промежуток времени, в течение которого активность изотопа стронция уменьшится
Определить промежуток времени τ (в годах), в течение которого активность А изотопа стронция 90Sr...

Какой путь пройдет тело за промежуток времени, в течение которого его ускорение возрастет
Тело движется вдоль оси x согласно уравнению x = A+Bt+Ct2+Dt3, где B = 2 м/с; C = 1 м/с2; D =...

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

Найти максимальное k, для которого существует точка прямой, покрытая k отрезками («максимальное число слоёв»).
Дано n отрезков на прямой . Найти максимальное k, для которого существует точка прямой, покрытая ...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru