Changeset 13 in tspsg-svn for trunk/src/mainwindow.cpp


Ignore:
Timestamp:
Oct 21, 2007, 3:07:21 PM (17 years ago)
Author:
laleppa
Message:

Writing solving algorithm...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/mainwindow.cpp

    r12 r13  
    130130void MainWindow::Solve()
    131131{
     132        // TODO: Task solving goes here :-)
     133tMatrix matrix;
     134double *row;
     135bool ok;
     136        for (int x = 0; x < spinCities->value(); x++) {
     137                row = new double[spinCities->value()];
     138                for (int y = 0; y < spinCities->value(); y++) {
     139                        if (x == y)
     140                                row[y] = infinity;
     141                        else {
     142                                row[y] = tableTask->item(x,y)->text().toDouble(&ok);
     143                                if (!ok) {
     144                                        QMessageBox(QMessageBox::Critical,trUtf8("Ошибка в данных"),QString(trUtf8("Ошибка в ячейке [Строка %1; Колонка %2]: Неверный формат данных.")).arg(x + 1).arg(y + 1),QMessageBox::Ok,this).exec();
     145                                        return;
     146                                } else if (row[y] < 0) {
     147                                        QMessageBox(QMessageBox::Critical,trUtf8("Ошибка в данных"),QString(trUtf8("Ошибка в ячейке [Строка %1; Колонка %2]: Значение не может быть меньше нуля.")).arg(x + 1).arg(y + 1),QMessageBox::Ok,this).exec();
     148                                        return;
     149                                }
     150                        }
     151                }
     152                matrix.append(row);
     153        }
     154CTSPSolver solver;
     155sStep *root = solver.solve(spinCities->value(),matrix);
     156        if (!root)
     157                QMessageBox(QMessageBox::Critical,trUtf8("Ошибка при решении"),trUtf8("Во время решения задачи возникла ошибка"),QMessageBox::Ok,this).exec();
    132158        // tabWidget->setCurrentIndex(1);
    133 CTSPSolver solver;
    134         solver.solve(spinCities->value(),NULL);
    135         // TODO: Task solving goes here :-)
    136159}
    137160
Note: See TracChangeset for help on using the changeset viewer.