,   CyberForum.ru

- C++


C++ http://www.cyberforum.ru/cpp-beginners/thread376010.html
, . . 1. : int main () { int *Q; int j; Q=&j; }
C++ . !) . . // .cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> #include "H1.h" using namespace std; http://www.cyberforum.ru/cpp-beginners/thread376009.html
IMG_LoadPNG_RW (SDL) C++
while(1){ frame=IMG_LoadPNG_RW(rwop); rwop=SDL_RWFromFile(filename.c_str(), "rb"); SDL_FreeSurface(frame); SDL_FreeRW(rwop); SDL_Delay(30);
C++
: , . : , , , . !!!!!!!!
C++ ++ http://www.cyberforum.ru/cpp-beginners/thread375962.html
const n0=100; {} inf=32000;{} var m:integer; {} n:byte; {} A:array of real; { } DOP:array of boolean; { } X,OptX:array of byte; {} Cost,OptCost:real; {}
C++ / unique_ptr.h: template <typename _Tp, typename _Tp_Deleter = default_delete<_Tp> > class unique_ptr { typedef std::tuple<_Tp*, _Tp_Deleter> __tuple_type; typedef __tuple_type unique_ptr::* __unspecified_bool_type; typedef _Tp* unique_ptr::* __unspecified_pointer_type; ....

-==-
FAQ
02.11.2011, 17:19    
s catch , , setlocale
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
#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <limits.h>
using namespace std;
 
//Ðóññèôèê*öèÿ
ostream& operator<<(ostream &stream,char* s){
        for(char* ps=s; *ps; ps++){
                if(*ps=='¸')
                        stream<<char(241);
                else if(*ps=='¨')
                        stream<<char(240);
                else if(*ps>=-64 && *ps<=-17)                   
                        stream<<char(*ps+64+128);
                else if(*ps<0)
                        stream<<char(*ps+64+176);
                else
                        stream<<*ps;
        }
        return stream;
}
 
//Ïðîâåðÿåò ñîäåðæèòñÿ ëè â ô*éëå
//ïîë**ÿ ì*òðèö*, åñëè ºòî ò*ê âîçâð*ò 0
//åñëè *åò âîçâð*ò ëþáîå *å*óëåâîå ç**÷å*èå
int isCorrectFile(FILE *f, int &n)
{
        int i, j;
        int buf, k = 0;
        if(!fscanf(f,"%d",&n))
                n = -1;
        else    
        for(i = 0; i < n; i++)
        for(j = 0; j < n; j++)
        {
                //Ì*ëî ºëåìå*òîâ
                if(feof(f))
                        break;
                //Íå óä*ëîñü ñ÷èò*òü ýëåìå*ò
                if(!fscanf(f,"%d",&buf))
                        break;
                k++;//ñ÷¸ò÷èê ÷òå*èé
        }
        fseek(f,0,SEEK_SET);//Âåð*óëè êóðñîð â**÷*ëî ô*éë*
        return n*n - k + 1;
}
 
void maxsum(int **matr, int n)//ôó*êöèÿ ïîèñê* ì*êñèì*ëü*îé ñðåäè ñóìì
{
    int i,j, max = 0,sum = 0,index,dlina;
    dlina = 1;//äëè** ñ*ìîé êîðîòêîé ïîáî÷*îé äè*ãî**ëè
    index = n - 1;//*îìåð "ñò*ðòîâîãî" (äëÿ ïîäñ÷åò*) ñòîëáö* *óëåâîé ñòðîêè â ïåðâîì öèêëå for() è "ñò*ðòîâîé" ñòðîêè äëÿ *óëåâîãî ñòîëáö* âî âòîðîì öèêëå for()
    while(index)
    {
        for(i = 0,j = index; i < dlina; ++i, ++j)//ïåðåìåù*åìñÿ ïðÿìî ïî äè*ãî**ëè äî òåõ ïîð, ïîê* *å èñ÷åðï*** äëè** äè*ãî**ëè dlina
            sum += matr[i][j];
        if (max < sum)//ïðîâåðÿåì ç**÷å*èå sum ñ èìåþùèìñÿ ì*ñêèìóìîì
        {
            max = sum;
        }
        sum = 0;
        for(i = 0, j = index; i < dlina; ++i, ++j)//ïåðåìåù*åìñÿ ïðÿìî ïî äè*ãî**ëè äî òåõ ïîð, ïîê* *å èñ÷åðï*** äëè** äè*ãî**ëè dlina
            sum += matr[j][i];
        if (max < sum) //ïðîâåðÿåì ç**÷å*èå sum ñ èìåþùèìñÿ ì*ñêèìóìîì
        {
            max = sum;
        }
        sum = 0;
        ++dlina;//óâåëè÷èâ*åì ð*çìåð äè*ãî**ëè ** 1
        --index;//"ñò*ðòîâûé" è*äåêñ index óìå*üø*åì ** 1 è ò*ê äî òåõ ïîð, ïîê* index *å ð*âå* 0
    }
    cout<<"maximum =  "<<max<<endl<<endl;
    return;
}
 
void matrica(int **matr, int n)//ôó*êöèÿ âûâîä* ì*òðèöû ** êî*ñîëü
{
    int i,j;
    cout<<"\nMatrica A\n\n";
    for (i = 0; i < n; i++)//Âûâîä ðåçóëüò*ò*
    {
        for (j = 0; j < n; j++)
        {
            cout << matr[i][j] << " ";
        }
        cout<<endl;
    }
    cout<<endl;
    return;
}
 
int main(int argn, char** argv)
{
    //ñì ìîþ ðóññèôèê*öèþ - ýò ê*ê áî*óñ;)
    //setlocale(LC_ALL,"Rus");//ðóññêèé ÿçûê
    int menu,n = INT_MAX,i,j;
    double dn;
    int **matr;
        FILE *f1;
        char nameInput[30];
    cout<<"Âûáåðåòå â*ðè**ò ââîä*\n\n";
    cout<<"\t1.Ââîä âðó÷*óþ\n";
    cout<<"\t2.Èç ô*éë*\n\n";
    cout<<"Â*ø â*ðè**ò: ";
    cin>>menu;    
    switch(menu)
    {
             case 1:
                 do
                 {
                      cout<<"Ââåäèòå ïîðÿäîê ì*òðèö:\n";
                      cout<<"n = "; 
                      cin>>dn;
                      if((n = INT_MAX) < dn)
                          cout<<"Ââåäå**îå ÷èñëî ïðåâûø*åò ïðåäåë "<<n<<"\n";
                      else
                      {
                          try
                          {
                          if((matr=new int *[(n = int(dn))]) == NULL)
                              cout<<"Îøèáê* âûäåëå*èÿ ï*ìÿòè - ââåäèòå ìå*üøåå n\n";
                          }
                          catch(...)
                          {
                              matr = NULL;
                          }
                      }
                 }
                 while(INT_MAX < dn || matr == NULL);
                      
                  for (i=0;i<n ;i++)
                  {
                       matr[i]=new int[n]; 
                       for (j=0;j<n ;j++)
                                                          {
                                      cout<<"A["<<i+1<<"]["<<j+1<<"] = " ;
                                      cin>>matr[i][j];
                                                                          }
                  }
                  matrica(matr,n);//ôó*êöèÿ âûâîä* ì*òðèöû ** êî*ñîëü
                  maxsum(matr,n);//ôó*êöèÿ ïîèñê* ì*êñèì*ëü*îé ñðåäè ñóìì
                  for(i = 0; i < n; i++) {
                  delete[] matr[i];}                               
                  delete[] matr;
                  break;
             case 2:
                  
                  cout<<"Ââåäèòå èìÿ ô*éë*: ";
                  cin>>nameInput;
                  f1=fopen(nameInput,"r");
                  while (f1 == NULL)//öèêë îò îøèáîê,åñëè *å ñóùåâñòâóåò ô*éë*1
                  {
                        cout<<"\tÎøèáê* îòêðûòèÿ ô*éë*!\n";
                        cout<<"Ââåäèòå èìÿ ô*éë*: ";   //ñïð*øèâ*åøü èìÿ
                        cin>>nameInput;           //ñ÷èòûâ*åøü èìÿ
                        f1 = fopen(nameInput,"r");//îòêðûòèå ô*éë*1
                  }
                  if((i = isCorrectFile(f1, n)) != 0)
                {
                        if(n == -1)
                                printf("Cant read num of elements\n");
                        else
                                printf("Matrix hasn't %d elements\n",i);
                }
                else
                {
                  matr=new int *[n];       
                  for (i=0;i<n ;i++)
                  {
                       matr[i]=new int[n];           
                       for (j=0;j<n ;j++)
                            fscanf (f1,"%d ",&matr[i][j]);
                  }
 
                   matrica(matr,n);//ôó*êöèÿ âûâîä* ì*òðèöû ** êî*ñîëü
                    maxsum(matr,n);//ôó*êöèÿ ïîèñê* ì*êñèì*ëü*îé ñðåäè ñóìì
                    for(int i = n - 1; 0 <= i; i--) {
                          delete[] matr[i];          }                     
                  delete[] matr;
                                }
                 break;
                 default:cout<<"\nÍåòî÷*ûé ââîä *îìåð*!";break;
    }    
        getch();
        return 0;
}
   
 
: 13:18. GMT +3.
- , ,
-
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
@Mail.ru