0 / 0 / 1
Регистрация: 06.11.2014
Сообщений: 156
1

Как считать данные с файла и записать в массив?

05.05.2015, 18:35. Показов 3537. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В файле данные расположены следующим образом :
Код
Radius: 1	Coord point: (5;10)

Radius: 5	Coord point: (1;7)

Radius: 6	Coord point: (5;8)

Radius: 7	Coord point: (0;7)

Radius: 9	Coord point: (8;9)
Мне нужно записать данные(радиус и координаты(только значения)) в следующие массивы
C++
1
2
3
arrFigure[i].built.X
arrFigure[i].built.Y
arrFigure[i].radius
Как это сделать? Это должна быть функция Inputfromfile для моей программы.
Вот полный код программы :
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#include "stdafx.h"
#include <fstream>
#include <iostream>
#include <windows.h>
#include <string>
 
using namespace std;
struct coordinates
{
    double X;
    double Y;
};
struct circle
{
    double radius;
    coordinates built; 
    void show() 
    {
        cout << "Radius: " << radius << " cm " << endl;
        cout << "Coord point: " << "(" << built.X << ";" << built.Y << ")" << "\n\n\n";
        ;
    }
};
//------Global Variable---------
int MAX;
circle* arrFigure = NULL;
//-------------------------------------
void bubble()
{
    int i, j;
        for (i = 0; i < MAX - 1; ++i) 
    {
        for (j = 0; j < MAX - 1; ++j)
        {
            if (arrFigure[j + 1].radius < arrFigure[j].radius)
            {
                circle tmp = arrFigure[j + 1];
                arrFigure[j + 1] = arrFigure[j];
                arrFigure[j] = tmp;
            }
        }
    }
}
void InputData(){
    cout << "Enter the number of circles: ";
    cin >> MAX;
    delete[] arrFigure;
    arrFigure = new circle[MAX];
 
    for (int i = 0; i < MAX; i++){
        arrFigure[i].built.X = rand() % 11;
        arrFigure[i].built.Y = rand() % 11;
        arrFigure[i].radius = rand() % 11;
    }
}
void OutputSortArr() {
    cout << "Output sort array " << endl;
    for (int i = 0; i < MAX; i++){
        arrFigure[i].show();
    }
}
void OutputGenerate(){
    cout << "Output generate array" << endl;
    for (int i = 0; i < MAX; i++){
        arrFigure[i].show();
    }
}
void RecordToFile(){
    ofstream fout("E:\cppstudio.txt"); 
    for (int i = 0; i < MAX; i++){
        fout << "Radius: " << arrFigure[i].radius << "\t";
        fout << "Coord point: " << "(" << arrFigure[i].built.X << ";" << arrFigure[i].built.Y << ")" << "\n\n";
    }
    fout.close(); 
    system("pause");
}
void Readingfile(){
    setlocale(LC_ALL, "rus");
    char buff[35]; // buffer
    ifstream fin("E:\cppstudio.txt");
 
    if (!fin.is_open()) // esli file ne otkrut
        cout << "Файл не может быть открыт!\n";
    else
    {
        while (!fin.eof()){
            fin.getline(buff, 50);
            cout << buff << endl;
        }
        fin.close();
 
    }
 
}
 
int menu() {
    int menu;
    do{
        cout << "Choose menu item" << endl;
        cout << "1 - input data " << endl;
        cout << "2 - Output generate array" << endl;
        cout << "3 - Output sort array" << endl;
        cout << "4 - Sort arr" << endl;
        cout << "5 - Record to file" << endl;
        cout << "6 - Reading file" << endl;
        cout << "7 - Input from file" << endl;
        cin >> menu;
        switch (menu){
        case 1:InputData(); break;
        case 2:OutputGenerate(); break;
        case 3:OutputSortArr(); break;
        case 4:bubble(); break;
        case 5:RecordToFile(); break;
        case 6:Readingfile(); break;
        case 7:; break;
        default: menu = 0;
        }
    } while (menu != 0);
    return 0;
}
 
int main()
{
    setlocale(LC_ALL, "rus");
    menu();
    delete[] arrFigure;
    system("pause");
    return 0;
}
Так как в процессе выполнения программы в одном из пунктов есть генератор чисел для массивов, то нужно как-то очистить их перед записью из файла.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.05.2015, 18:35
Ответы с готовыми решениями:

Как из файла считать данные построчно и записать их в массив?
Как из файла считать данные построчно и записать их в массив? К примеру такой файл с содержимым....

Считать данные из файла и записать в массив double
Как считать данные из txt файла и записать в массив double на языке Visual C#!

Считать из файла данные определенного типа и записать в массив
Подскажите, пожалуйста. Допустим, у меня есть файл text.txt, в котором есть цифры/буквы/символы. ...

Считать данные из текстового файла и записать их в массив float-ов
Помогите пожалуйста!!!Очень нужно! как считать данные из txt файла и записать их в массив float на...

19
7651 / 6456 / 2944
Регистрация: 14.04.2014
Сообщений: 28,148
05.05.2015, 18:40 2
Ну можно пропустить символы до двоеточия включительно, ввести число, затем также до открывающей скобки, число, пропуск одного символа, число. И так в цикле до конца файла.
0
0 / 0 / 1
Регистрация: 06.11.2014
Сообщений: 156
05.05.2015, 19:02  [ТС] 3
nmcf, можешь показать как это сделать?
0
7651 / 6456 / 2944
Регистрация: 14.04.2014
Сообщений: 28,148
05.05.2015, 19:53 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int i = 0;
std::string s;
 
while (!ifs.eof())
{
    std::getline(ifs, s);
    std::istringstream iss(s);
    while (iss.get() != ':' && iss);
    iss >> arrFigure[i].radius;
    while (iss.get() != '(' && iss);
    iss >> arrFigure[i].built.X;
    iss.ignore();
    iss >> arrFigure[i++].built.Y;
}
0
0 / 0 / 1
Регистрация: 06.11.2014
Сообщений: 156
05.05.2015, 22:03  [ТС] 5
nmcf, спасибо, но у тебя ifs не определен. Как его в определить в этой конструкции?
0
7651 / 6456 / 2944
Регистрация: 14.04.2014
Сообщений: 28,148
05.05.2015, 22:43 6
Ну файл свой открой.
C++
1
std::ifstream ifs("data.txt");
0
0 / 0 / 1
Регистрация: 06.11.2014
Сообщений: 156
05.05.2015, 23:16  [ТС] 7
nmcf, я так и сделал, но там куча ошибок((

Добавлено через 8 минут
nmcf,
Кликните здесь для просмотра всего текста


6 IntelliSense: недопустимый неполный тип f:\My doc\VS\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3.cpp 37 17 ConsoleApplication3
7 IntelliSense: недопустимый неполный тип f:\My doc\VS\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3.cpp 38 10 ConsoleApplication3
8 IntelliSense: отсутствует оператор ">>", соответствующий этим операндам
типы операндов: std::istringstream >> double f:\My doc\VS\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3.cpp 39 7 ConsoleApplication3
9 IntelliSense: недопустимый неполный тип f:\My doc\VS\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3.cpp 40 10 ConsoleApplication3
10 IntelliSense: отсутствует оператор ">>", соответствующий этим операндам
типы операндов: std::istringstream >> double f:\My doc\VS\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3.cpp 41 7 ConsoleApplication3
11 IntelliSense: недопустимый неполный тип f:\My doc\VS\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3.cpp 42 3 ConsoleApplication3
12 IntelliSense: отсутствует оператор ">>", соответствующий этим операндам
типы операндов: std::istringstream >> double f:\My doc\VS\ConsoleApplication3\ConsoleApplication3\ConsoleApplication3.cpp 43 7 ConsoleApplication3


Это только часть. Запусти пожалуйста у себя мой код и глянь на ошибки, может ты знаешь как их исправить.
0
7651 / 6456 / 2944
Регистрация: 14.04.2014
Сообщений: 28,148
05.05.2015, 23:20 8
Покажи, что получилось.
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
06.05.2015, 01:48 9
Цитата Сообщение от Lord007 Посмотреть сообщение
ofstream fout("E:\cppstudio.txt");
Цитата Сообщение от Lord007 Посмотреть сообщение
ifstream fin("E:\cppstudio.txt");
Обратный слеш двойным нужно делать.
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
06.05.2015, 02:19 10
Кликните здесь для просмотра всего текста
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
// В файле данные расположены следующим образом :
//Radius: 1   Coord point: (5;10)
// 
//Radius: 5   Coord point: (1;7)
// 
//Radius: 6   Coord point: (5;8)
// 
//Radius: 7   Coord point: (0;7)
// 
//Radius: 9   Coord point: (8;9)
 
//Мне нужно записать данные(радиус и координаты(только значения)) 
//в следующие массивы:
//arrFigure[i].built.X
//arrFigure[i].built.Y
//arrFigure[i].radius 
//Это должна быть функция Inputfromfile для моей программы.
 
#include <fstream>
#include <iostream>
#include <windows.h>
#include <string>
 
using namespace std;
struct coordinates
{
    double X;
    double Y;
};
struct circle
{
    double radius;
    coordinates built; 
    void show() 
    {
        cout << "Radius: " << radius << " cm " << endl;
        cout << "Coord point: " << "(" << built.X << ";" << built.Y << ")" << "\n\n\n";
        ;
    }
};
//------Global Variable---------
int MAX;
circle* arrFigure = NULL;
//-------------------------------------
void bubble()
{
    int i, j;
        for (i = 0; i < MAX - 1; ++i) 
    {
        for (j = 0; j < MAX - 1; ++j)
        {
            if (arrFigure[j + 1].radius < arrFigure[j].radius)
            {
                circle tmp = arrFigure[j + 1];
                arrFigure[j + 1] = arrFigure[j];
                arrFigure[j] = tmp;
            }
        }
    }
}
void InputData(){
    cout << "Enter the number of circles: ";
    cin >> MAX;
    delete[] arrFigure;
    arrFigure = new circle[MAX];
 
    for (int i = 0; i < MAX; i++){
        arrFigure[i].built.X = rand() % 11;
        arrFigure[i].built.Y = rand() % 11;
        arrFigure[i].radius = rand() % 11;
    }
}
void OutputSortArr() {
    cout << "Output sort array " << endl;
    for (int i = 0; i < MAX; i++){
        arrFigure[i].show();
    }
}
void OutputGenerate(){
    cout << "Output generate array" << endl;
    for (int i = 0; i < MAX; i++){
        arrFigure[i].show();
    }
}
void RecordToFile(){
    ofstream fout("E:\\cppstudio.txt"); 
    for (int i = 0; i < MAX; i++)
    {
        fout << "Radius: " << arrFigure[i].radius << "\t";
        fout << "Coord point: " << "(" << arrFigure[i].built.X << ";" << arrFigure[i].built.Y << ")" << "\n\n";
    }
    fout.close(); 
    system("pause");
}
void Readingfile(){
    setlocale(LC_ALL, "rus");
    char buff[35]; // buffer
    ifstream fin("E:\\cppstudio.txt");
 
    if (!fin.is_open()) // esli file ne otkrut
        cout << "Файл не может быть открыт!\n";
    else
    {
        while (!fin.eof()){
            fin.getline(buff, 50);
            cout << buff << endl;
        }
        fin.close();
 
    }
 
}
 
void Inputfromfile()
{
    setlocale(LC_ALL, "rus");
    
    ifstream fin("E:\\cppstudio.txt");
 
    if (!fin.is_open()) // esli file ne otkrut
        cout << "Файл не может быть открыт!\n";
    else
    {
        MAX = 5; // для теста
        arrFigure = new circle[MAX]; // для теста
        char buff[35]; // buffer
        char ch;
        for (int i = 0; i < MAX; ++i)
        {
            fin >> buff >> arrFigure[i].radius;
            fin >> buff >> buff;
            (fin.get(ch)).get();
            (fin >> arrFigure[i].built.X).get();
            (fin >> arrFigure[i].built.Y).get();
            fin.get();
 
            arrFigure[i].show();
            
        }
        fin.close();
 
    }
}
 
int menu() {
    int menu;
    do{
        cout << "Choose menu item" << endl;
        cout << "1 - input data " << endl;
        cout << "2 - Output generate array" << endl;
        cout << "3 - Output sort array" << endl;
        cout << "4 - Sort arr" << endl;
        cout << "5 - Record to file" << endl;
        cout << "6 - Reading file" << endl;
        cout << "7 - Input from file" << endl;
        cin >> menu;
        switch (menu){
        case 1:InputData(); break;
        case 2:OutputGenerate(); break;
        case 3:OutputSortArr(); break;
        case 4:bubble(); break;
        case 5:RecordToFile(); break;
        case 6:Readingfile(); break;
        case 7:; break;
        default: menu = 0;
        }
    } while (menu != 0);
    return 0;
}
 
int main()
{
    setlocale(LC_ALL, "rus");
    //menu();
    Inputfromfile();
    delete[] arrFigure;
    system("pause");
    return 0;
}
Миниатюры
Как считать данные с файла и записать в массив?  
1
0 / 0 / 1
Регистрация: 06.11.2014
Сообщений: 156
06.05.2015, 06:55  [ТС] 11
lss, ты меня наверно не правильно понял, у меня в коде не была прописана эта функция ты сейчас заменил функцию которая выводила файл на экран.
Вот мой код :
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
#include "stdafx.h"
#include <fstream>
#include <iostream>
#include <windows.h>
#include <string>
 
using namespace std;
struct coordinates
{
    double X;
    double Y;
};
struct circle
{
    double radius;
    coordinates built; 
    void show() 
    {
        cout << "Radius: " << radius << " cm " << endl;
        cout << "Coord point: " << "(" << built.X << ";" << built.Y << ")" << "\n\n\n";
        ;
    }
};
//------Global Variable---------
int MAX;
circle* arrFigure = NULL;
//-------------------------------------
 
void IFF(){
    setlocale(LC_ALL, "rus");
 
    ifstream fin("E:\\cppstudio.txt");
 
    if (!fin.is_open()) // esli file ne otkrut
        cout << "Файл не может быть открыт!\n";
    else
    {
        MAX = 5; // для теста
        arrFigure = new circle[MAX]; // для теста
        char buff[35]; // buffer
        char ch;
        for (int i = 0; i < MAX; ++i)
        {
            fin >> buff >> arrFigure[i].radius;
            fin >> buff >> buff;
            (fin.get(ch)).get();
            (fin >> arrFigure[i].built.X).get();
            (fin >> arrFigure[i].built.Y).get();
            fin.get();
 
            arrFigure[i].show();
 
        }
        fin.close();
 
    }
}
 
void bubble()
{
    int i, j;
        for (i = 0; i < MAX - 1; ++i) 
    {
        for (j = 0; j < MAX - 1; ++j)
        {
            if (arrFigure[j + 1].radius < arrFigure[j].radius)
            {
                circle tmp = arrFigure[j + 1];
                arrFigure[j + 1] = arrFigure[j];
                arrFigure[j] = tmp;
            }
        }
    }
}
void InputData(){
    cout << "Enter the number of circles: ";
    cin >> MAX;
    delete[] arrFigure;
    arrFigure = new circle[MAX];
 
    for (int i = 0; i < MAX; i++){
        arrFigure[i].built.X = rand() % 11;
        arrFigure[i].built.Y = rand() % 11;
        arrFigure[i].radius = rand() % 11;
    }
}
void OutputSortArr() {
    cout << "Output sort array " << endl;
    for (int i = 0; i < MAX; i++){
        arrFigure[i].show();
    }
}
void OutputGenerate(){
    cout << "Output generate array" << endl;
    for (int i = 0; i < MAX; i++){
        arrFigure[i].show();
    }
}
void RecordToFile(){
    ofstream fout("E:\cppstudio.txt"); 
    for (int i = 0; i < MAX; i++){
        fout << "Radius: " << arrFigure[i].radius << "\t";
        fout << "Coord point: " << "(" << arrFigure[i].built.X << ";" << arrFigure[i].built.Y << ")" << "\n\n";
    }
    fout.close(); 
    system("pause");
}
void Readingfile(){
    setlocale(LC_ALL, "rus");
    char buff[35]; // buffer
    ifstream fin("E:\cppstudio.txt");
 
    MAX = 5; // для теста
    arrFigure = new circle[MAX]; // для теста
    char buff[35]; // buffer
    char ch;
    for (int i = 0; i < MAX; ++i)
    {
        fin >> buff >> arrFigure[i].radius;
        fin >> buff >> buff;
        (fin.get(ch)).get();
        (fin >> arrFigure[i].built.X).get();
        (fin >> arrFigure[i].built.Y).get();
        fin.get();
 
        arrFigure[i].show();
 
    }
    fin.close();
 
}
 
 
 
 
int menu() {
    int menu;
    do{
        cout << "Choose menu item" << endl;
        cout << "1 - input data " << endl;
        cout << "2 - Output generate array" << endl;
        cout << "3 - Output sort array" << endl;
        cout << "4 - Sort arr" << endl;
        cout << "5 - Record to file" << endl;
        cout << "6 - Reading file" << endl;
        cout << "7 - Input from file" << endl;
        cin >> menu;
        switch (menu){
        case 1:InputData(); break;
        case 2:OutputGenerate(); break;
        case 3:OutputSortArr(); break;
        case 4:bubble(); break;
        case 5:RecordToFile(); break;
        case 6:Readingfile(); break;
        case 7:IFF(); break;
        default: menu = 0;
        }
    } while (menu != 0);
    return 0;
}
 
int main()
{
    setlocale(LC_ALL, "rus");
    menu();
    delete[] arrFigure;
    system("pause");
    return 0;
}
ошибок уже меньше
Кликните здесь для просмотра всего текста

error C2065: buff: необъявленный идентификатор f:\my doc\vs\consoleapplication3\consoleapplication3\consoleapplication3.cpp 44 error C2065: buff: необъявленный идентификатор f:\my doc\vs\consoleapplication3\consoleapplication3\consoleapplication3.cpp 45
warning C4129: c: неизвестная escape-последовательность f:\my doc\vs\consoleapplication3\consoleapplication3\consoleapplication3.cpp 100 1 ConsoleApplication3
warning C4129: c: неизвестная escape-последовательность f:\my doc\vs\consoleapplication3\consoleapplication3\consoleapplication3.cpp 111 1 ConsoleApplication3
error C2086: char buff[35]: переопределение f:\my doc\vs\consoleapplication3\consoleapplication3\consoleapplication3.cpp 115 1 ConsoleApplication3



С массивами то понятно, мне нужно новый сделать для буфера т.к. у меня такой уже есть. А что такое неизвестная escape-последовательность?
0
7651 / 6456 / 2944
Регистрация: 14.04.2014
Сообщений: 28,148
06.05.2015, 09:07 12
Косую черту удвоить в пути к файлу.
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
06.05.2015, 15:24 13
Цитата Сообщение от Lord007 Посмотреть сообщение
lss, ты меня наверно не правильно понял,
Всё я правилно понял, это ты правильно пойми то, что тебе предлагают. Был вопрос, как из файла считать данные и заполнить массив структур. Я тебе показал как. Вывод на экран я добавил просто для демонстрации правильного чтения данных.
1
0 / 0 / 1
Регистрация: 06.11.2014
Сообщений: 156
06.05.2015, 17:02  [ТС] 14
lss, спасибо, я вроде в этом коде разобрался. Можешь сказать, можно ли как-то сделать чтобы программа сама определяла количество записей(строк радиус - координата)?
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
06.05.2015, 17:12 15
Цитата Сообщение от Lord007 Посмотреть сообщение
можно ли как-то сделать чтобы программа сама определяла количество записей(строк радиус - координата)?
Используя ignore(размер строки с запасом, '\n') пройдись по коду и посчитай '\n' - это будет количество строк.

Добавлено через 1 минуту
Не забудь, после этого, clear() сделать, и вернуть курсор в начало файла (seekg(0)).
0
0 / 0 / 1
Регистрация: 06.11.2014
Сообщений: 156
06.05.2015, 17:38  [ТС] 16
lss, я не осведомлен((, ты показываешь
ignore(размер строки с запасом, '\n') пройдись по коду и посчитай '\n' - это будет количество строк.
А как мне можно присвоить количество строк к переменной, которое должна найти ф. ignore (если правильно понял, что делает эта функция)?
И если не сложно скажи в какой библиотеке находится ignore? У меня Visual Studio и он пишет что ignore не определен.
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
06.05.2015, 17:43 17
Цитата Сообщение от Lord007 Посмотреть сообщение
в какой библиотеке находится ignore?
ifstream.
C++
1
2
    ifstream fin("1.txt");
    fin.ignore(200, '\n');
Цитата Сообщение от Lord007 Посмотреть сообщение
А как мне можно присвоить количество строк к переменной, которое должна найти ф. ignore (если правильно понял, что делает эта функция)?
Цикл while() со счётчиком итераций, в параметры while() помещаешь работу ignore().
0
0 / 0 / 1
Регистрация: 06.11.2014
Сообщений: 156
06.05.2015, 18:35  [ТС] 18
lss, собрал такой тест, он считает еще +1 лишнюю строку. В чем может быть проблема?
C++
1
2
3
4
5
6
7
8
void test(){
    int i = 0;
    ifstream fin("E:\\cppstudio.txt");
    while (fin.ignore(200, '\n')){
        i++;
    };
    cout << i << endl;
}
Добавлено через 28 минут
lss, спасибо тебе огромное за помощь!! Вроде все остальные проблемы сам решил. Счетчик наверно последнюю строку(пустую) плюсует, но я просто после цикла отнимаю 1 и всё нормально.
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
06.05.2015, 18:55 19
Lord007, ты, кстати, учитываешь, что у тебя в файле есть пустые строки (зачем???) ? Это нужно принимать во внимание, если подсчёт делаешь для выделения памяти под массив.
1
0 / 0 / 1
Регистрация: 06.11.2014
Сообщений: 156
06.05.2015, 21:03  [ТС] 20
lss, к тому моменту когда я это писал, всё уже исправлено. Я код записи в файл поправил и убрал лишние строки.
0
06.05.2015, 21:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.05.2015, 21:03
Помогаю со студенческими работами здесь

Считать данные из txt файла, записать их в массив и вычесть значения одного массива из другого
Срочно нужна помощь. Никак не могу разобраться был файл с данными в формате нескольких столбцов с...

Задача на массив. Считать данные из файла, произвести операции, результат записать в новый файл
Имеется файл, в котором содержится размерность массива и его элементы. (произвольный, можно Ваш)...

Как считать данные с файла и записать результат в файл?
Как считать данные с файла и записать результат в файл? #include &lt;iostream&gt; #include &lt;vector&gt;...

Как считать и записать данные из файла (на конкретном примере)
Объясню ситуацию: есть html страница с таблицей из разных видео. При нажатии на одно из них...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru