Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Chiefy
0 / 0 / 0
Регистрация: 26.03.2018
Сообщений: 11
1

Исправление ошибок

31.03.2018, 17:12. Просмотров 414. Ответов 2
Метки нет (Все метки)

Есть такая программка, которая должна считать значения из файла типа float, записать массив и лать возможность вычесть значения одного ряда из другого. Но появляются ошибки, которые я никак не могу исправить((( Помогите, пожалуйста.
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
//Версия, что должна работать на ура с многомерной матрицей
int main(int argc, char** argv) 
{
    FILE    *fFile;//Объект типа Файл с указателем
    char    szData[100]; // Длина считываемой строчки
    unsigned int ValCount = 0; //Для попытки считывания
    float  *dVal;
    fpos_t filepos;//однозначое указание позиции в файле
    float dif;//для попвтки вычитания
    //int i = 0;int j = 0;//массивыне строчки и столбцы
 
    int size =  3;
    int sizeF = 3;
 
    fopen_s(&fFile, "C:\\Users\\Chiefy\\Desktop\\BINS\\Test.txt", "r");//Открытие файла по нужному адресу для чтения
    fgetpos(fFile, &filepos);//Функция необходимма для индентификации текущего указателя в потоке типа файл
 
    if (!fFile)//Проверка отурытия файла
    {
        cout << "Ошибка открытия файла\n";
        return 1;
 
    }
        
    //Попытка считать значения в массив
    float **matrix = new float *[size];//Динамический массив для последующего доступа переменной. New - запрос памяти.
    for (int count = 0; count < size; count++)//Задаем цикл со считыванием
    {
        matrix [count] = new float [sizeF];//пока count=0 и меньше, чем размер, значит увеличиваем значение
 
    }
        while (1) 
        {
            if (!fgets(szData, sizeof(szData), fFile))//Функция fgets считывает символы из потока и сохраняет их в виде строки в параметр string до тех пор пока не наступит конец строки или пока не будет достигнут конец файла.
                break;//Когда не считывает, о завершение 
            ValCount++;//Еще раз пробуем считать
        }
 
        fsetpos(fFile, &filepos);//Через параметры filestream и position функция получает информацию, необходимую для идентификации текущего положения внутреннего указателя потока.
 
        dVal = (float*)malloc(sizeof(float)*ValCount);//Выделени памяти под значения массива
 
        while (!fFile.eof())//Условие читать до конца файла, но почему не хочет работать????
        {
            for (int i = 0; i < size; i++)//Перебор строк матрицы
            {
                for (int j = 0; j < sizeF; j++)//Перебор столбцов
                {
                    fFile >> matrix[i][j];//Перевод строк в массив
                    cout << matrix[i][j] << ' ';//Вывод массива
                }
                cout << endl;
            }
            cout << endl;
        }
 
        for (unsigned int i = 0; i < ValCount; ++i)
        {
            fgets(szData, sizeof(szData), fFile);
            dVal[i] = atof(szData);
            printf("%f\n", dVal[i]);
        }
    
    //Попытка вычесть значения массива
    dif = dVal[3] - dVal[0];
    cout << endl << dif << "\n" << endl;
    free(dVal);
    fclose(fFile);
 
    system("pause");
    return 0;
}
Исправление ошибок
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2018, 17:12
Ответы с готовыми решениями:

исправление ошибок
//funkcijas1 #include &lt;iostream&gt; using namespace std; int main() { int i,...

Исправление ошибок
Есть задание : Во введенной строке заменить все пробелы на запятые, а запятые на точки. Посчитать...

Исправление ошибок
Помогите разобраться, в чём моя ошибка. Не хочет компилировать. #include &lt;iostream&gt; #include...

Исправление ошибок
Какие ошибки есть в следующем коде? for (int i =О: i &lt;= phrase.size(): ++i) { cout «...

Исправление ошибок
Дано 100 вещественных чисел. Определить, образуют ли они возрастающую последовательность....

2
nd2
3103 / 2597 / 1134
Регистрация: 29.01.2016
Сообщений: 8,690
31.03.2018, 17:17 2
Цитата Сообщение от Chiefy Посмотреть сообщение
C++
1
while (!fFile.eof())//Условие читать до конца файла, но почему не хочет работать????
Потому, что не нужно мешать в кучу Си-функции и потоки ввода\вывода С++.
0
Chiefy
0 / 0 / 0
Регистрация: 26.03.2018
Сообщений: 11
31.03.2018, 17:29  [ТС] 3
nd2, а как это исправить???
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2018, 17:29

Исправление ошибок
Помогите запустить программу #include &lt;iostream.h&gt; #include &lt;stdlib.h&gt; #include &lt;fstream.h&gt; int...

Исправление ошибок
Пожалуйста помогите исправить ошибки!!! #include &lt;iostream h&gt; #include &lt;stdlib h&gt; int main()...

Исправление ошибок в C++
Всем доброго времени суток! У меня появился такой вопрос, есть ли в Visual Studio 8 или 10 такая...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.