Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2010, 00:01   #1
Viola2208
Новичок
Джуниор
 
Регистрация: 11.05.2010
Сообщений: 1
По умолчанию исправление ошибок в коде

помогите пожалуйста исправить ошибки в коде:
#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;
конец_пока

Заранее большое спасибо!!!

Последний раз редактировалось Viola2208; 12.05.2010 в 10:36.
Viola2208 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Исправление небольших ошибок - СПИСКИ Lexeres Помощь студентам 2 07.04.2010 14:40
Прошу опробовать исправленную PGF 1.3 - автоматическое исправление структурных ошибок в исходниках Delphi Vasil54 Софт 0 01.05.2009 21:00
Просьба опробовать новую PGF 1.3 - автоматическое исправление структурных ошибок в исходниках Delphi. Vasil54 Софт 0 09.04.2009 12:05
Исправление ошибок. игра Викторина Vladya Помощь студентам 3 23.11.2008 21:38
Исправление ошибок в проге Juhn Паскаль, Turbo Pascal, PascalABC.NET 11 16.01.2008 18:17