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

Статическая переменная возвращает непонятные шестизначные числа - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Обратное преобразование Лапласа http://www.cyberforum.ru/cpp-beginners/thread1144093.html
Доброго времени суток. Подскажите пожалуйста как запрограммировать обратное преобразование Лапласа. К примеру у меня есть число 0,7 и к нему нужно применить преобразование.
C++ Найти определитель матрицы Доброго времени суток. Есть такая задача Вся проблема в том, что не понимаю значения слов: Матрица B получена из матрицы A по формуле... выше главной диагонали. Так же не особо понимаю способа нахождения определителя программно, на бумаге могу, а тут не сказал бы. http://www.cyberforum.ru/cpp-beginners/thread1144089.html
C++ Описать структуру с именем airport. Реализовать сортировку записей
Всем привет. Собственно описал структуру, данные в массив тоже сделал. А попросить хотел вас, помочь с написание алгоритма для вывода в алфавитном порядке. Были мысли насчет одного алгоритма, но я не помню по какому принципу сортируются символы, кажется чем дальше буква в алфавите тем больше код и вроде бы, но не могу понять как это можно реализовать в программе. и еще эта часть программы у...
Массивы: найти сумму чётных элементов между первым и последним отрицательными числами C++
Всем привет. Есть задачка, но в коде что-то не то получается. Помогите составить программу, пожалуйста: В целочисленном массиве с N случайных чисел найти сумму чётных элементов, которые находятся между первым и последним отрицательными числами. Спасибо заранее.
C++ Найти минимальное количество купюр, которое необходимо использовать, чтобы выдать сумму в n гривен http://www.cyberforum.ru/cpp-beginners/thread1144066.html
В банкомате имеются в достаточном количестве купюры номиналом 10, 20, 50, 100, 200 и 500 гривен. Найти минимальное количество купюр, которое необходимо использовать, чтобы выдать сумму в n гривен или вывести -1, если указанную сумму выдать нельзя.
C++ Переполнение стека в рекурсивной функции сортировки большого массива Написал рекурсивную функцию сортировки массива, с массивами небольших размеров все работает как надо, а вот если сортирую побоьлше (60000 элементов) то выскакиевает исключение Unhandled exception at 0x01017A2A in Filtering.exe: 0xC00000FD: Stack overflow (parameters: 0x00000001, 0x00292FFC). подскажите пожалуйста что не так, а то первый раз сталкиваюсь с этим, вот код функции: void Sort(photon... подробнее

Показать сообщение отдельно
volvo
Супер-модератор
 Аватар для volvo
21818 / 14181 / 3951
Регистрация: 22.10.2011
Сообщений: 25,061
Записей в блоге: 2
11.04.2014, 19:46     Статическая переменная возвращает непонятные шестизначные числа
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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
#include <cstdlib>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
#include <conio.h>
using namespace std;
 
//________________________________________________________________class________________________________________________________________________
class Marshroute
{
    char name_nach_punkta[30];
    char name_kon_punkta[30];
    int nomer_marshrouta;
    int *filling;              //указатель на 0-ой елемент
    static int number_of_left_seats;
    static int number_of_seats;
public:
    Marshroute()
    {
        cout << "\nVvedite nazvanie nachalnogo punkta:\t\t";
        cin >> name_nach_punkta;
        cout << "Vvedite nazvanie konechnogo punkta:\t\t";
        cin >> name_kon_punkta;
        cout << "Vvedite nomer marshrouta:\t\t\t";
        cin >> nomer_marshrouta;
 
        filling = new int[number_of_seats];
        for (int i = 0; i < number_of_seats; i++)
        {
            cout << "Vvedite zapolnenie mest s 0-ogo elementa:\t";
            cout << "filling" << "[" << i << "] = ";
            cin >> filling[i];
        }
    }
    ~Marshroute()
    {
        for (int i = 0; i < number_of_seats; i++)
        {
            delete[] filling;
        }
    }
    Marshroute(bool for_loop) {}
 
    int get_nomer_marshrouta()
    {
        return nomer_marshrouta;
    }
    int* get_filling()
    {
        return filling;
    }
    void show()
    {
        cout << "\t" << name_nach_punkta << "                       \t" << name_kon_punkta << "                      \t" << nomer_marshrouta << "\n";
    }
 
    static void count_number_of_free_seats(int e[])
    {
        int temp_counter = 0;
        for (int i = 0; i < number_of_seats; i++)
        {
            temp_counter = temp_counter + e[i];
        }
        number_of_left_seats = number_of_left_seats - temp_counter;
    }
 
    static int set_number_of_left_seats()
    {
        cout << "\nVvedite chislo svobodnix mest vsego:";
        cin >> number_of_left_seats;
    }
    static int get_number_of_left_seats()
    {
        return number_of_left_seats;
    }
    static int get_number_of_seats()
    {
        return number_of_seats;
    }
 
};
//______________________________________________________________functions______________________________________________________________________
 
 
void sortirovka(Marshroute objects[], int n, bool for_loop)
{
    int i,k;
    bool t;
    Marshroute *temp = new Marshroute(for_loop);
    cout << "\n\n================================================================================";
    cout << "Nazvanie nachalnogo punkta | Nazvanie konechnogo punkta  |  Nomer marshrouta    ";
    cout << "================================================================================";
    //сортировка пузырьком
    do
    {
        t = true;
        for (k = 0; k <n - 1; k++)
        {
            if (objects[k].get_nomer_marshrouta()>objects[k+1].get_nomer_marshrouta())
            {
                *temp = objects[k+1];
                objects[k+1] = objects[k];
                objects[k] = *temp;
                t = false;
            }
        }
    }
    while (!t);
 
    //вывод на экран
    for (i = 0; i<n; i++)
        objects[i].show();
    cout << "================================================================================\n";
}
void poisk_nomera_marshrouta(Marshroute objects[], int n)
{
    int i, k;
    cout << "\n\nVvedite nomer marshrouta: ";
    cin >> k;
    cout << "\n================================================================================";
    cout << "Nazvanie nachalnogo punkta | Nazvanie konechnogo punkta  |  Nomer marshrouta    ";
    cout << "================================================================================";
    for (i = 0; i<n; i++)
        if (k == objects[i].get_nomer_marshrouta())
            objects[i].show();
    cout << "================================================================================\n";
}
void prnmn()
{
    cout << "      MENU";
    cout << "\n\n0   - Vivesti chislo ostavshixsya svobodnix mest";
    cout << "\n1   - Vivesti na ekran";
    cout << "\n2   - Sortirovka";
    cout << "\n3   - Poisk po marshrouty";
    cout << "\nESC - Exit";
}
 
int Marshroute::number_of_left_seats = 12;
int Marshroute::number_of_seats = 4;
//_________________________________________________________________main________________________________________________________________________
int main()
{
    char key = '0';
    bool for_loop = false;
    Marshroute *objects;
    int n;
    cout << "Vvedite chislo marshroutov: ";
    cin >> n;
    objects = new Marshroute[n];
    int q;
    q = objects[0].get_number_of_seats();
    int *w;
    //w = new int[q];
 
 
    while (key != 27)
    {
        system("cls");
        prnmn();
        key = _getch();
 
        switch (key)
        {
        case '0':
            for (int i = 0; i < n; i++)
            {
                w = objects[i].get_filling();
                Marshroute::count_number_of_free_seats(w);
                cout << Marshroute::get_number_of_left_seats();
            }
            _getch();
            break;
        case '1':
            cout << "\n\n================================================================================";
            cout << "Nazvanie nachalnogo punkta | Nazvanie konechnogo punkta  |  Nomer marshrouta    ";
            cout << "================================================================================";
            for (int i = 0; i<n; i++)
            {
                objects[i].show();
            };
            cout << "================================================================================\n";
            _getch();
            break;
        case '2':
            sortirovka(objects, n, for_loop);
            _getch();
            break;
        case '3':
            poisk_nomera_marshrouta(objects, n);
            _getch();
            break;
        }
    }
    delete[] objects;
    _getch();
}
(Warning-и не убирал)
 
Текущее время: 08:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru