Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
13 / 13 / 1
Регистрация: 06.06.2011
Сообщений: 157
1

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

05.04.2014, 20:59. Показов 2962. Ответов 45
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый Ночи! Всем классного настроения!

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

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

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

Кликните здесь для просмотра всего текста
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, и как мне их потом обратно крутить?
Никак не могу придумать решение.
Чтение из файла в Матрицу




Буду Очень благодарен за совет.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.04.2014, 20:59
Ответы с готовыми решениями:

Изменить данную программу организовав чтение исходных данных из текстового файла изменить размерность массива на квадратную матрицу 5х5
Изменить данную программу организовав чтение исходных данных из текстового файла изменить...

Как заменить чтение строки из консоли на чтение текстового файла?
основное задание: найти частоту суффикса (например, &quot;ing&quot;) в текстовом документе. в...

Чтение чисел из файла. Чтение после конца потока невозможно
Товарищи, помогите. В Pascal'e я не силен, так что не бейте меня ногами, но есть задача: написать...

Чтение файла, чтение названия папки где находится файл, запись данных на PHP
Допустим у нас есть структура с папками типа Large -&gt; Vehicles -&gt; Firetruck_0 В этой папке лежит...

45
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
06.04.2014, 00:44 21
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от о_О_Кто_здесь Посмотреть сообщение
да еще и возврат...
Для того, чтобы можно было вернуться назад в файле, запоминайте позицию возврата (tellg()), перед движением вперёд, потом возвращайте, в эту позицию, курсор (seekg()).
1
13 / 13 / 1
Регистрация: 06.06.2011
Сообщений: 157
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);
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
06.04.2014, 02:08 23
Цитата Сообщение от о_О_Кто_здесь Посмотреть сообщение
ВОт так начинает что-то да крутится туда-сюда, правда не правильные цифры выдает при обратном ходе.
C++
1
pos = in.tellg()/sizeof(int);
Совсем не то, int-ов в текстовом файле нет. Читайте 17 пост.
1
13 / 13 / 1
Регистрация: 06.06.2011
Сообщений: 157
06.04.2014, 02:12  [ТС] 24
alsav22, не совсем понял, что именно читать? какой пост. спасибо!
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
06.04.2014, 02:31 25
Цитата Сообщение от о_О_Кто_здесь Посмотреть сообщение
что именно читать? какой пост
Цитата Сообщение от alsav22 Посмотреть сообщение
17 пост
В текстовом файле char-ы (байты) записаны, нет там int-ов.
1
13 / 13 / 1
Регистрация: 06.06.2011
Сообщений: 157
06.04.2014, 02:57  [ТС] 26
Цитата Сообщение от alsav22 Посмотреть сообщение
В текстовом файле char-ы (байты) записаны, нет там int-ов.
Спасибо, завтра попробую разобраться.
Цитата Сообщение от alsav22 Посмотреть сообщение
Сообщение от о_О_Кто_здесь
что именно читать? какой пост
Сообщение от alsav22
17 пост
Это и имел ввиду, не понял что за 17 пост, где он находится? В глубокой ночи уже не соображаю. Пойду спать...
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
06.04.2014, 04:54 27
Цитата Сообщение от о_О_Кто_здесь Посмотреть сообщение
не понял что за 17 пост, где он находится?
В сообщениях этой темы. В правом, верхнем углу, каждого сообщения, проставлен его номер и ссылка на него.
Чтение из файла в Матрицу
1
13 / 13 / 1
Регистрация: 06.06.2011
Сообщений: 157
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(); //закрыть файл;
}
и т.д. Все впринципи очень с этим просто, жаль, думаю препод придерется. курсовая как не как.
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
06.04.2014, 19:28 29
Цитата Сообщение от о_О_Кто_здесь Посмотреть сообщение
Пробовал считывать кол-во прочитанных символов, но с возвратом проблемы.
Зачем символы считать? Почему возврат на сохранённую позицию не получается? По-моему, там всё достаточно просто. Я так до конца и не понял, как должна работать программа. Когда, сколько и чего должно считаться, когда и куда должен быть возврат?
1
13 / 13 / 1
Регистрация: 06.06.2011
Сообщений: 157
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

https://www.cyberforum.ru/atta... 1396722019

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


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

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

дали пример программы на сортировке: Пример работы.rar там, тест, теория, и 2 сортировки. на это должен быть похож мой проект. Вот я и мучаюсь с шагами.
0
13 / 13 / 1
Регистрация: 06.06.2011
Сообщений: 157
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(???); //как только не пробовал
Возможно, нужно сначала из файла куда либо загрузить? Но это конечно столько действий вышло.
Я уже подумываю переделывать весь проект в вектор векторов....
Но там у меня больше проблем возникнет, а так же куча вопросов.
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
06.04.2014, 20:16 32
Цитата Сообщение от о_О_Кто_здесь Посмотреть сообщение
Далее строчка игнорится
Зачем? Вы же этим пропускаете вторую строчку. И всё для того, чтобы потом сделать возврат для чтения этой второй строки?

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

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

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

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

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

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

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

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

После возврата на шаг два, вернутся при нажатии на > - вперед на 3 шаг, при < - назад, вернутся на 1 шаг.
я могу в скайпе позвонить, если нужно и можно.
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
06.04.2014, 20:44 38
Вот это правильно описано?
Цитата Сообщение от alsav22 Посмотреть сообщение
Например, прочли и вывели третью. Шаг назад - это чтение и вывод второй. После этого, шаг вперёд - это чтение и вывод четвёртой.
Если нет исправьте, именно, в этом тексте.
1
13 / 13 / 1
Регистрация: 06.06.2011
Сообщений: 157
06.04.2014, 20:47  [ТС] 39
Цитата Сообщение от alsav22 Посмотреть сообщение
Сообщение от alsav22
Например, прочли и вывели третью. Шаг назад - это чтение и вывод второй. После этого, шаг вперёд - это чтение и вывод ТРЕТЬЕЙ.
Исправил! Не четвертой, а третьей. Т.е. повторно проходим этот шаг.
0
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
06.04.2014, 20:52 40
Цитата Сообщение от о_О_Кто_здесь Посмотреть сообщение
Т.е. повторно проходим этот шаг
Зачем повтор?
1
06.04.2014, 20:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.04.2014, 20:52
Помогаю со студенческими работами здесь

Чтение заголовка PCX файла и чтение растровых данных PCX файла
Привет форумчане! Столкнулся с такой проблемой. Нужно считать заголовок PCX файла и растровые...

Переделать в коде чтение из файла в чтение с клавиатуры
Переделайте что бы текст считывался с клавиатуры, а не с файла! Буду благодарен за помощь! //файл...

Чтение бинарного файла - чтение первых 9 байт
Есть код, который читает первые 9 байт бинарного файла(заголовок записи) void...

Чтение файла CSV и чтение из Table View
Здравствуйте, задача считать столбцы и строки excel в TextEdit. Прошу помощи в реализиции. ...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru