2 / 2 / 0
Регистрация: 07.12.2010
Сообщений: 43
1

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

28.12.2010, 20:38. Показов 2595. Ответов 20
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не могу понять как с бинарными файлами работать, а мне прогу нужно в двух вариантах написать.
Вот мой вариант взятия матрицы из файла. Помогите с бинарными пожалуйста!
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 минуты
Кто нибудь...
1
28.12.2010, 20:38
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.12.2010, 20:38
Ответы с готовыми решениями:

Чтение матрицы из бинарного файла
Здравствуйте. Необходимо считать матрицу с бинарного файла (расширение .dat ) где первые два элемента идут целые числа указывающие...

Currentdir взятие файла
Здравствуйте, подскажите пожалуйста, как с помощью getcurrentdir открывать файлы из текущей директории?

Взятие пути из файла .ini
Здравствуйте! Подскажите пожалуйста как реализовать функцию для получения путя к файлам, предназначенным для заполнения БД через чтение его...

20
 Аватар для Алексaндр
131 / 108 / 12
Регистрация: 04.12.2010
Сообщений: 313
28.12.2010, 20:46 2
Тебе 4то надо-то?
Другой способ или 4то?
0
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 );
Не могу приделать, это к своей проге.
0
 Аватар для Алексaндр
131 / 108 / 12
Регистрация: 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;
}
Немного переделал. Не знаю заработает ли, но попробуй!
0
3 / 2 / 1
Регистрация: 27.12.2010
Сообщений: 31
28.12.2010, 21:25 5
Александр Николаевич?
0
 Аватар для Алексaндр
131 / 108 / 12
Регистрация: 04.12.2010
Сообщений: 313
28.12.2010, 21:26 6
Нет, Александр Сергеевич ))))
А 4то?
0
3 / 2 / 1
Регистрация: 27.12.2010
Сообщений: 31
28.12.2010, 21:30 7
преподавателя нашего так зовут))
0
 Аватар для Алексaндр
131 / 108 / 12
Регистрация: 04.12.2010
Сообщений: 313
28.12.2010, 21:32 8
И ты сразу подумал, 4то это я? )))
0
2 / 2 / 0
Регистрация: 07.12.2010
Сообщений: 43
28.12.2010, 21:33  [ТС] 9
error C2065: 'mat' : undeclared identifier

попробуйте исправить пожалуйста )
0
 Аватар для Алексaндр
131 / 108 / 12
Регистрация: 04.12.2010
Сообщений: 313
28.12.2010, 21:43 10
#include<stdlib.h>
попробуй подключить...
0
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];
                }
        }
а в вашем случае я не пойму как он заполняется
0
 Аватар для Алексaндр
131 / 108 / 12
Регистрация: 04.12.2010
Сообщений: 313
28.12.2010, 21:44 12
По идее, ты какой-то заголовочный файл не подключил...
0
2 / 2 / 0
Регистрация: 07.12.2010
Сообщений: 43
28.12.2010, 21:47  [ТС] 13
Цитата Сообщение от Алексaндр Посмотреть сообщение
#include<stdlib.h>
попробуй подключить...
та же ошибка... смысл ошибки я понял, что оно не знает что такое 'mat' у меня было
C++
1
int **mat=NULL;
0
 Аватар для Алексaндр
131 / 108 / 12
Регистрация: 04.12.2010
Сообщений: 313
28.12.2010, 21:50 14
Я только 4то хотел это написать) Увидел, что переменная не объявлена.
Только хотел по-другому объявить...
C++
1
int mas[1000][1000];
...
0
2 / 2 / 0
Регистрация: 07.12.2010
Сообщений: 43
28.12.2010, 21:53  [ТС] 15
А как насчёт динамического массива? Просто тема лабы динамические массивы =)
0
 Аватар для Алексaндр
131 / 108 / 12
Регистрация: 04.12.2010
Сообщений: 313
28.12.2010, 22:03 16
В вашем случае, если подключите
C++
1
int **mat=NULL;
- это и будет динамическим массивом. Вы же сами в первом примере его использовали)
0
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! Завтра зачёт О_о
0
3 / 2 / 1
Регистрация: 27.12.2010
Сообщений: 31
29.12.2010, 00:19 18
ты к Васецкому не подходил?
0
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 Посмотреть сообщение
ты к Васецкому не подходил?
не пиши такое, а то завтра он к тебе подойдёт)
1
3 / 2 / 1
Регистрация: 27.12.2010
Сообщений: 31
29.12.2010, 00:55 20
а почему именно я FinKeRosiN?
p.s. я просто 3 сообщения набить хотел )
0
29.12.2010, 00:55
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.12.2010, 00:55
Помогаю со студенческими работами здесь

Создание бинарного дерева из бинарного файла
struct Bin { string name; string city; int players; int score; }; void ReadFromBin(Point*&amp; Tree) { Bin q;

Создание бинарного дерево из бинарного файла
struct Bin { string name; string city; int players; int score; }; void ReadFromBin(Point*&amp; Tree) { ...

Взятие строки из открытого файла в MS Word
Основная проблема вопроса заключается в том, что довольно много есть гайдов в интернете и на русском и на инглише, о работе с API ворда...

Получение хеша бинарного файла сборки для выполняемого apk-файла
Cкажите, пожалуйста, как можно обратиться, получить доступ и рассчитать хеш бинарного файла одной из сборок, хранящейся в папке Managed,...

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Опции темы

Новые блоги и статьи
Ключевые слова Python
hw_wired 15.02.2025
Ключевые слова в Python - это специальные зарезервированные слова, которые имеют особое значение и функции в языке. В настоящее время Python включает 35 ключевых слов и 4 мягких ключевых слова. Эти. . .
Отличия изменяемых и неизменяемых типов в Python
hw_wired 15.02.2025
В Python существует принципиальное различие между изменяемыми (mutable) и неизменяемыми (immutable) типами данных, которое оказывает существенное влияние на работу программ. Это различие часто. . .
Python: сравнение списков и кортежей
hw_wired 15.02.2025
В Python последовательности являются одними из самых важных и часто используемых типов данных. Они позволяют хранить упорядоченные наборы элементов, к которым можно обращаться по индексу. Среди всех. . .
Как скачивать файлы с URL с помощью Python
hw_wired 15.02.2025
Для скачивания файлов Python предлагает как встроенные средства, так и сторонние библиотеки. Встроенный модуль urllib из стандартной библиотеки обеспечивает базовую функциональность для работы с URL. . .
Использование SQLAlchemy в Python
hw_wired 15.02.2025
SQLAlchemy - мощная библиотека для работы с базами данных в Python, которая предоставляет полноценный набор средств для объектно-реляционного отображения (ORM) и обширные возможности для работы с. . .
Взаимодействие с REST API в Python
hw_wired 15.02.2025
В современном мире разработки программного обеспечения REST API стал неотъемлемой частью архитектуры веб-приложений. API (Application Programming Interface) - это набор правил и протоколов,. . .
Разделение строк в Python
hw_wired 15.02.2025
Python предлагает богатый набор возможностей для работы со строками, и среди них разделение строк занимает особое место. Этот процесс позволяет разбивать текст на отдельные компоненты, что критично. . .
Объединение строк в Python
hw_wired 15.02.2025
При работе с текстовыми данными в Python нередко возникает необходимость объединять несколько строк в одну. Это может потребоваться при форматировании вывода, обработке текстовых файлов или создании. . .
Лучшие игровые движки на Python
hw_wired 15.02.2025
В последнее время разработка игр стала одним из самых популярных направлений программирования, и Python не остался в стороне от этого тренда. Несмотря на то, что Python обычно не ассоциируется с. . .
Декоратор jit в Python
hw_wired 15.02.2025
Если вы достаточно долго изучаете программы и пакеты на Python для машинного обучения, то наверняка замечали, что паттерн "JIT-декоратор" довольно популярен. Этот подход позволяет превратить обычные. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru