Zmienna w klasy ma dziwne liczby zamiast tych który wydaje mi się, że powinny zostać przypisane w konstruktorze.
mainwindow.cpp:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <windows.h>
#include <baza.cpp>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
Baza BazaGry;
ui->label->setText(QString::number(BazaGry.plansze[0][0][6]));
}
baza.cpp (ten algorytm działa w codeblocks, ale tutaj w QT już coś jest nie tak)
#include "baza.h"
#include <fstream>
#include <stdlib.h>
using namespace std;
Baza::Baza()
{
ifstream odczyt;
odczyt.open("baza.txt");
string linia;
string wartosc="";
int ktory;
for(int i=0;i<134;i++) {
getline(odczyt,linia);
ktory=0;
if((i+1)%9==0) continue;
for(unsigned int j=0;j<linia.length();j++) {
if(((linia[j]>=48) && (linia[j]<=57)) || (linia[j]==45)) wartosc+=linia[j];
else {
plansze[i/9][i%9][ktory]=atof(wartosc.c_str());
wartosc="";
ktory++;
}
}
if(wartosc!="") plansze[i/9][i%9][7]=atof(wartosc.c_str());
}
}
...
baza.h
#ifndef BAZA_H
#define BAZA_H
class Baza
{
public:
Baza();
int plansze[15][8][8];
};
#endif // BAZA_H
baza.txt
0 0 0 4 4 4 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 1 2 3 0 0 0
0 0 0 4 4 4 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 1 2 3 0 0 0
...