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

Не могу найти ошибку, сравнение целочисленных - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ как сделать так, чтоб при работе программы можно было вводить в качестве данных русские слова? http://www.cyberforum.ru/cpp-beginners/thread253586.html
мммм?
C++ типы данных int x1, x2; float summa; x1 = 5; x2 = 6; summa = (x1 + x2)/2; cout << summa << endl; почему в результате 5, а не 5.5 ? http://www.cyberforum.ru/cpp-beginners/thread253573.html
C++ STL stack
не мог бы кто нить обьяснить этот код!Гуглил и нашел!не могли бы комменты поставить По идее так должен выводить! Ввод $VOlendomord$ __________________ Вывод <i>VOlendomord</i> #include <cstdio>
C++ Найти суммы элементов, расположенных по периметру и записать их в массив
задача Найти суммы элементов, расположенных по периметру и записать их в массив, если размерность исходной матрицы четная, то получить mas, если нечётная то mas. Проблема в цикле: for(k=0;k<p;k++) { for(i=k;i<n-k;i++) { sum1+=*(*(m+i)+k)+*(*(m+i)+n-1-k); }
C++ Изменить строчные буквы на прописные http://www.cyberforum.ru/cpp-beginners/thread253540.html
Встал вопрос: как сделать строчные буквы прописными. В Turbo Pascal есть очень удобная операция upcase. Есть ли что-то подобное на Си? Если нет, то как более рационально сделать замену. У меня идея только в том чтобы высчитать из ASCII таблицы разницу между маленькой и большой буквой и потом либо прибавлять либо вычитать. Но разницу нужно высчитать минимум 3 раза (анлийский алфавит, и русский,...
C++ Цилиндр объёма единица имеет в высоту h Помогите решить задачу. язык Си Цилиндр объёма единица имеет в высоту h. Определить радиус основания цилиндра для значений h, равных Результат выполнения занести в массив чисел. подробнее

Показать сообщение отдельно
antoxin
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 3
08.03.2011, 00:11     Не могу найти ошибку, сравнение целочисленных
В общем, написал такой вот код:

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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <windows.h>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    
    ofstream out_file("file.txt");
    
    int c;
    cout << "Ââåäèòå êîëè÷åñòâî ãîòîâûõ öåïî÷åê èëè 0 äëÿ âûõîäГ*: ";
    cin >> c;
    while(c)
    {
            //ÑîçäГ*ГҐГ¬ Г¬Г*Г±Г±ГЁГў Г§Г*Г*Г·ГҐГ*ГЁГ©
            int value[15][2];
            value[0][0] = 1; value[0][1] = 2;
            value[1][0] = 1; value[1][1] = 3;
            value[2][0] = 1; value[2][1] = 4;
            value[3][0] = 1; value[3][1] = 5;
            value[4][0] = 1; value[4][1] = 6;
            value[5][0] = 2; value[5][1] = 3;
            value[6][0] = 2; value[6][1] = 4;
            value[7][0] = 2; value[7][1] = 5;
            value[8][0] = 2; value[8][1] = 6;
            value[9][0] = 3; value[9][1] = 4;
            value[10][0] = 3; value[10][1] = 5;
            value[11][0] = 3; value[11][1] = 6;
            value[12][0] = 4; value[12][1] = 5;
            value[13][0] = 4; value[13][1] = 6;
            value[14][0] = 5; value[14][1] = 6;
            
            //Îáúÿâëÿåì ïåðåìåГ*Г*ûå
            int value2[15][2];
            int temp;
            int temp2;
            int r1;
            int r2;
            int first = 0;
            int second = first + 2;
            int all = 14;
            int x1, x2, y1, y2;
            
            srand((unsigned)time(NULL));
            
            //ÏåðåìåøèâГ*ГҐГ¬ Г¬Г*Г±Г±ГЁГў
            for (int i(0); i < 1000; ++i)
            {
                r1 = rand() % 15;
                r2 = rand() % 15;
                temp = value[r1][0];
                temp2 = value[r1][1];
                
                value[r1][0] = value[r2][0];
                value[r1][1] = value[r2][1];
                value[r2][0] = temp;
                value[r2][1] = temp2;
                }
                
            //Êîïèðóåì Г¬Г*Г±Г±ГЁГў
            for (int i(0); i < 15; ++i)
            {
                for(int j(0); j < 2; ++j)
                {
                        value2[i][j] = value[i][j];
                        }
                }
                
            //Âûâîäèì êîïèþ Г¬Г*Г±Г±ГЁГўГ* Гў ГЄГ®Г*ñîëü 
            for (int i = 0; i < 15; ++i)
            {
                cout << value2[i][0] << value2[i][1] << " ";
                }
                cout << "\n";
                
            //Ïðîâåðÿåì öåïî÷êó
            for(int i(0); i !=1;)
            {
                    if (all < 2) //Åñëè Гў öåïî÷êå îñòГ*ëîñü äâГ* Г§Г*Г*Г·ГҐГ*ГЁГї,
                    {            //ГЇГЁГёГҐГ¬ ГҐВё Гў ГґГ*éë
                    
                            for(int o(0); o < 15; ++o)
                            {
                                    out_file << value[o][0] << value[o][1] << " ";
                                    }
                            out_file << "\n";
                            cout << "\nCëîæèëîñü!\n\n";
                            Sleep(1000); //Æäåì Г±ГҐГЄГіГ*äó ГЁ âûõîäèì ГЁГ§ öèêëГ*
                            c--;
                            break;
                            }
                            
                    //ÑðГ*ГўГ*ГЁГўГ*ГҐГ¬ Г§Г*Г*Г·ГҐГ*ГЁГї
                    x1 = value2[first][0];
                    x2 = value2[first][1];
                    y1 = value2[second][0];
                    y2 = value2[second][1];
                    
                    if(x1 != y1 and x1 != y2 and x2 != y1 and x2 != y2) //Åñëè Г§Г*Г*Г·ГҐГ*ГЁГї Г°Г*çëè÷Г*Г»,
                    {
                          if(second == all) //ГЁ Г±Г°Г*ГўГ*ГЁГўГ*ГҐГІГ±Гї ïîñëåäГ*ГҐГҐ Г§Г*Г*Г·ГҐГ*ГЁГҐ Гў öåïî÷êå
                          {
                                    cout << "\nГЌГҐ ñëîæèëîñü!\n\n";
                                    Sleep(1000); //æäåì Г±ГҐГЄГіГ*äó ГЁ âûõîäèì ГЁГ§ öèêëГ*
                                    break;
                                    }
                          first++; //åñëè Г§Г*Г*Г·ГҐГ*ГЁГҐ Г*ГҐ ïîñëåäГ*ГҐГҐ, áåðåì ñëåäóþùèå.
                          continue;
                          }
                    
                    for(int j(first); j < all; ++j) //Åñëè Г°Г*ГўГҐГ*Г±ГІГўГ® ГҐГ±ГІГј,
                    {
                            value2[j][0] = value2[j + 1][0]; //ñäâèãГ*ГҐГ¬
                            value2[j][1] = value2[j + 1][1]; //öåïî÷êó âïåðåä
                            }
                            --all; //ÓêîðГ*Г·ГЁГўГ*ГҐГ¬ öåïî÷êó ГЁ,
                            first = 0; //Г*Г*Г·ГЁГ*Г*ГҐГ¬ ïðîâåðêó Г±Г*Г*Г·Г*Г«Г*
                            }
                    }
    return 0;
}
Программа должна генерировать цепочки значений типа: "34 13 16 36 24 45 35 46 14 26 15 56 23 12 25", где пары цифр не числа, а именно пары. Проверять цепочки на сложение определенным образом, и сложившиеся писать в файл.

Сложение происходить таким образом:

Сначала берем первое и третье значение "34 13 16 36 24 45 35 46 14 26 15 56 23 12 25".
И ищем совпадения цифр первого значения с цифрами второго. Если совпадений нет, сдвигаемся вправо. Если есть "34 13 16 36 24 45 35 46 14 26 15 56 23 12 25", то сдвигаем цепочку влево, закрывая левое значение, во так "34 16 36 24 45 35 46 14 26 15 56 23 12 25".

Дальше начинаем сначала и т.д.

Сложенная цепочка имеет всего два значения "12 25".


Проблема в том, что в файл пишутся и не сложившиеся цепочки.

Уже все глаза стер о монитор, а ошибки не вижу ))

Помогите!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru