Добрый вечер еще раз. Программа неправильно считывает данные из файлов .txt. Хочу сразу сказать спасибо ответившему на предыдущий мой вопрос. Привожу часть кода и прошу прощения что уже приводил его сегодня:
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <stdio.h>
#include <fstream>
#include <math.h>
#include <cmath>
#include <conio.h>
using namespace std;
double Tnach[139][139][50];
double Temper[139][139][50];
double Temper1[139][139][50];
double Tempernach[139][139][50];
double Tut[139][139];
double Tut1[139][139];
double Tut11[139][139];
double Tut22[139][139];
int main() {
const int i = 0;
далее перечислены задействованные переменные. Потом идет считывание из файлов:
ifstream fan1;
fan1.open("pov20.txt", ios::in);
ifstream fan2;
fan2.open("nak20.txt", ios::in);
ifstream fan3;
fan3.open("h20.txt", ios::in);
ofstream fout;
fout.open("res1.txt", ofstream::out);
for (int i = 0;i<Lan;i++) {
for (int j = 0;j<Lan;j++) {
fan1 >> pov[i][j];
fan2 >> nak[i][j];
fan3 >> h[i][j];
ber1 = pov[1][2];
ber2 = nak[1][2];
ber3 = h[1][2];
}
}
и при пошаговом прохождении в окне Локальные я вижу что считываются совсем не те значения:например переменная ber1=-9.25+61 В файлах находятся совсем другие значения. Переменные ber1, ber2 и ber3 были специально мною вставлены чтобы проверить какие значения он считывает из файлов. Совсем не те. Поэтому вопрос: он явно не читает то что нужно: почему? И откуда берет то что показывает мне?
ber1 = pov[1][2];
ber2 = nak[1][2];
ber3 = h[1][2];
Эти данные считываются в теле цикла, а именно на первой итерации тогда, когда именно эти элементы матрицы еще не заполнены и там хранится "мусор"
Цитирую самый первый свой комментарий: "Еще бы посмотреть на содержимое файлов."
Они же с запятыми вместо точек! Еще и в юникоде! Там же каждый второй байт - нулевой!
Допишите проверку на корректность ввода:
if (!(fan1 >> pov[i][j])) cout << "Error fan1\n";
if (!(fan2 >> nak[i][j])) cout << "Error fan2\n";
if (!(fan3 >> h[i][j])) cout << "Error fan3\n";
и убедитесь, что там вообще ничего не читается!
Словом, чтоб вам не переписывать все для работы с Unicode и локалями - откройте в каком-нибудь Блокноте, замените все запятые на точки и сохраните как ANSI, а не Unicode.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Сырцы беру отсюда там уже лежит полный проект скомпилировал на visual studio 2017 с SDK 81
Имеется слой QGridLayot на нем расположены виджеты QLineEditЯ пытаюсь вытащить эти QLineEdit и считать/изменить их текст
Текущий неавтоматизированный процесс выглядит следующим образом: