Форум программистов, компьютерный форум CyberForum.ru

Обьясните как работает программа условие и код есть - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Инкрементация (не могу понять почему так?) http://www.cyberforum.ru/cpp-beginners/thread229626.html
Гуру в программировании на C++ начала изучать язык, и сразу вопросы почему при выполнении #pragma argsused #include <conio.h> #include<iostream.h> int main() { int a=0;
C++ Как можно организовать цикл? помогите пожалуйста, как можно организовать цикл, вот например в этом:#include<iostream.h> void main() { float a, b, c; cout<<"A="; cin>>a; cout<<"B="; cin>>b; http://www.cyberforum.ru/cpp-beginners/thread229624.html
C++ составить программу для представления введённого действительного числа прописью
составить программу для представления введённого действительного числа прописью. Максимальное количество разрядов –6, Максимальное количество знаков после запятой – 6. Например: число 34652,54124 необходимо представить в следующем виде: тридцать четыре тысячи шестьсот пятьдесят две целых пятьдесят четыре тысячи сто двадцать четыре стотысячных.
сумма C++
составить программу выводящую на экран все суммы двух целых чисел для получения введённого с клавиатуры целого числа. Например: 6=5+1, 6=4+2, 6=3+3.
C++ Функции http://www.cyberforum.ru/cpp-beginners/thread229588.html
Доброго времени суток :) Подскажите пожалуйста, не могу разобраться: у меня есть следующий код: //--------------- BEGINNING ---------------------------------------------------- double LinInter(double *xt,double *yt,const int n,double x) { for (int i=1;i<n;i++) if((x>=xt)&&(x<=xt))
C++ лабораторная Проверьте, пожалуйста, правильность написания программы. Циклические программы. Вычисления по рекуррентным формулам Рабочий набор n х 11 0,8 Текст программы на языке С++ подробнее

Показать сообщение отдельно
max0072233
Сообщений: n/a
16.01.2011, 16:03     Обьясните как работает программа условие и код есть
Помогите пожалуйста. Я начинающий программист. Вот есть программа вот есть условие. Работает хорошо. Только что делает каждая процедура не понимаю Объясните пожалуйста поэтапно (по строкам, по предложениям, как удобно) как работает и что делает программа.
Заранее большое спасибо.

Взято отсюда http://acm.timus.ru/problem.aspx?space=1&num=1794.

1794. Шедевры мировой архитектуры
Ограничение времени: 1.0 секунды
Ограничение памяти: 64 МБ
Мария Ивановна оповестила всех учеников своего пятого класса, что через месяц она проведёт урок на тему «Шедевры мировой архитектуры». К этому уроку каждый из ребят должен был подготовить небольшой доклад об одном из знаменитых архитектурных сооружений. Как обычно, отличники подготовили свой доклад заранее, а двоечники начали готовиться к уроку только за несколько минут до него.
Начался урок. По сложившейся традиции проведения подобных уроков, дети садятся в круг и выступают один за другим по часовой стрелке. Отличники любят выступать одними из первых, в то время как двоечники хотят отвечать как можно позже, пытаясь доделать задание прямо во время урока.
Мария Ивановна спросила у каждого ученика, каким по счёту он хочет выступать. Теперь ей предстоит решить, кто должен выступить первым, чтобы как можно больше детей выступили по счёту ровно теми, какими они хотят.
Исходные данные
В первой строке записано целое число n — количество учеников в классе (2 ≤ n ≤ 105). Мария Ивановна занумеровала всех детей числами от 1 до n в порядке по часовой стрелке. Во второй строке через пробел записаны числа a1, …, an (1 ≤ ai ≤ n), где ai — номер, названный i-м учеником.
Результат
Выведите номер ученика, которого Мария Ивановна спросит первым. Если возможно несколько вариантов ответа, выведите любой.

Примеры
исходные данные

4
4 1 2 3


результат

2

исходные данные

3
1 1 1

результат

3


Код программы:

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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include <iostream>
 
using namespace std;
 
long int N;
 
long int *_prav;
 
long int *_lev;
 
int main()
 
{
 
cin>>N;
 
_prav = new long int[2*N];
 
_lev = new long int[N];
 
for (long int q=0; q<N; q++) cin>>_prav[q];
 
for (long int q=0; q<N; q++)
 
{
 
_lev[q]=_prav[q];
 
_prav[q]-=q+1;
 
_prav[q+N]=_prav[q]-N;
 
}
 
long int _max=_prav[0];
 
long int _pos=1;
 
long int _count=1;
 
for (long int w=0; w<N; w++)
 
{
 
if (_prav[w]>-N)
 
{
 
_count=1;
 
for (long int q=w+1; q<2*N; q++)
 
{
 
if (_prav[q]==_prav[w])
 
{
 
_prav[q]=-N;
 
_count++;
 
}
 
}
 
_prav[w]=_count;
 
if (w==0) _max=_prav[w];
 
else if (_prav[w]>_max)
 
{
 
_max=_prav[w];
 
_pos=w-(_lev[w])+2;
 
}
 
}
 
}
 
if (_pos<=0) _pos+=N;
 
cout<<_pos<<endl;
 
getchar();getchar(); 
 
return 0;
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru