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

Переменная произвольно обнуляется - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ присовение структуре значение int http://www.cyberforum.ru/cpp-beginners/thread700747.html
есть две структуры. в одной у нас записаны некие int'ы: typedef struct { unsigned int per1; unsigned int per2; unsigned int per3; } struct1; и есть струкра, с помощью которой надо будет разбить инты побитно: typedef struct { unsigned char a1 : 2;
C++ Формула для рекурсии Помогите, пожалуйста составить формулу для рекурсии. Я никак не понимаю, как туда коэффициент к вставить? Понятно, что надо предыдущий умножить на -1, умножить на х квадрат и разделить на 9, но как формулу с к связать :( http://www.cyberforum.ru/attachment.php?attachmentid=202125&d=1353186681 http://www.cyberforum.ru/cpp-beginners/thread700737.html
C++ Оптимизация кода
main: #include <iostream> #include <conio.h> #include "keyBuffer.h" #include "pause.h" #include <windows.h> const char up1=201,up2=187; const char down1=200,down2=188;
C++ Запись результата в файл
В файле test.in записана матрица размером N*N. Найти ее определитель. Результат записать в test.out. Для работы с файлами использовать функцию cstdio. Ниже код, который объясняет как считать определитель #include<stdio.h> #include<math.h> #include<conio.h> #include<stdlib.h> #define NN 6
C++ Ошибка в коде (элементы массива упорядочить по возрастанию) http://www.cyberforum.ru/cpp-beginners/thread700715.html
#include <iostream> #include <math.h> #include <conio.h> using namespace std; void main() {extern float ZBP(float EVP ,int n); int n,i; static float EVP={3.2,3.0,3.1,3.5,2.9,2.7,3.0,3.6,3.3,3.2}; n=10;
C++ Дана квадратная матрица А размерностью n и вектор В с n элементами, найти А*В найти ошибку после начала ввода элементов вылазит ошибка (скрин) #include<stdio.h> #include<conio.h> #include<locale.h> #define p 50 void main() {setlocale(LC_CTYPE,"Russian"); int i,j,n; подробнее

Показать сообщение отдельно
ALL_ZZ
0 / 0 / 0
Регистрация: 07.10.2011
Сообщений: 47

Переменная произвольно обнуляется - C++

18.11.2012, 01:52. Просмотров 635. Ответов 9
Метки (Все метки)

Здравствуйте. Есть класс:
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
template<const int k,const int n>
class GF {
public: 
    int F[][n]; // Массив многочленов.
public:
    // конструктор. Полным перебором заполняем массив многочленов, т.е. строим поле.
    GF() { 
        int model[n];
        int i, j, capacity = pow((double)k,n);
        for(i = 0; i < n; i++) model[i] = 0; 
        // Проходим по всем многочленам.
        for(j = 0; j < capacity; j++) { 
            // Берём в качестве многочлена образец.
            for(i = 0; i < n; i++) {
                this->F[j][i] = model[i]; 
                cout<<this->F[j][i];
            }
            cout<<endl;
            // Прибавляем к образцу единицу (в лексикографическом порядке).
            for(i = 0; i < n; i++) { 
                model[i] = (model[i] + 1) % k;
                if(model[i] != 0) break;
            }
        }
    }
};
В мэйне создаю объект класса:
C++
1
2
3
4
5
    const int k = 3, n = 2;
    int c;
    c = pow((double)k,n);
    GF<k,n> f;
    ofstream out("out.txt");
Переменная с при этом почему то произвольно обнуляется. Это хорошо видно при трассировке: сначала она равна 9, потом, после выполнения строчки с инициализацией объекта она обнуляется. Но это ещё не всё. Попробовал поменять местами:
C++
1
2
3
4
5
    const int k = 3, n = 2;
    int c;
    c = pow((double)k,n);
    ofstream out("out.txt");
    GF<k,n> f;
В таком случае с переменной с всё хорошо, но выскакивает эксепшн об ошибке доступа, когда я пытаюсь обратиться к out. Опять поменял местами:
C++
1
2
3
4
5
    const int k = 3, n = 2;
    GF<k,n> f;
    int c;
    c = pow((double)k,n);
    ofstream out("out.txt");
Теперь сразу после объявления f обнуляются целочисленные константы. Очевидно, GF<k,n> f; как то портит строку перед собой. Собственно, в этом и вопрос: что не так? Как такое может быть?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru