Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Чтение матрицы из файла, Как правильно прочитать матрицу? 
:(
    Опции темы
Алина
Дата 18.5.2005, 04:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 60
Регистрация: 14.5.2005

Репутация: нет
Всего: нет



Есть текстовый файл, в котором записана матрица размерности 6х6, что-то типа
1 2 3 4 5 6
7 8 9 0 1 4
6 7 8 9 4 5
5 6 1 8 3 2
5 9 7 7 1 4
2 0 2 7 3 1
Надо прочитать из нее матрицу меньшей размерности, например 3х3 так, чтобы в меньшую матрицу попал верхний левый "угол" исходной.

Именно "угол" мне читать не удается, элементы меньшей матрицы считываются подряд, то есть в результате получается
1 2 3
4 5 6
7 8 9
а не
1 2 3
7 8 9
6 7 8

Подскажите, пожалуйста, как это реализовать...
PM MAIL   Вверх
srd
Дата 18.5.2005, 06:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нереварин
**


Профиль
Группа: Участник Клуба
Сообщений: 951
Регистрация: 30.8.2003
Где: Владивосток

Репутация: 27
Всего: 49



Читай всю матрицу, а потом выброси лишние элементы.


--------------------
Не смей читать мою подпись!!!
PM MAIL Jabber   Вверх
Алина
Дата 18.5.2005, 06:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 60
Регистрация: 14.5.2005

Репутация: нет
Всего: нет



Это не то, что надо, надо прочитать именно эти элементы, поскольку в программе, работающей с матрицей, определен массив именно размерности 3х3...
Вариант с чтением всего файла не подходит... Нужен способ прочитать именно эти элементы
Добавлено @ 06:40
Размерность массива увеличить конечно можно, но хотелось обойтись без этого
PM MAIL   Вверх
Alastis
Дата 18.5.2005, 08:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 251
Регистрация: 15.11.2004
Где: Казахстан, Астана

Репутация: 4
Всего: 10



читай посимвольно, когда прочитаешь в строке столько, сколько нужно - переходи к следующей строке


--------------------
Прости, что я говорю, когда ты меня перебиваешь.
PM MAIL WWW ICQ   Вверх
Алина
Дата 18.5.2005, 08:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 60
Регистрация: 14.5.2005

Репутация: нет
Всего: нет



А откуда мне знать, сколько там символов?! Или я чет не так понимаю?..
Добавлено @ 08:59
Вопрос скорее даже дакой: как перейти на новую строку, когда прочитали с текущей строки столько числес, сколько надо?
Добавлено @ 09:00
чисел
PM MAIL   Вверх
DENNN
Дата 18.5.2005, 09:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Цитата
Вопрос скорее даже дакой: как перейти на новую строку,

Покажи как файл чиаешь. Если стандартными функциями, то seek(......);
PM ICQ   Вверх
srd
Дата 18.5.2005, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нереварин
**


Профиль
Группа: Участник Клуба
Сообщений: 951
Регистрация: 30.8.2003
Где: Владивосток

Репутация: 27
Всего: 49



Что-нибудь вроде такого:
Код

if (FILE *file = fopen("d:\\temp\\test.txt", "r"))
{
    for (int i = 0; i < cols && !feof(file); ++i) {
        for (int j = 0; j < rows && !feof(file); ++j)
            fscanf(file, "%d", &matrix[i][j]);
        while (!feof(file) && fgetc(file) != '\n');
    }
}


Это сообщение отредактировал(а) srd - 18.5.2005, 17:22


--------------------
Не смей читать мою подпись!!!
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0450 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.