Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <QtGui/QApplication>
- #include <QFile>
- #include <QTextStream>
- #include <QChar>
- #include "mainwindow.h"
- #include "neuron.h"
- #include "outputstream.h"
- QTextStream qout(stdout);
- Neuron* createNeuron(QVector<int>& weights)
- {
- QFile file("neuron.cfg");
- if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
- return 0;
- Neuron* neuron = new Neuron();
- int i;
- QTextStream in(&file);
- if (!in.atEnd()) {
- in >> i;
- qout << i << endl;
- neuron->setThreshold(i);
- }
- while (!in.atEnd()) {
- in >> i;
- qout << i << endl;
- weights.append(i);
- }
- return neuron;
- }
- QVector<QBitArray>* readInputFile()
- {
- QVector<QBitArray>* input = new QVector<QBitArray>;
- QFile file("neuron.in");
- if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
- return input;
- QTextStream in(&file);
- while (!in.atEnd()) {
- QString line = in.readLine();
- QBitArray bits(line.size());
- for (int i = 0; i < line.size(); ++i) {
- qout << line.at(i);
- bits[i] = (line.at(i) == '0') ? false : true;
- }
- qout << endl;
- input->append(bits);
- }
- return input;
- }
- int decideLongest(QVector<QBitArray>* input)
- {
- int longest = 0;
- foreach (QBitArray array, *input) {
- if (array.size() > longest)
- longest = array.size();
- }
- return longest;
- }
- void readFiles()
- {
- QVector<int> weights;
- Neuron* neuron = createNeuron(weights);
- QVector<QBitArray>* input = readInputFile();
- OutputStream* os = new OutputStream;
- QObject::connect(neuron, SIGNAL(output(int)), os, SLOT(addData(int)));
- int longest = decideLongest(input);
- for (int i = 0; i < input->size(); ++i) {
- for (int j = 0; j < longest; ++j) {
- if (j < input->at(i).size())
- neuron->input((input->at(i)[j]) ? 1 : 0 * weights[i]);
- else
- neuron->input(0);
- }
- }
- qout << "wynik:" << os->getString();
- }
- int main(int argc, char *argv[])
- {
- QCoreApplication a(argc, argv);
- readFiles();
- a.exit();
- return 0;
- MainWindow w;
- #if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
- w.showMaximized();
- #else
- w.show();
- #endif
- return a.exec();
- }
Add Comment
Please, Sign In to add comment