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

Транспонирование текстового документа - C++

Восстановить пароль Регистрация
 
kot Begemot
Сообщений: n/a
17.07.2010, 00:46     Транспонирование текстового документа #1
Здравствуйте.

Как можно наиболее адекватно транспонировать матрицу чисел из текстового документа?

Например, есть исходный текстовый документ:

1 2 3 4 5
55 89 45 7 0

Необходимо получить:

1 55
2 89
3 45
4 7
5 0

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

В принципе, на данный момент меня интересует только вариант, когда в документе только числа типа double, однако, в будущем планируется обобщение задачи на случай, когда вместо чисел будут данные произвольного типа.

Вот за основу можно принять код, написанный мною (компилируется без ошибок):

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
int main()
{
    ifstream inp_file;
        inp_file.open("input.txt");
    ofstream out_file;
        out_file.open("output.txt");
    for (string s ; inp_file ; s.clear())
    {
        getline(inp_file, s);
        stringstream Io;
        Io << s;
        s.clear();
                    
        for ( ; Io >> s ; )
        {
            //необходимо переместить указатель в конец строки
            out_file<<s<<endl;
        };
        //необходимо поместить указатель в начало файла
    }
    out_file.close();
    inp_file.close();
    return 0;
}
Трудности начались там, где возникла необходимость управлять курсором для его установки в то место, куда необходимо вписать соответствующее число (помечено в комментариях). Поиск по интернету желаемых результатов не принес, если есть варианты решения, просьба сообщить. Или привести другой вариант кода, более оптимальный.

Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.07.2010, 00:46     Транспонирование текстового документа
Посмотрите здесь:

Транспонирование матрицы C++
C++ Вывести на экран, задав цвет фона и текста из текстового документа
Транспонирование матрицы C++
C++ транспонирование матрицы
C++ Транспонирование матрицы
Чтение текстового документа, обработка, запись нового C++
C++ Загрузка данных из текстового документа
C++ Запись и считывания бинарного дерева с текстового документа
C++ Неправильно отображается карта, загруженная из текстового документа
C++ Отразить данные считанные из текстового документа на графике функции
C++ Считывание информации с Текстового документа
Найти слово из одного текстового документа в другом C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
D@rkD@iver
111 / 111 / 3
Регистрация: 01.10.2008
Сообщений: 876
17.07.2010, 08:10     Транспонирование текстового документа #2
kot Begemot, есть выход получше
как ты хочешь не получится, так как ты не знаешь куда поставить курсор в текстовом файле
наилучший вариант- подгрузить в оперативку работать с массивом, но если говоришь что там большой файл.... то вот вариант

сначало перевести текстовый файл в бинарый файл(в pascale типизированный)
первые 2 числа- это размерность массива, а потом идет массив в строку
тамможно ставить курсор куда угодно, тебе надо будт составить свою библиотеку как работать с файлом(как с массивом) и все
Yandex
Объявления
17.07.2010, 08:10     Транспонирование текстового документа
Ответ Создать тему
Опции темы

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