Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.10.2011, 20:36   #1
Corvette
Пользователь
 
Регистрация: 31.07.2011
Сообщений: 55
По умолчанию Считывание из файла.

Подскажите пожалуйста!!!! Очень надо!!!!!!
Как из файла считать только определенную матрицу (фрагмент) и записать в массив?
Например их текстового файла с содержимым

1 1
1 1

3 3
3 3

Считать только вторую матрицу и присвоить массиву.

У меня получается только весь файл целиком читать. Возможно ли считывать определенную матрицу из файла (например вторую).

Код:
#include <iostream>
#include <conio.h>
#include <fstream>
 
using namespace std;
 
const int size1 = 2, size2=2, size3=2;
 
int main ()
{
    ifstream in ("1matrix.txt");
    
    char A [size1][size2][size3] = {{{0}}};
    
    for (int i=0; i<2; i++)
    {
        for (int j=0; j<2; j++)
        {
            for (int k=0; k<2; k++)
            {
                in >> A [i][j][k];
            }
        }  
    }
    
   
    
    
     for (int i=0; i<2; i++)
    {
         for (int j=0; j<2; j++)
        {
            for (int k=0; k<2; k++)
            {
                cout << A [i][j][k] << " ";
            }
            cout << endl;
        }  
        cout << endl;
    }
 
    in. close ();
    getch ();
    return 0;
}
PS: Между элементами матрицы пробел, а между самими матрицами пустая строка.
Corvette вне форума Ответить с цитированием
Старый 21.10.2011, 02:08   #2
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

ну вам нужно куда то мусор весь посчитывать.
Код:
	for (int i=0; i<4; i++) {
		int junk;
		f >> junk;
	}
допустим так.

после этого указатель будет уже на 2-м массиве.
onewho вне форума Ответить с цитированием
Старый 21.10.2011, 03:58   #3
An1ka
C++,DirectX/OpenGL
Форумчанин
 
Регистрация: 09.01.2011
Сообщений: 422
По умолчанию

Всё проще :
Код:
std::ifstream in("1matrix.txt");
// пропускаем 3 строчки
in.ignore( 256, '\n');
in.ignore( 256, '\n');
in.ignore( 256, '\n');
// а дальше уже считываем матрицу
An1ka вне форума Ответить с цитированием
Старый 21.10.2011, 10:24   #4
Corvette
Пользователь
 
Регистрация: 31.07.2011
Сообщений: 55
По умолчанию

Спасибо!!!!!
Corvette вне форума Ответить с цитированием
Старый 22.10.2011, 19:56   #5
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

An1ka,
да уж, про ignore совсем забыл.
onewho вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
считывание с файла С++ Guzal Помощь студентам 2 27.02.2011 13:24
считывание из файла kaljan775 Общие вопросы C/C++ 4 07.10.2010 14:59
Считывание из файла Tema_Crazzzy Visual C++ 2 09.09.2010 13:41
c++ считывание с файла. tsergey Помощь студентам 20 24.04.2010 23:30
Считывание из файла DimkinStd Общие вопросы Delphi 7 24.01.2007 19:18