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

С++ бинарные файлы

23.12.2010, 19:42. Показов 2051. Ответов 5
Метки нет (Все метки)

Вот мой чудо-код, но он походу только *.txt файлы открывает, а мне нужно что бы и бинарные тоже. Прошу помощи!!!
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <iostream>
#include <fstream>
 
using namespace std;
ofstream fout;
 
int **VvodSam(int& q)
{
    while(q<3)
    {
        cout<<"Vvedite razmer matrici:";
        cin>>q;
        if(q<=2)
        {
            cout<<"Vse elementi matrici isklucheni giagonalami."<<endl;
            cout<<"Vvedite bol'shij razmer."<<endl<<endl;
        }
    }
    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++)
        {
            cout<<"Vvedite element nomer ["<<i+1<<"]["<<j+1<<"]:";
            cin>>mat[i][j];
        }
    }
    cout<<endl;
    cout<<"Matrica kotoruju vi vveli:";
    cout<<endl;
    for(int i=0;i<q;i++)
    {
        for(int j=0;j<q;j++)
        {
            cout<<""<<mat[i][j]<<" ";
        }
        cout<<endl;
    }
    return mat;
}
int **SluZap(int& q)
{
    while(q<3)
    {
        cout<<"Vvedite razmer matrici:";
        cin>>q;
        if(q<=2)
        {
            cout<<"Vse elementi matrici isklucheni giagonalami."<<endl;
            cout<<"Vvedite bol'shij razmer."<<endl<<endl;
        }
    }
    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++)
        {
            mat[i][j]=rand()%10;
        }
    }
    cout<<endl;
    cout<<"Matrica kotoruju vi vveli:";
    cout<<endl;
    for(int i=0;i<q;i++)
    {
        for(int j=0;j<q;j++)
        {
            cout<<""<<mat[i][j]<<" ";
        }
        cout<<endl;
    }
    return mat;
}
int **VvodFile(int& q)
{
    char f[200];
    while(q<3)
    {
        cout<<"Vvedite razmer matrici:";
        cin>>q;
        if(q<=2)
        {
            cout<<"Vse elementi matrici isklucheni giagonalami."<<endl;
            cout<<"Vvedite bol'shij razmer."<<endl<<endl;
        }
    }
    cout<<"Vvedite imja fajla iz kotorogo butit vzjata matrica:";
    cin>>f;
    ifstream in(f);
    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();
    cout<<endl;
    cout<<"Matrica kotoruju vi vveli:";
    cout<<endl;
    for(int i=0;i<q;i++)
    {
        for(int j=0;j<q;j++)
        {
            cout<<""<<mat[i][j]<<" ";
        }
        cout<<endl;
    }
    return mat;
}
char *ZapisFile()
{
    char l[200];
    cout<<"Vvedite imja fajla kuda butit zapisan rezultat:";
    cin>>l;
    fout.open(l);
    return l;
}
int Zadacha(int **mat, int q)
{
    int s1=0, s2=0, s3=0, s4=0, max=0;
    for(int i=0;i<q;i++)                
    {
        for(int j=0;j<q;j++)
        {
            if(j<(q-1-i) && j>i)    
            s1+=mat[i][j];          
            if(j>(q-1-i) && j>i)    
            s2+=mat[i][j];          
            if(j>(q-1-i) && j<i)    
            s3+=mat[i][j];          
            if(j<(q-1-i) && j<i)
            s4+=mat[i][j];          
        }
    }           
    cout<<"Suma pervogo sektora:"<<s1<<" "; 
    cout<<endl;
    cout<<"Suma vtorogo sektora:"<<s2<<" ";
    cout<<endl;
    cout<<"Suma tretego sektora:"<<s3<<" ";
    cout<<endl;
    cout<<"Suma chetvertogo sektora:"<<s4<<" ";
    cout<<endl;
    cout<<endl;
    fout<<"Suma pervogo sektora:"<<s1<<" "; 
    fout<<endl;
    fout<<"Suma vtorogo sektora:"<<s2<<" ";
    fout<<endl;
    fout<<"Suma tretego sektora:"<<s3<<" ";
    fout<<endl;
    fout<<"Suma chetvertogo sektora:"<<s4<<" ";
    fout<<endl;
    fout<<endl;
    if (s1>s2 && s1>s3 && s1>s4) max=s1;    
    if (s2>s1 && s2>s3 && s2>s4) max=s2;
    if (s3>s2 && s3>s1 && s3>s4) max=s3;
    if (s4>s2 && s4>s3 && s4>s1) max=s4;
    cout<<"Naibolshaja suma:"<<max<<" ";
    fout<<"Naibolshaja suma:"<<max<<" ";
    cout<<endl;
    return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{
    int **mat=0;
    char a=0;
    int q;
    cout<<"Programma iskluchaet giagonali matrici, kotorie deljat ee na chetie sektora."<<endl;
    cout<<"Na ekran vivoditsja summa elementov dlja kazhdogo sektora i max znachenie."<<endl<<endl;
    while(a!='1' && a!='2' && a!='3')
    {
        cout<<"Esli hotite zapolnit' matricu samostojate'lo vvedite 1."<<endl;
        cout<<"Esli hotite chto bi matrica zapolnilas' slucahno vvedite 2."<<endl;
        cout<<"Esli hotite vzat' matricu iz fajla vvedite 3."<<endl;
        cout<<"Vvod:";
        cin>>a;
        if(a!='1' && a!='2' && a!='3')
        {
            cout<<endl;
            cout<<"Vvedite sushestvujushij variant!!!"<<endl;
            a=0;
        }
    }
    cout<<endl;
    if(a=='1') mat=VvodSam(q);
    if(a=='2') mat=SluZap(q);
    if(a=='3') mat=VvodFile(q);
    ZapisFile();
    Zadacha(mat, q);
    getch();
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.12.2010, 19:42
Ответы с готовыми решениями:

Бинарные файлы
Есть 2 текстовых файла .В первом информации представлена в след виде:номер и ФИО,во втором номер...

Бинарные файлы
Помогите пожалуйста написать программы. Исходный файл формировать программно. Количество...

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

Бинарные файлы
Всем добрый день/вечер/ночь! У меня такой вопрос. Создал структуру и записал в файл. При записи в...

5
38 / 38 / 17
Регистрация: 15.12.2010
Сообщений: 110
23.12.2010, 20:10 2
надеюсь вам эти ключи помогут
Миниатюры
С++ бинарные файлы  
1
2 / 2 / 0
Регистрация: 07.12.2010
Сообщений: 43
24.12.2010, 22:12  [ТС] 3
О, да я вспомнил это. А вот команды не помню. Напомните пожалуйста.
И ещё после выполнения задачи нужно освободить память от динамического массива. Заранее спасибо.
0
2 / 2 / 0
Регистрация: 07.12.2010
Сообщений: 43
26.12.2010, 10:54  [ТС] 4
Ну?
0
37 / 36 / 4
Регистрация: 08.08.2010
Сообщений: 162
26.12.2010, 11:32 5
Цитата Сообщение от Perfaratar Посмотреть сообщение
И ещё после выполнения задачи нужно освободить память от динамического массива.
Да, всё правильно.
Только у вас все массивы автоматические.
0
3211 / 2506 / 283
Регистрация: 11.03.2009
Сообщений: 5,685
26.12.2010, 12:08 6
Цитата Сообщение от eczo Посмотреть сообщение
надеюсь вам эти ключи помогут
Нет, не помогут, это для Си.

Цитата Сообщение от Perfaratar Посмотреть сообщение
А вот команды не помню. Напомните пожалуйста.
http://cplusplus.com/reference... ream/open/
И читать бинарный файл лучше read/write'ом
http://cplusplus.com/reference... ream/read/
http://cplusplus.com/reference... eam/write/

Цитата Сообщение от Perfaratar Посмотреть сообщение
И ещё после выполнения задачи нужно освободить память от динамического массива.
Цитата Сообщение от Perfaratar Посмотреть сообщение
C++
1
2
3
4
int **mat=NULL;
mat=new int*[q];
for(int i=0;i<q;i++)
   mat[i]=new int[q];
C++
1
2
3
for (int i = 0; i < q; i++)
   delete [] mat[i];
delete [] mat;
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.12.2010, 12:08
Помогаю со студенческими работами здесь

Бинарные файлы
Здравствуйте, нужно чтобы отметки шли не по порядку, а по убыванию, что нужно изменить в последнем...

Бинарные файлы
Прошу помочь с новыми задачками

Бинарные файлы..
Доброго времени суток, господа! Возникла проблемка с открытием бинарного файла: char...

Бинарные файлы
Ребята у вас есть какие та примеры программок работы с бинарными файлами, к примеры поменять...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru