Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проблема с циклом
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! Объясните пожалуйста почему в строке while(kol_left != N+1) выражение сравнивают не c N вагонов а с N+1 (для чего это нужно) #include <iostream> #include <iomanip> #include <windows.h> using namespace std; void show(int vagon) { switch(vagon) { case 0: cout<<"==="; break; case 1: cout<<"[ ]"; break; case 2: cout<<"[*]"; break; case 3: cout<<" | "; break; } } int main() { system("mode con cols=130 lines=45"); srand((unsigned) time(NULL)); int N, *right, *left, *tupik, i, j, kol_left = 0, kol_tupik = 0, kol_right = 0; cout<<"Set the number of wagon: "<<endl; cin>>N; //[ ] - белый,[*] - черный right = new int[N]; left = new int[N]; tupik = new int[N * 2]; for (i = 0; i < N; i++) { left[i] = 0; right[i] = 1; tupik[i] = 3; } i = 0; cout<<"Specify the number of the black wagon: "; while(i != N / 2) { cout<<"Remaining:"<<N / 2 - i<<endl; cin>>j; //j++; if (right[j - 1] != 2 && (j - 1) < N && j != 1) {right[j - 1] = 2; i++;} else cout<<"Incorrectly!"; } system("pause"); system("cls"); while(kol_left != N+1) { for (i = 0; i < N; i++) show(left[i]); cout<<" X "; for (i = 0; i < N; i++) show(right[i]); for (i = N-1; i >= 0; i--) { cout<<endl<<setw(N * 3 + 3); show(tupik[i]); } if (tupik[kol_tupik - 1] != left[kol_left - 1] && (tupik[kol_tupik - 1] == 1 || tupik[kol_tupik - 1] == 2)) {left[kol_left] = tupik[kol_tupik - 1]; tupik[kol_tupik - 1] = 3; kol_left++; kol_tupik--;} else if (right[kol_right] != left[kol_left - 1]) {left[kol_left] = right[kol_right]; right[kol_right] = 0; kol_left++; kol_right++;} else {tupik[kol_tupik] = right[kol_right]; right[kol_right] = 0; kol_tupik++; kol_right++;} system("pause"); system("cls"); } cout<<"All true!"<<endl; system("pause"); } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2013, 17:55 |
|
||
|
Проблема с циклом
|
|||
|---|---|---|---|
|
#18+
rigals963почему в строке while(kol_left != N+1) выражение сравнивают не c N вагонов а с N+1 (для чего это нужно) Чтобы цикл выполнился и для последнего вагона, которые считаются с единицы. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2013, 18:07 |
|
||
|
Проблема с циклом
|
|||
|---|---|---|---|
|
#18+
Спасибо большое за помощь и быстрый ответ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2013, 18:21 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=67&tid=2019792]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
| others: | 302ms |
| total: | 440ms |

| 0 / 0 |
