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

Взятие матрицы из бинарного файла С++ - C++

Восстановить пароль Регистрация
 
 
Perfaratar
2 / 2 / 0
Регистрация: 07.12.2010
Сообщений: 43
28.12.2010, 20:38     Взятие матрицы из бинарного файла С++ #1
Не могу понять как с бинарными файлами работать, а мне прогу нужно в двух вариантах написать.
Вот мой вариант взятия матрицы из файла. Помогите с бинарными пожалуйста!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int **VvodFile(int& q)
{
        char f[200];
    cout<<"Vvedite imja fajla iz kotorogo butit vzjata matrica:";
    cin>>f;
    ifstream in(f);
    cout<<"Vvedite razmer matrici:";
    cin>>q;
    int **mat=NULL;
    mat=new int*[q];
    for(int i=0;i<q;i++)
    {
        mat[i]=new int[q];
        for(int j=0;j<q;j++)
        {
            in>>mat[i][j];
        }
    }
    in.close();
        return mat;
}
Добавлено через 34 минуты
ПОЖАЛУЙСТА!

Добавлено через 42 минуты
Кто нибудь...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2010, 20:38     Взятие матрицы из бинарного файла С++
Посмотрите здесь:

чтение бинарного файла C++
чтение из бинарного файла C++
C++ Редактирование бинарного файла
чтение бинарного файла C++
Редактирование бинарного файла C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Алексaндр
 Аватар для Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
28.12.2010, 20:46     Взятие матрицы из бинарного файла С++ #2
Тебе 4то надо-то?
Другой способ или 4то?
Perfaratar
2 / 2 / 0
Регистрация: 07.12.2010
Сообщений: 43
28.12.2010, 20:51  [ТС]     Взятие матрицы из бинарного файла С++ #3
Да! Мне срочно нужен этот отрезок проги, но другим способом. Я не знаю как делать, но помню, что там есть такие моменты:
C++
1
2
3
FILE *file;
file = fopen("text.txt", "w" );
fclose( file );
Не могу приделать, это к своей проге.
Алексaндр
 Аватар для Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
28.12.2010, 21:14     Взятие матрицы из бинарного файла С++ #4
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 **VvodFile(int& q)
{
        FILE *file;
        char load_string[200] ;
        char f[200];
        cout<<"Vvedite imja fajla iz kotorogo butit vzjata matrica:";
        cin>>f;
        cout<<"Vvedite razmer matrici:";
        cin>>q;
        file = fopen(f, "r" );
for (int i=0;i<q;i++)
{        
        if( file != 0 )
       {
             fgets(load_string, q , file ); 
             for (j=0; j<q; j++)
              {
               mat[i][j]=load_string[j];
              }
        }
}
        fclose( file );
        return mat;
}
Немного переделал. Не знаю заработает ли, но попробуй!
FinKeRosiN
3 / 2 / 0
Регистрация: 27.12.2010
Сообщений: 31
28.12.2010, 21:25     Взятие матрицы из бинарного файла С++ #5
Александр Николаевич?
Алексaндр
 Аватар для Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
28.12.2010, 21:26     Взятие матрицы из бинарного файла С++ #6
Нет, Александр Сергеевич ))))
А 4то?
FinKeRosiN
3 / 2 / 0
Регистрация: 27.12.2010
Сообщений: 31
28.12.2010, 21:30     Взятие матрицы из бинарного файла С++ #7
преподавателя нашего так зовут))
Алексaндр
 Аватар для Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
28.12.2010, 21:32     Взятие матрицы из бинарного файла С++ #8
И ты сразу подумал, 4то это я? )))
Perfaratar
2 / 2 / 0
Регистрация: 07.12.2010
Сообщений: 43
28.12.2010, 21:33  [ТС]     Взятие матрицы из бинарного файла С++ #9
error C2065: 'mat' : undeclared identifier

попробуйте исправить пожалуйста )
Алексaндр
 Аватар для Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
28.12.2010, 21:43     Взятие матрицы из бинарного файла С++ #10
#include<stdlib.h>
попробуй подключить...
Perfaratar
2 / 2 / 0
Регистрация: 07.12.2010
Сообщений: 43
28.12.2010, 21:44  [ТС]     Взятие матрицы из бинарного файла С++ #11
у меня в этом цикле создаётся динамический массив
C++
1
2
3
4
5
6
7
8
9
10
int **mat=NULL;
        mat=new int*[q];
        for(int i=0;i<q;i++)
        {
                mat[i]=new int[q];
                for(int j=0;j<q;j++)
                {
                        in>>mat[i][j];
                }
        }
а в вашем случае я не пойму как он заполняется
Алексaндр
 Аватар для Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
28.12.2010, 21:44     Взятие матрицы из бинарного файла С++ #12
По идее, ты какой-то заголовочный файл не подключил...
Perfaratar
2 / 2 / 0
Регистрация: 07.12.2010
Сообщений: 43
28.12.2010, 21:47  [ТС]     Взятие матрицы из бинарного файла С++ #13
Цитата Сообщение от Алексaндр Посмотреть сообщение
#include<stdlib.h>
попробуй подключить...
та же ошибка... смысл ошибки я понял, что оно не знает что такое 'mat' у меня было
C++
1
int **mat=NULL;
Алексaндр
 Аватар для Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
28.12.2010, 21:50     Взятие матрицы из бинарного файла С++ #14
Я только 4то хотел это написать) Увидел, что переменная не объявлена.
Только хотел по-другому объявить...
C++
1
int mas[1000][1000];
...
Perfaratar
2 / 2 / 0
Регистрация: 07.12.2010
Сообщений: 43
28.12.2010, 21:53  [ТС]     Взятие матрицы из бинарного файла С++ #15
А как насчёт динамического массива? Просто тема лабы динамические массивы =)
Алексaндр
 Аватар для Алексaндр
131 / 108 / 5
Регистрация: 04.12.2010
Сообщений: 313
28.12.2010, 22:03     Взятие матрицы из бинарного файла С++ #16
В вашем случае, если подключите
C++
1
int **mat=NULL;
- это и будет динамическим массивом. Вы же сами в первом примере его использовали)
Perfaratar
2 / 2 / 0
Регистрация: 07.12.2010
Сообщений: 43
29.12.2010, 00:00  [ТС]     Взятие матрицы из бинарного файла С++ #17
Если я так напишу, то получится чепуха. как правильно?
C++
1
2
3
4
5
6
7
8
9
10
11
12
        int **mat=NULL;
    for (int i=0;i<q;i++)
    {        
        if( file != 0 )
        {
            fgets(load_string, q , file ); 
            for (int j=0; j<q; j++)
            {
                mat[i][j]=load_string[j];
            }
        }
    }
Добавлено через 1 час 54 минуты
Help! Завтра зачёт О_о
FinKeRosiN
3 / 2 / 0
Регистрация: 27.12.2010
Сообщений: 31
29.12.2010, 00:19     Взятие матрицы из бинарного файла С++ #18
ты к Васецкому не подходил?
Perfaratar
2 / 2 / 0
Регистрация: 07.12.2010
Сообщений: 43
29.12.2010, 00:25  [ТС]     Взятие матрицы из бинарного файла С++ #19
Написал значит во как
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
FILE *file;
char load_string[200];
char f[200];
cout<<"Vvedite imja fajla iz kotorogo butit vzjata matrica:";
cin>>f;
cout<<"Vvedite razmer matrici:";
cin>>q;
file=fopen(f, "r");
    int **mat=NULL;
    mat=new int*[q];
    for(int i=0;i<q;i++)
    {   mat[i]=new int[q];     
        if(file!= 0)
        {
            fgets(load_string, q , file ); 
            for (int j=0; j<q; j++)
            {
                mat[i][j]=load_string[j];
            }
        }
    }
    fclose(file);
Выбираю размер матрицы 3, у меня матрица заполнена 49 50 0
51 52 0
53 54 0
у меня таких чисел вообще в файле нет

Добавлено через 49 секунд
Цитата Сообщение от FinKeRosiN Посмотреть сообщение
ты к Васецкому не подходил?
не пиши такое, а то завтра он к тебе подойдёт)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.12.2010, 00:55     Взятие матрицы из бинарного файла С++
Еще ссылки по теме:

C++ Чтение из бинарного файла
C++ Чтение из бинарного файла
C++ Запись бинарного файла

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

Или воспользуйтесь поиском по форуму:
FinKeRosiN
3 / 2 / 0
Регистрация: 27.12.2010
Сообщений: 31
29.12.2010, 00:55     Взятие матрицы из бинарного файла С++ #20
а почему именно я FinKeRosiN?
p.s. я просто 3 сообщения набить хотел )
Yandex
Объявления
29.12.2010, 00:55     Взятие матрицы из бинарного файла С++
Ответ Создать тему
Опции темы

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