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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Стек на основе динамического массива http://www.cyberforum.ru/cpp-beginners/thread218987.html
Надо написать стек на основе динамического массива. Как выделить память под новый элемент? template <typename T> void Stack<T>::AddElem(T item) { size++; mas = new T; mas = item;
C++ Найти максимальный элемент матрицы Дана прямоугольная матрица, все элементы которой различны. в заштрихованной области, где min – минимальный элемент матрицы. http://www.cyberforum.ru/cpp-beginners/thread218983.html
Подправить программу, где-то ошибся) C++
Не выводит седловые точки #include<conio.h> #include<stdio.h> void main(void) { int i,j, a, imin, imax,m,n,max,min,f; clrscr();
в чем ошибка? C++
делаю задания по книге. вот код #include <iostream.h> main() { int a, b; cout << "vvedite 2 chisla";
C++ Обратная матрица, IndexOf http://www.cyberforum.ru/cpp-beginners/thread218970.html
нужно на vs2005 c++ сделать 2 вещи: 1)обратная матрица 2)Indexof чем проще написано тем лучше, главное чтобы норм компилировалось. ребят помогите,горит!!....
C++ Найти количество нулевых элементов массива и заменить их на найденное значение Задание: Найти количество нулевых элементов и заменить их на найденное значение. Например, 1 2 0 4 5 7 0 – 1 2 2 4 5 7 2 Массив обьявил, а задание не пойму. Помогите кто чем может. #include <cstdlib> подробнее

Показать сообщение отдельно
Perfaratar
2 / 2 / 0
Регистрация: 07.12.2010
Сообщений: 43
23.12.2010, 19:42     С++ бинарные файлы
Вот мой чудо-код, но он походу только *.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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru