Форум программистов, компьютерный форум CyberForum.ru

Чтение из файла в Матрицу - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
о_О_Кто_здесь
11 / 11 / 1
Регистрация: 06.06.2011
Сообщений: 152
05.04.2014, 20:59     Чтение из файла в Матрицу #1
Добрый Ночи! Всем классного настроения!

Ищу совета от более опытных пользователей.

Подскажите, пожалуйста, как можно читать в матрицу(массив) из файла, для реализации моего проекта.

Матрица готова, посчиталась и сохранилась в файл. Теперь нужно взять загрузить из файла на экран по очереди каждую строчку, и при желании крутить туда сюда.

Кликните здесь для просмотра всего текста
3 2 -5 -1 2 -1 3 13 1 2 -1 9
1 2 -1 9 2 -1 3 13 3 2 -5 -1
1 2 -1 9 2 -1 3 -5 3 2 -5 -1
1 2 -1 9 0 -1 3 -5 3 2 -5 -1
1 2 -1 9 0 -5 3 -5 3 2 -5 -1
1 2 -1 9 0 -5 5 -5 3 2 -5 -1
1 2 -1 9 0 -5 5 -5 3 2 -5 -1
1 2 -1 9 0 -5 5 -5 3 2 -5 -28
1 2 -1 9 0 -5 5 -5 0 2 -5 -28
1 2 -1 9 0 -5 5 -5 0 -4 -5 -28
1 2 -1 9 0 -5 5 -5 0 -4 -2 -28
1 2 -1 9 0 -5 5 -5 0 -4 -2 -28
1 2 -1 9 0 -5 5 -5 0 -4 -2 -24
1 2 -1 9 0 -5 5 -5 0 0 -2 -24
1 2 -1 9 0 -5 5 -5 0 0 -6 -24

Конечно, сохранение можно как угодно подправить.

т.е. пример матрицы имеет вид:
3x+2y-5z=-1
2x-y+3z=13
x+2y-z=9

Я читаю к примеру так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    std::ifstream in("out.txt"); 
    if (!in.is_open())
    {
        std::cout << " Файл " << "out.txt" << " не был открыт для чтения. ";
        return;
    }
    double **A2 = new double *[n], *B2 = new double[n]; //инициализация динамических массивов
    for (int i = 0; i < n; i++)
    A2[i] = new double[m];
        for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            in >> A[i][j]; // матрица А
 
        }
        in >> B[i];  // матрица B
 
    }
    in.close();
Если я прочитаю 2 раза:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < m; j++)
            {
 
                in >> A2[i][j];
            }
            in >> B2[i];
 
        }
        DisplayMatrix(A2, B2, n, m);
 
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < m; j++)
            {
 
                in >> A2[i][j];
            }
            in >> B2[i];
 
        }
        DisplayMatrix(A2, B2, n, m);
Соответственно, он читает 1 строку, а потом и вторую. Но таких строк более 10, и как мне их потом обратно крутить?
Никак не могу придумать решение.
Чтение из файла в Матрицу



Буду Очень благодарен за совет.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.04.2014, 00:44     Чтение из файла в Матрицу #21
Цитата Сообщение от о_О_Кто_здесь Посмотреть сообщение
да еще и возврат...
Для того, чтобы можно было вернуться назад в файле, запоминайте позицию возврата (tellg()), перед движением вперёд, потом возвращайте, в эту позицию, курсор (seekg()).
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
о_О_Кто_здесь
11 / 11 / 1
Регистрация: 06.06.2011
Сообщений: 152
06.04.2014, 01:53  [ТС]     Чтение из файла в Матрицу #22
По поводу
Цитата Сообщение от alsav22 Посмотреть сообщение
Для того, чтобы можно было вернуться назад в файле, запоминайте позицию возврата (tellg()), перед движением вперёд, потом возвращайте, в эту позицию, курсор (seekg()).
Точно не понял как их применить.

Пока вроде, что-то типо нужного варианта с "вперед" есть результат.
накидал пример для тестов:
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
void Step(int& n, int &m)
{
    //  system("cls");
    std::ifstream in("out.txt");
    if (!in.is_open())
    {
        std::cout << " Файл " << "out.txt" << " не был открыт для чтения. ";
        return;
    }
    int len;
    double **A2 = new double *[n], *B2 = new double[n]; //инициализация динамических массивов
    for (int i = 0; i < n; i++)
        A2[i] = new double[m];
 
    while (true)
    {
        char command;
        cout << " Введите команду: "; cin >> command;
        system("cls");
 
 
        switch (command)
        {
        case '>':
            len=in.tellg();
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    in >> A2[i][j];
                }
                in >> B2[i];
 
            }
            DisplayMatrix(A2, B2, n, m);
            in.ignore(462, '\n');
            break;
        case '<':
 
        in.seekg(len,'\n'); //in.seekg(len);
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    in >> A2[i][j];
                }
                in >> B2[i];
 
            }
            DisplayMatrix(A2, B2, n, m);
            break;
        case 's':
            //  SaveToFile();
            cout << "\nПроизведено сохранение всех шагов сортировки в файл output.txt\n" << endl;
            //getch();
            break;
        case 'e':
            return;
        }
 
 
        /*
        for (int i = 0; i < n; i++)
        {
        for (int j = 0; j < m; j++)
        {
        in >> A2[i][j];
        }
        in >> B2[i];
 
        }
        DisplayMatrix(A2, B2, n, m);*/
        
    }
    in.close();
}


seekg(pos) – устанавливает расстояние (в байтах) от начала файла до файлового указателя (т.е. устанавливает текущую позицию чтения в значение pos);

seekg (pos, seek_dir) – перемещает текущую позицию чтения на pos байтов, считая от одной из трех позиций, определяемых параметром seek_dir: ios::beg (от начала файла), ios::cur (от текущей позиции), ios::end (от конца файла);
tellg() – возвращает позицию (в байтах) указателя файла от начала файла.

tellg(pos) – возвращает позицию (в байтах) указателя файла от начала файла.

Добавлено через 32 минуты
Пытаюсь сделать типо так:
кусок кода:
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
ios::pos_type p;
//или
streampos pos;
 
void Step(int& n, int &m)
{
    //  system("cls");
    std::ifstream in("out.txt");
    if (!in.is_open())
    {
        std::cout << " Файл " << "out.txt" << " не был открыт для чтения. ";
        return;
    }
    int len;
    double **A2 = new double *[n], *B2 = new double[n]; //инициализация динамических массивов
    for (int i = 0; i < n; i++)
        A2[i] = new double[m];
 
    while (true)
    {
        char command;
        cout << " Введите команду: "; cin >> command; // вводим > появляется первая матрица
        system("cls");
 
 
        switch (command)
        {
        case '>':
 
            //p = in.tellg();//запоминаем текущую позицию
        pos = in.tellg(); //запоминаем текущую позицию
        cout << " Текущая позиция "<< pos << endl;
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    in >> A2[i][j];
                }
                in >> B2[i];
 
            }
            DisplayMatrix(A2, B2, n, m);
            in.ignore(462, '\n'); // как вывели первую матрицу, сразу игнорим первую строку, после нажатия > появляется читается следующая строка и т.д.
            break;
        case '<':
            cout << " Текущая позиция " << pos << endl;
            in.seekg(pos); // по идеи чтение должно начаться с запомненной позиции. Но пока к сожалению нет...
 
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    in >> A2[i][j];
                }
                in >> B2[i];
 
            }
            DisplayMatrix(A2, B2, n, m);
            break;
        case 's':
            //  SaveToFile();
            cout << "\nПроизведено сохранение всех шагов сортировки в файл output.txt\n" << endl;
            //getch();
            break;
        case 'e':
            return;
        }
    }
    in.close();
}
Получается, даже если все запоминаться будет, то можно будет вернутся только на 1 прошлый шаг. т.к. при каждом шаге, новая позиция...

Добавлено через 26 минут
ВОт так начинает что-то да крутится туда-сюда, правда не правильные цифры выдает при обратном ходе.
C++
1
pos = in.tellg()/sizeof(int);
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.04.2014, 02:08     Чтение из файла в Матрицу #23
Цитата Сообщение от о_О_Кто_здесь Посмотреть сообщение
ВОт так начинает что-то да крутится туда-сюда, правда не правильные цифры выдает при обратном ходе.
C++
1
pos = in.tellg()/sizeof(int);
Совсем не то, int-ов в текстовом файле нет. Читайте 17 пост.
о_О_Кто_здесь
11 / 11 / 1
Регистрация: 06.06.2011
Сообщений: 152
06.04.2014, 02:12  [ТС]     Чтение из файла в Матрицу #24
alsav22, не совсем понял, что именно читать? какой пост. спасибо!
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.04.2014, 02:31     Чтение из файла в Матрицу #25
Цитата Сообщение от о_О_Кто_здесь Посмотреть сообщение
что именно читать? какой пост
Цитата Сообщение от alsav22 Посмотреть сообщение
17 пост
В текстовом файле char-ы (байты) записаны, нет там int-ов.
о_О_Кто_здесь
11 / 11 / 1
Регистрация: 06.06.2011
Сообщений: 152
06.04.2014, 02:57  [ТС]     Чтение из файла в Матрицу #26
Цитата Сообщение от alsav22 Посмотреть сообщение
В текстовом файле char-ы (байты) записаны, нет там int-ов.
Спасибо, завтра попробую разобраться.
Цитата Сообщение от alsav22 Посмотреть сообщение
Сообщение от о_О_Кто_здесь
что именно читать? какой пост
Сообщение от alsav22
17 пост
Это и имел ввиду, не понял что за 17 пост, где он находится? В глубокой ночи уже не соображаю. Пойду спать...
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.04.2014, 04:54     Чтение из файла в Матрицу #27
Цитата Сообщение от о_О_Кто_здесь Посмотреть сообщение
не понял что за 17 пост, где он находится?
В сообщениях этой темы. В правом, верхнем углу, каждого сообщения, проставлен его номер и ссылка на него.
Чтение из файла в Матрицу
о_О_Кто_здесь
11 / 11 / 1
Регистрация: 06.06.2011
Сообщений: 152
06.04.2014, 16:50  [ТС]     Чтение из файла в Матрицу #28
alsav22, Пробовал считывать кол-во прочитанных символов, но с возвратом проблемы.

Добавлено через 3 часа 30 минут
Больше вариантов решения моей проблемы нет?

может сделать сохранение каждой матрицы в новый файл, и подгружать все туда сюда.
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
void stran(int Nomer_str)
{
    char str[1000];
    system("cls");
    ifstream in;   //Открытие файла;
    in.trunc;   
    if (Nomer_str <=1) 
        Nomer_str=1;
        //SetHighlightedText();
        //cout<<" "<<endl;
        //SetHighlightedText2();
    if (Nomer_str==1) 
        in.open("gauss.txt");
    if (Nomer_str==2) 
        in.open("gauss2.txt");
     if (Nomer_str==3) 
         in.open("gauss3.txt");
     if (Nomer_str==4) 
         in.open("gauss4.txt");
     if (Nomer_str==5) 
         in.open("gauss5.txt");
     {
         if(!in)      //Если файла в каталоге нет;
         {
             cerr << "\nОшибка: Файл не найден! Проверьте наличие файлов в каталоге..."<<endl;
             cerr << "Error:  File not found! Check up presence of files in the catalogue..." << endl;
             return;
         }
         while (!in.eof())
         {
             in.getline(str,1000);
             cout<<(str)<<endl;
         }   
     } 
     in.close(); //закрыть файл;
}
и т.д. Все впринципи очень с этим просто, жаль, думаю препод придерется. курсовая как не как.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.04.2014, 19:28     Чтение из файла в Матрицу #29
Цитата Сообщение от о_О_Кто_здесь Посмотреть сообщение
Пробовал считывать кол-во прочитанных символов, но с возвратом проблемы.
Зачем символы считать? Почему возврат на сохранённую позицию не получается? По-моему, там всё достаточно просто. Я так до конца и не понял, как должна работать программа. Когда, сколько и чего должно считаться, когда и куда должен быть возврат?
о_О_Кто_здесь
11 / 11 / 1
Регистрация: 06.06.2011
Сообщений: 152
06.04.2014, 19:59  [ТС]     Чтение из файла в Матрицу #30
alsav22,
Добрый день! Извиняюсь, что не могу ясно выразиться.

Откинем все.

Есть файл с данными.
Кликните здесь для просмотра всего текста

3 2 -5 -1 2 -1 3 13 1 2 -1 9
1 2 -1 9 2 -1 3 13 3 2 -5 -1
1 2 -1 9 2 -1 3 -5 3 2 -5 -1
1 2 -1 9 0 -1 3 -5 3 2 -5 -1
1 2 -1 9 0 -5 3 -5 3 2 -5 -1
1 2 -1 9 0 -5 5 -5 3 2 -5 -1
1 2 -1 9 0 -5 5 -5 3 2 -5 -1
1 2 -1 9 0 -5 5 -5 3 2 -5 -28
1 2 -1 9 0 -5 5 -5 0 2 -5 -28
1 2 -1 9 0 -5 5 -5 0 -4 -5 -28
1 2 -1 9 0 -5 5 -5 0 -4 -2 -28
1 2 -1 9 0 -5 5 -5 0 -4 -2 -28
1 2 -1 9 0 -5 5 -5 0 -4 -2 -24
1 2 -1 9 0 -5 5 -5 0 0 -2 -24
1 2 -1 9 0 -5 5 -5 0 0 -6 -24


Эти данные сейчас я вывожу так: при помощи:
вот рабочий код загружающий из файла out.txt лежащем в папке с проектом, при нажатии вводе >:

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
#include <iostream>
#include <ctime>
#include <fstream>
#include <iomanip>
#include <string>
#include <windows.h>
#include <vector>
 
using namespace std;
ios::pos_type p;
streampos pos;
 
 
void DisplayMatrix(double **A, double *B, int& n, int& m)
{
    cout << "\n" << endl;
    {
        for (int i = 0; i < n; i++)
        {
 
            for (int j = 0; j < m; j++)
                cout << setw(9) << A[i][j];
            cout << setw(9) << " = ";
            cout<< setw(9) << B[i];
            cout << endl << endl;
        }
    }   
}
 
 
void ShowHelp()
{
    //system("cls");
    cout << "Для дальнейше работы следуйте инструкции: " << endl;
    cout << "Нажмите '>', для вывода массива по шагам" << endl;
    cout << "Нажмите '<', для возврата предыдущего шага сортировки массива" << endl;
    cout << "Нажмите 'e', если вы хотите закончить сортировку\n" << endl;
}
void PreviousStep() //Наш массив на предыдущем шаге сортировки;
{
    //if (state > 0)
    //state--;
}
void NextStep()    //Наш массив на следующем шаге сортировки;
{
    //if (state < statesCount - 1)
    //  state++;
}
 
void Step(int& n, int &m)
{
    std::ifstream in("out.txt");
    if (!in.is_open())
    {
        std::cout << " Файл " << "out.txt" << " не был открыт для чтения. ";
        return;
    }
        double **A2 = new double *[n], *B2 = new double[n]; //инициализация динамических массивов
    for (int i = 0; i < n; i++)
        A2[i] = new double[m];
    while (true)
    {
        char command;
        cout << " Введите команду: "; cin >> command;
        system("cls");
 
 
        switch (command)
        {
        case '>': //если ввели > из файла выводим загружаем 1 строку в матрицу и выводим на экран.
 
            //p = in.tellg();
        //  pos = in.tellg() / sizeof(in);
            cout << " Текущая позиция pos" << pos << endl;
 
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    in >> A2[i][j];
                }
                in >> B2[i];
            }
            DisplayMatrix(A2, B2, n, m);
 
            if (in.ignore(462, '\n')) // игнорим первую строку, чтобы при повторном нажатии > считалась следующая строчка в матрица и показалась на экран.
    
            break;
        case '<': //при нажатии на < нужно прочитать строчку которая была до этого. т.е. если читается вторая строка( матрица) то показать первую. И так крутить в любой момент.
            cout << " Текущая позиция " << pos << endl;
            //in.seekg(pos);
            
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    in >> A2[i][j];
                }
                in >> B2[i];
 
            }
            DisplayMatrix(A2, B2, n, m);
            break;
        case 's':
            //  SaveToFile();
            cout << "\nПроизведено сохранение всех шагов сортировки в файл output.txt\n" << endl;
            //getch();
            break;
        case 'e':
            return;
        }
    }
    in.close();
}
 
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int n, m;
    cout << "****************************************************************" << endl;
    cout << "\n" << " Введите размерность матрицы NxM " << endl;
    cout << " n= ";
    while (true)
    {
        cin >> n;
        if (cin.good())
        {
            cin.ignore(10, '\n');
            break;
        }
        cin.clear();
        cout << " Неправильный ввод данных " << endl;
        cin.ignore(10, '\n');
        cout << " Введите n заного: ";
    }
    cout << " m= ";
    while (true)
    {
        cin >> m;
        if (cin.good())
        {
            cin.ignore(10, '\n');
            break;
        }
        cin.clear();
        cout << " Неправильный ввод данных " << endl;
        cin.ignore(10, '\n');
        cout << " Введите m заного: ";
    }
    double **A = new double *[n], *B = new double[n]; //инициализация динамических массивов
    for (int i = 0; i < n; i++)
        A[i] = new double[m];
    
    ShowHelp();
    Step(n, m);
    system("pause");
    return 0;
}
т.е. Из файла, при вводе в консоль ">" из файла загружаются данные (первая строчка 3 2 -5 -1 2 -1 3 13 1 2 -1 9) в массив массивов и выводится на экран. в виде:

3x+2y-5z=-1
2x-y+3z=13
x+2y-z=9

http://www.cyberforum.ru/attachments/385210d1396722019

Далее строчка игнорится
C++
1
in.ignore(462, '\n')
и при повторном чтении читается из файла вторая строчка. и т.д.
вот пример: Чтение из файла в Матрицу

НО как при вводе "<" вернутся назад? не получается! Хочу читать уже прочитанную строку ранее из файла. и показать пользователю.
Что в итоге, получается, при нажатии матрица как будто только считается и пользователь наблюдает это. (естественно я добавлю комментарии).
Да, немного матрица не так считает, но итог верен. Это поправимо. Проблема в пошаговом режиме.
Или может подскажите мне другой вариант?

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

дали пример программы на сортировке: Пример работы.rar там, тест, теория, и 2 сортировки. на это должен быть похож мой проект. Вот я и мучаюсь с шагами.
о_О_Кто_здесь
11 / 11 / 1
Регистрация: 06.06.2011
Сообщений: 152
06.04.2014, 20:05  [ТС]     Чтение из файла в Матрицу #31
По поводу возврата, я пытался сохранить текущую позицию как вы говорили, и вернуться к этой позиции с помощью:
C++
1
in.seekg(pos);
Но не выходит, проблемы видимо, с сохранением позиции?
C++
1
2
3
//p = in.tellg();
//pos = in.tellg();
pos = in.tellg() / sizeof(???); //как только не пробовал
Возможно, нужно сначала из файла куда либо загрузить? Но это конечно столько действий вышло.
Я уже подумываю переделывать весь проект в вектор векторов....
Но там у меня больше проблем возникнет, а так же куча вопросов.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.04.2014, 20:16     Чтение из файла в Матрицу #32
Цитата Сообщение от о_О_Кто_здесь Посмотреть сообщение
Далее строчка игнорится
Зачем? Вы же этим пропускаете вторую строчку. И всё для того, чтобы потом сделать возврат для чтения этой второй строки?

Добавлено через 3 минуты
Цитата Сообщение от о_О_Кто_здесь Посмотреть сообщение
НО как при вводе "<" вернутся назад?
Назад - куда? Я и в прошлых постах не получил ответа на этот вопрос. После чтения очередной, вернуться к чтению следующей?
о_О_Кто_здесь
11 / 11 / 1
Регистрация: 06.06.2011
Сообщений: 152
06.04.2014, 20:20  [ТС]     Чтение из файла в Матрицу #33
alsav22, Разве? Помойму все все строки выводит на экран. Или я невнимателен.

Добавлено через 1 минуту
alsav22, Я читаю 1,2,3. И при наше назад, хочу вернутся с текущей на прошлую. Т.е. сейчас на 3 шаг, значит вернемся на второй.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.04.2014, 20:21     Чтение из файла в Матрицу #34
Цитата Сообщение от о_О_Кто_здесь Посмотреть сообщение
alsav22, Разве? Помойму все все строки выводит на экран. Или я невнимателен.
Вот на это ответьте:
Цитата Сообщение от alsav22 Посмотреть сообщение
После чтения очередной, вернуться к чтению следующей?
о_О_Кто_здесь
11 / 11 / 1
Регистрация: 06.06.2011
Сообщений: 152
06.04.2014, 20:26  [ТС]     Чтение из файла в Матрицу #35
Цитата Сообщение от alsav22 Посмотреть сообщение
Сообщение от alsav22
После чтения очередной, вернуться к чтению следующей?
В смысле очередной???

Читаем 2 вторую строчку(матрицу), взбрело в голову "хочу глянуть прошлый шаг(как выглядела матрица до преобразования)" нажали назад, вывелось то что на экране было до этого.
А если вернулись на прошлый шаг, то после него при нажатии вперед, от него показывается следующий шаг по очередности после него.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.04.2014, 20:37     Чтение из файла в Матрицу #36
Цитата Сообщение от о_О_Кто_здесь Посмотреть сообщение
В смысле очередной???
Очередная - это та, которая была прочитана последней (при очередном нажатии вперёд).

Добавлено через 4 минуты
Цитата Сообщение от о_О_Кто_здесь Посмотреть сообщение
Читаем 2 вторую строчку(матрицу), взбрело в голову "хочу глянуть прошлый шаг(как выглядела матрица до преобразования)" нажали назад, вывелось то что на экране было до этого.
А если вернулись на прошлый шаг, то после него при нажатии вперед, от него показывается следующий шаг по очередности после него.
То есть, если возврат, то только на один шаг (а не в произвольное место), а когда, после этого, вперёд, то продолжить чтение с прерванного места? Например, прочли и вывели третью. Шаг назад - это чтение и вывод второй. После этого, шаг вперёд - это чтение и вывод четвёртой. Так?
о_О_Кто_здесь
11 / 11 / 1
Регистрация: 06.06.2011
Сообщений: 152
06.04.2014, 20:38  [ТС]     Чтение из файла в Матрицу #37
Цитата Сообщение от alsav22 Посмотреть сообщение
Сообщение от о_О_Кто_здесь
В смысле очередной???
немного я не понимаю вас.

Имеется ввиду так? :

1-шаг 2-шаг 3-шаг 4-шаг 5-шаг.....

Сейчас я, допустим, на 3 шаге.

очередная (последняя прочитанная) это 2 шаг.

После возврата на шаг два, вернутся при нажатии на > - вперед на 3 шаг, при < - назад, вернутся на 1 шаг.
я могу в скайпе позвонить, если нужно и можно.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.04.2014, 20:44     Чтение из файла в Матрицу #38
Вот это правильно описано?
Цитата Сообщение от alsav22 Посмотреть сообщение
Например, прочли и вывели третью. Шаг назад - это чтение и вывод второй. После этого, шаг вперёд - это чтение и вывод четвёртой.
Если нет исправьте, именно, в этом тексте.
о_О_Кто_здесь
11 / 11 / 1
Регистрация: 06.06.2011
Сообщений: 152
06.04.2014, 20:47  [ТС]     Чтение из файла в Матрицу #39
Цитата Сообщение от alsav22 Посмотреть сообщение
Сообщение от alsav22
Например, прочли и вывели третью. Шаг назад - это чтение и вывод второй. После этого, шаг вперёд - это чтение и вывод ТРЕТЬЕЙ.
Исправил! Не четвертой, а третьей. Т.е. повторно проходим этот шаг.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2014, 20:52     Чтение из файла в Матрицу
Еще ссылки по теме:

C++ Чтение из файла
Преобразование текстового файла в двоичный и чтение исходных данных из двоичного файла. C++
Чтение файла с несколькими знаками конца файла C++

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
06.04.2014, 20:52     Чтение из файла в Матрицу #40
Цитата Сообщение от о_О_Кто_здесь Посмотреть сообщение
Т.е. повторно проходим этот шаг
Зачем повтор?
Yandex
Объявления
06.04.2014, 20:52     Чтение из файла в Матрицу
Ответ Создать тему
Опции темы

Текущее время: 06:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru