Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 02.07.2012
Сообщений: 6
1

Ошибка кода калькулятора матриц

03.12.2012, 22:34. Показов 984. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
При компиляции выскакивают ошибки помогите плиз.
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
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
//---------------------------------------------------------------------------
#include <iostream.h>
#include <conio.h>
#include<stdio.h>
#include <iomanip.h>
#include <windows.h>
#include <math.h>
#include<stdlib.h>
#define NN 6
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
using namespace std;
void main(void)
{
system("TITLE Matrix");
double mas[2][2],det,mas1[3][3],mas2[3][3],mas3[2][2],mas4[2][2],c,mas5[3][3],mas6[3][3];
int i,j,x,tmp;
char vub;
for (;;) {
 do {
cout <<"\nМiні-функцiональний калькулятор матриць. Для виходу з програми натиснiть q.";
cout <<"\n1 Порахувати матрицю 2х2";
cout <<"\n2 Порахувати матрицю 3х3";
cout <<"\n3 Транспонування квадратної матриці по головній і побічній діагоналях";
cout <<"\n4 Мінори квадратної матриці по заданим рядкам і стовпчикам";
cout <<"\n5 Множення числа на матрицю 2х2";
cout <<"\n6 Множення числа на матрицю 3х3";
cout <<"\n7 Додавання матриць 2х2";
cout <<"\n8 Додавання матриць 3х3";
cout <<"\n9 Про програму";
cout <<"\n";
cout <<"\nЗробіть ваш вибір:";
cin >> vub;
}
while ( vub < '1' || vub > '9' && vub != 'q');
if (vub == 'q') break;
    switch (vub)
    {
       case '1':
            mas==0;
            det==0;
            cout<<"\nПерший елемент матриці--->";
            cin>>mas[0][0];
            cout<<"Другий елемент матриці--->";
            cin>>mas[0][1];
            cout<<"Третій елемент матриці--->";
            cin>>mas[1][0];
            cout<<"Четвертий елемент матриці--->";
            cin>>mas[1][1];
            for (int i=0; i<2; i++)
            {
            for (int j=0; j<2; j++)
            cout << "\nВаша матриця 2х2:";
            cout << mas[i][j] << "\t";
            }
            cout << "\n";
            det=(((mas[0][0])*(mas[1][1]))-((mas[1][0])*(mas[0][1])));
            cout<<"det="<<"("<<mas[0][0]<<"*"<<mas[1][1]<<")"<<"-"<<"("<<mas[1][0]<<"*"<<mas[0][1]<<")"<<"="<<det;
       break;
       case '2':
               cout<<"Перший елемент матриці--->";
               cin>>mas1[0][0];
               cout<<"Другий елемент матриці--->";
               cin>>mas1[0][1];
               cout<<"Третій елемент матриці--->";
               cin>>mas1[0][2];
               cout<<"Четвертий елемент матриці--->";
               cin>>mas1[1][0];
               cout<<"П'ятий елемент матриці--->";
               cin>>mas1[1][1];
               cout<<"Шостий елемент матриці--->";
               cin>>mas1[1][2];
               cout<<"Сьомий елемент матриці--->";
               cin>>mas1[2][0];
               cout<<"Восьмий елемент матриці--->";
               cin>>mas1[2][1];
               cout<<"Дев'ятий елемент матриці--->";
               cin>>mas1[2][2];
               for (int i=0; i<3; i++)
               {
               for (int j=0; j<3; j++)
               cout << "\nВаша матриця 3х3:";
               cout << mas1[i][j] << "\t";
               }
               cout << "\n";
               det=((mas1[0][0])*(mas1[1][1])*(mas1[2][2]))+((mas1[2][0])*(mas1[0][1])*(mas1[1][2]))+((mas1[1][0])*(mas1[2][1])*(mas1[0][2]))-((mas1[2][0])*(mas1[1][1])*(mas1[0][2]))-((mas1[0][0])*(mas1[2][1])*(mas1[1][2]))-((mas1[1][0])*(mas1[0][1])*(mas1[2][2]));
               cout<<"det="<<"("<<mas1[0][0]<<"*"<<mas1[1][1]<<"*"<<mas1[2][2]<<")"<<"+"<<"("<<mas1[2][0]<<"*"<<mas1[0][1]<<"*"<<mas1[1][2]<<")"<<"+"<<"("<<mas1[1][0]<<"*"<<mas1[2][1]<<"*"<<mas1[0][2]<<")"<<"-"<<"("<<mas1[2][0]<<"*"<<mas1[1][1]<<"*"<<mas1[0][2]<<")"<<"-"<<"("<<mas1[0][0]<<"*"<<mas1[2][1]<<"*"<<mas1[1][2]<<")"<<"-"<<"("<<mas1[1][0]<<"*"<<mas1[0][1]<<"*"<<mas1[2][2]<<")"<<"="<<det;
       break;
       case '3':
               {
               int **mas, n, i,j;
               SetConsoleCP(1251);
               SetConsoleOutputCP(1251);
               cout<<"Введіть кількість рядків і стовпчиків: "<< endl;
               cin>>n;
               mas=new int*[n];
               for(i=0; i<n; i++)
               mas[i]=new int[n];
               cout<<"Введіть елементи матриці: "<< endl;
               for(i=0; i<n; i++)
               for(j=0; j<n; j++)
               {
               cout<<"["<<i<<"]["<<j<<"]= ";
               cin>>mas[i][j];
               }
               cout<<"Ваша матриця"<<endl;
               for(i=0; i<n; i++)
               {
               for(j=0; j<n; j++)
               cout<<mas[i][j]<<" ";
               cout<<endl;
               }
               cout<<"Транспонована матриця по головній діагоналі:"<<endl;
               for(i=0; i<n; i++)
               {
               for(j=0; j<n; j++)
               cout<<mas[j][i]<<" ";
               cout<<endl;
               }
               cout<<"Транспонована матриця по побічній діагоналі:"<<endl;
               for(i=0; i<n; i++)
               {
               for(j=0; j<n; j++)
               cout<<mas[n-1-j][n-1-i]<<" ";
               cout<<endl;
               }
               cout<<endl;
               getch();
               }
       break;
       case '4':
               float a[NN][NN],kst;
               int i,j,n,im,jm,p,k=0,t;
               char yn;
// <----Введення розміру квадратної матриці---->
               while(k==0)
               {
               printf("\nВведіть розмір матриці (від 2 до %d): N=",NN);
               n=getche()-48;
               if ((n<2) || (n>NN)) k=0;
               else k=1;
               }
// <----Ввід матриці a[NN][NN]---->
               k=0;
               while(k==0)
               {
               printf("\n\nЗадати матрицю випадково? y/n: ");
               yn=getche();
               if ((yn=='y') || (yn=='n')) k=1;
               else k=0;
               }
               switch(yn)
               {
               case 'y': for(i=0;i<n;i++) for(j=0;j<n;j++) a[i][j]=rand()%100;break;
               default:
               {
               printf("\nВведіть матрицю %dx%d\n",n,n);
               for(i=0;i<n;i++)
               for(j=0;j<n;j++)
               scanf("%f",&a[i][j]);
               }
               break;
               }
// <----Вивід введеної матриці---->
               printf("\n");
              for(i=0;i<n;i++)
              {
              for(j=0;j<n;j++) printf("%6.2f\t",a[i][j]);
              printf("\n\n");
              }
// <----Вводимо мінор---->
              printf("За якими номерами рядків і стовпчиків будемо шукати мінор? i=");
              im=getche()-49;
              printf(" j=");
              jm=getche()-49;
// <----Рахуємо матрицю мінора---->
              for (i=0; i<n; i++)
              if(i==im) for(p=i; p<n; p++) for(j=0; j<n; j++) a[p][j]=a[p+1][j];
              for (j=0; j<n; j++)
              if(j==jm) for(p=j; p<n; p++) for(i=0; i<n; i++) a[i][p]=a[i][p+1];
              n-=1;
// <----Виводимо матрицю---->
              printf("\n");
              for(i=0;i<n;i++)
              {
              for(j=0;j<n;j++) printf("%6.2f\t",a[i][j]);
              printf("\n\n");
              }
// <----Рахуємо мінор---->
              p=0;
              for (i=0; i<n-1; i++)
              {
              t=1;
              while(a[i][i]==0)
              {
              for(j=0; j<n; j++)
              {
              a[i][j]=kst;
              a[i][j]=a[i+t][j];
              a[i+t][j]=kst;
              }
              p++;
              t++;
              }
              for (k=i+1; k<n; k++)
              {
              kst=a[k][i]/a[i][i];
              for(j=0; j<n; j++)
              a[k][j]-=a[i][j]*kst;
              }
              }
              kst=pow(-1,p);
              for(i=0; i<n; i++)
              kst*=a[i][i];
              printf("Мінор по А[%d][%d] дорівнює: %14.3f",im+1,jm+1,kst);
              getch();
       break;
       case '5':
               cout<<"\nПерший елемент матриці--->";
               cin>>mas3[0][0];
               cout<<"Другий елемент матриці--->";
               cin>>mas3[0][1];
               cout<<"Третій елемент матриці--->";
               cin>>mas3[1][0];
               cout<<"Четвертий елемент матриці--->";
               cin>>mas3[1][1];
               for (int i=0; i<2; i++)
               {
               for (int j=0; j<2; j++)
               cout << "\nВаша матриця 2х2:";
               cout << mas3[i][j] << "\t";
               }
               {
               cout << "\nВедіть число на яке потрібно помножити матрицю:";
               cin >>c;
               mas4[0][0]=((mas3[0][0])*c);
               mas4[0][1]=((mas3[0][1])*c);
               mas4[1][0]=((mas3[1][0])*c);
               mas4[1][1]=((mas3[1][1])*c);
               for (int i=0; i<2; i++)
               {
               for (int j=0; j<2; j++)
               cout << "\nВаша домножена матриця:";
               cout << mas4[i][j] << "\t";
               }
               }
            break;
       case '6':
               cout<<"Перший елемент матриці--->";
               cin>>mas5[0][0];
               cout<<"Другий елемент матриці--->";
               cin>>mas5[0][1];
               cout<<"Третій елемент матриці--->";
               cin>>mas5[0][2];
               cout<<"Четвертий елемент матриці--->";
               cin>>mas5[1][0];
               cout<<"П'ятий елемент матриці--->";
               cin>>mas5[1][1];
               cout<<"Шостий елемент матриці--->";
               cin>>mas5[1][2];
               cout<<"Сьомий елемент матриці--->";
               cin>>mas5[2][0];
               cout<<"Восьмий елемент матриці--->";
               cin>>mas5[2][1];
               cout<<"Дев'ятий елемент матриці--->";
               cin>>mas5[2][2];
               for (int i=0; i<3; i++)
               {
               for (int j=0; j<3; j++)
               cout << "\nВаша матриця 3х3:";
               cout << mas5[i][j] << "\t";
               }
               {
               cout << "\nВедіть число на яке потрібно помножити матрицю:";
               с==0;
               cin >>c;
               mas6[0][0]=((mas5[0][0])*c);
               mas6[0][1]=((mas5[0][1])*c);
               mas6[0][2]=((mas5[0][2])*c);
               mas6[1][0]=((mas5[1][0])*c);
               mas6[1][1]=((mas5[1][1])*c);
               mas6[1][2]=((mas5[1][2])*c);
               mas6[2][0]=((mas5[2][0])*c);
               mas6[2][1]=((mas5[2][1])*c);
               mas6[2][2]=((mas5[2][2])*c);
               for (int i=0; i<3; i++)
               {
               for (int j=0; j<3 j++)
               cout << "\nВаша домножена матриця:";
               cout << mas6[i][j] << "\t";
            break;
       case '7':
            break;
       case '8':
            break;
       case '9':
            break;
       default:
            cout <<"\nДякуємо за*використання нашої програми";
}
        }
        }
 
//---------------------------------------------------------------------------
Миниатюры
Ошибка кода калькулятора матриц  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.12.2012, 22:34
Ответы с готовыми решениями:

Ошибка в задачи простого калькулятора
Помогите пожалуйста, по некой для меня причины c++ жалуется на строчку с Do { что делать вот код:...

Ошибка при реализации калькулятора
Собственно, пишу первую программу (банальный калькулятор), принцип его работы такой: Пользователь...

Ошибка при компиляции калькулятора
Здраствуйте,я пользователь си\си++ новый .Печатал калькуляторы на вин 7,потом вин8,на выходных 2...

Транспонирование матриц. Вынести часть кода в отдельную функцию
/* транспонировать матрицу, используя функции. я матрицу транспонировал, а через функцию не знаю...

3
44 / 44 / 14
Регистрация: 27.04.2011
Сообщений: 163
03.12.2012, 22:58 2
по моему лучше все переделать

это у вас такое присваивание?
Цитата Сообщение от CMLDA Посмотреть сообщение
mas==0;
* * * * * * det==0
вот список ошибок после нескольких исправлений
1>c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(38): warning C4553: '==' : operator has no effect; did you intend '='?
1>c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(39): warning C4553: '==' : operator has no effect; did you intend '='?
1>c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(52): warning C4258: 'j' : definition from the for loop is ignored; the definition from the enclosing scope is used
1> c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(50) : definition of 'j' ignored
1> c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(15) : definition of 'j' used
1>c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(81): warning C4258: 'j' : definition from the for loop is ignored; the definition from the enclosing scope is used
1> c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(79) : definition of 'j' ignored
1> c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(15) : definition of 'j' used
1>c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(126): warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\conio.h(131) : see declaration of 'getch'
1>c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(137): warning C4996: 'getche': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getche. See online help for details.
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\conio.h(132) : see declaration of 'getche'
1>c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(146): warning C4996: 'getche': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getche. See online help for details.
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\conio.h(132) : see declaration of 'getche'
1>c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(152): warning C4244: '=' : conversion from 'int' to 'float', possible loss of data
1>c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(158): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\stdio.h(290) : see declaration of 'scanf'
1>c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(171): warning C4996: 'getche': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getche. See online help for details.
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\conio.h(132) : see declaration of 'getche'
1>c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(173): warning C4996: 'getche': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getche. See online help for details.
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\conio.h(132) : see declaration of 'getche'
1>c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(210): warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
1>c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(214): warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\conio.h(131) : see declaration of 'getch'
1>c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(229): warning C4258: 'j' : definition from the for loop is ignored; the definition from the enclosing scope is used
1> c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(227) : definition of 'j' ignored
1> c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(131) : definition of 'j' used
1>c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(242): warning C4258: 'j' : definition from the for loop is ignored; the definition from the enclosing scope is used
1> c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(240) : definition of 'j' ignored
1> c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(131) : definition of 'j' used
1>c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(269): warning C4258: 'j' : definition from the for loop is ignored; the definition from the enclosing scope is used
1> c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(267) : definition of 'j' ignored
1> c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(131) : definition of 'j' used
1>c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(288): warning C4258: 'j' : definition from the for loop is ignored; the definition from the enclosing scope is used
1> c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(286) : definition of 'j' ignored
1> c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(131) : definition of 'j' used
1>c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(290): error C2360: initialization of 'i' is skipped by 'case' label
1> c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(284) : see declaration of 'i'
1>c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(290): error C2360: initialization of 'с' is skipped by 'case' label
1> c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(273) : see declaration of 'с'
1>c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(292): error C2360: initialization of 'i' is skipped by 'case' label
1> c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(284) : see declaration of 'i'
1>c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(292): error C2360: initialization of 'с' is skipped by 'case' label
1> c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(273) : see declaration of 'с'
1>c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(294): error C2360: initialization of 'i' is skipped by 'case' label
1> c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(284) : see declaration of 'i'
1>c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(294): error C2360: initialization of 'с' is skipped by 'case' label
1> c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(273) : see declaration of 'с'
1>c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(296): error C2361: initialization of 'i' is skipped by 'default' label
1> c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(284) : see declaration of 'i'
1>c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(296): error C2361: initialization of 'с' is skipped by 'default' label
1> c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(273) : see declaration of 'с'
1>c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(302): fatal error C1075: end of file found before the left brace '{' at 'c:\users\stanislav\documents\visual studio 2012\projects\consoleapplication11\consoleapplication11\source.cpp(12)' was matched
0
DU
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
03.12.2012, 22:59 3
ужоснах. наверно половина ошибок не было бы, если бы вы номрально форматировали код.
вот это например:
C++
1
2
3
4
5
6
for (int i=0; i<2; i++)
{
for (int j=0; j<2; j++)
cout << "\nВаша матриця 2х2:";
cout << mas[i][j] << "\t";
}
Читать сложно, понять что делается - еще сложнее. Ошибок много. Бробираясь через них наткнулся на наверно последнюю, которую мне в лом искать из-за кривого форматирования. это несоответствие открывающих и закрывающих скобок '{' '}'
Вот мои потуги, попробуйте сравнить свою и эту версию специальной тулзой для сравнивания кода, может поможет. А вообще писать нормально надо, а не так, как это у вас.

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
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
//---------------------------------------------------------------------------
#include <iostream>
#include <conio.h>
#include<stdio.h>
#include <iomanip>
#include <windows.h>
#include <math.h>
#include<stdlib.h>
#define NN 6
//#pragma hdrstop
//---------------------------------------------------------------------------
//#pragma argsused
using namespace std;
void main(void)
{
system("TITLE Matrix");
double mas[2][2],det,mas1[3][3],mas2[3][3],mas3[2][2],mas4[2][2],c,mas5[3][3],mas6[3][3];
//int i,j,x,tmp;
char vub;
for (;;) {
 do {
cout <<"\nМiні-функцiональний калькулятор матриць. Для виходу з програми натиснiть q.";
cout <<"\n1 Порахувати матрицю 2х2";
cout <<"\n2 Порахувати матрицю 3х3";
cout <<"\n3 Транспонування квадратної матриці по головній і побічній діагоналях";
cout <<"\n4 Мінори квадратної матриці по заданим рядкам і стовпчикам";
cout <<"\n5 Множення числа на матрицю 2х2";
cout <<"\n6 Множення числа на матрицю 3х3";
cout <<"\n7 Додавання матриць 2х2";
cout <<"\n8 Додавання матриць 3х3";
cout <<"\n9 Про програму";
cout <<"\n";
cout <<"\nЗробіть ваш вибір:";
cin >> vub;
}
while ( vub < '1' || vub > '9' && vub != 'q');
if (vub == 'q') break;
    switch (vub)
    {
       case '1':
            mas[0][0]=0;
            det=0;
            cout<<"\nПерший елемент матриці--->";
            cin>>mas[0][0];
            cout<<"Другий елемент матриці--->";
            cin>>mas[0][1];
            cout<<"Третій елемент матриці--->";
            cin>>mas[1][0];
            cout<<"Четвертий елемент матриці--->";
            cin>>mas[1][1];
            for (int i=0; i<2; i++)
            {
                for (int j=0; j<2; j++)
                {
                cout << "\nВаша матриця 2х2:";
                cout << mas[i][j] << "\t";
                }
            }
            cout << "\n";
            det=(((mas[0][0])*(mas[1][1]))-((mas[1][0])*(mas[0][1])));
            cout<<"det="<<"("<<mas[0][0]<<"*"<<mas[1][1]<<")"<<"-"<<"("<<mas[1][0]<<"*"<<mas[0][1]<<")"<<"="<<det;
       break;
       case '2':
               cout<<"Перший елемент матриці--->";
               cin>>mas1[0][0];
               cout<<"Другий елемент матриці--->";
               cin>>mas1[0][1];
               cout<<"Третій елемент матриці--->";
               cin>>mas1[0][2];
               cout<<"Четвертий елемент матриці--->";
               cin>>mas1[1][0];
               cout<<"П'ятий елемент матриці--->";
               cin>>mas1[1][1];
               cout<<"Шостий елемент матриці--->";
               cin>>mas1[1][2];
               cout<<"Сьомий елемент матриці--->";
               cin>>mas1[2][0];
               cout<<"Восьмий елемент матриці--->";
               cin>>mas1[2][1];
               cout<<"Дев'ятий елемент матриці--->";
               cin>>mas1[2][2];
               for (int i=0; i<3; i++)
               {
                   for (int j=0; j<3; j++)
                   {
                   cout << "\nВаша матриця 3х3:";
                   cout << mas1[i][j] << "\t";
                   }
               }
               cout << "\n";
               det=((mas1[0][0])*(mas1[1][1])*(mas1[2][2]))+((mas1[2][0])*(mas1[0][1])*(mas1[1][2]))+((mas1[1][0])*(mas1[2][1])*(mas1[0][2]))-((mas1[2][0])*(mas1[1][1])*(mas1[0][2]))-((mas1[0][0])*(mas1[2][1])*(mas1[1][2]))-((mas1[1][0])*(mas1[0][1])*(mas1[2][2]));
               cout<<"det="<<"("<<mas1[0][0]<<"*"<<mas1[1][1]<<"*"<<mas1[2][2]<<")"<<"+"<<"("<<mas1[2][0]<<"*"<<mas1[0][1]<<"*"<<mas1[1][2]<<")"<<"+"<<"("<<mas1[1][0]<<"*"<<mas1[2][1]<<"*"<<mas1[0][2]<<")"<<"-"<<"("<<mas1[2][0]<<"*"<<mas1[1][1]<<"*"<<mas1[0][2]<<")"<<"-"<<"("<<mas1[0][0]<<"*"<<mas1[2][1]<<"*"<<mas1[1][2]<<")"<<"-"<<"("<<mas1[1][0]<<"*"<<mas1[0][1]<<"*"<<mas1[2][2]<<")"<<"="<<det;
       break;
       case '3':
               {
               int **mas, n, i,j;
               SetConsoleCP(1251);
               SetConsoleOutputCP(1251);
               cout<<"Введіть кількість рядків і стовпчиків: "<< endl;
               cin>>n;
               mas=new int*[n];
               for(i=0; i<n; i++)
               mas[i]=new int[n];
               cout<<"Введіть елементи матриці: "<< endl;
               for(i=0; i<n; i++)
               for(j=0; j<n; j++)
               {
               cout<<"["<<i<<"]["<<j<<"]= ";
               cin>>mas[i][j];
               }
               cout<<"Ваша матриця"<<endl;
               for(i=0; i<n; i++)
               {
               for(j=0; j<n; j++)
               cout<<mas[i][j]<<" ";
               cout<<endl;
               }
               cout<<"Транспонована матриця по головній діагоналі:"<<endl;
               for(i=0; i<n; i++)
               {
               for(j=0; j<n; j++)
               cout<<mas[j][i]<<" ";
               cout<<endl;
               }
               cout<<"Транспонована матриця по побічній діагоналі:"<<endl;
               for(i=0; i<n; i++)
               {
               for(j=0; j<n; j++)
               cout<<mas[n-1-j][n-1-i]<<" ";
               cout<<endl;
               }
               cout<<endl;
               getch();
               }
       break;
       case '4':
           {
               float a[NN][NN],kst;
               int i,j,n,im,jm,p,k=0,t;
               char yn;
// <----Введення розміру квадратної матриці---->
               while(k==0)
               {
               printf("\nВведіть розмір матриці (від 2 до %d): N=",NN);
               n=getche()-48;
               if ((n<2) || (n>NN)) k=0;
               else k=1;
               }
// <----Ввід матриці a[NN][NN]---->
               k=0;
               while(k==0)
               {
               printf("\n\nЗадати матрицю випадково? y/n: ");
               yn=getche();
               if ((yn=='y') || (yn=='n')) k=1;
               else k=0;
               }
               switch(yn)
               {
               case 'y': for(i=0;i<n;i++) for(j=0;j<n;j++) a[i][j]=rand()%100;break;
               default:
               {
               printf("\nВведіть матрицю %dx%d\n",n,n);
               for(i=0;i<n;i++)
               for(j=0;j<n;j++)
               scanf("%f",&a[i][j]);
               }
               break;
               }
// <----Вивід введеної матриці---->
               printf("\n");
              for(i=0;i<n;i++)
              {
              for(j=0;j<n;j++) printf("%6.2f\t",a[i][j]);
              printf("\n\n");
              }
// <----Вводимо мінор---->
              printf("За якими номерами рядків і стовпчиків будемо шукати мінор? i=");
              im=getche()-49;
              printf(" j=");
              jm=getche()-49;
// <----Рахуємо матрицю мінора---->
              for (i=0; i<n; i++)
              if(i==im) for(p=i; p<n; p++) for(j=0; j<n; j++) a[p][j]=a[p+1][j];
              for (j=0; j<n; j++)
              if(j==jm) for(p=j; p<n; p++) for(i=0; i<n; i++) a[i][p]=a[i][p+1];
              n-=1;
// <----Виводимо матрицю---->
              printf("\n");
              for(i=0;i<n;i++)
              {
              for(j=0;j<n;j++) printf("%6.2f\t",a[i][j]);
              printf("\n\n");
              }
// <----Рахуємо мінор---->
              p=0;
              for (i=0; i<n-1; i++)
              {
              t=1;
              while(a[i][i]==0)
              {
              for(j=0; j<n; j++)
              {
              a[i][j]=kst;
              a[i][j]=a[i+t][j];
              a[i+t][j]=kst;
              }
              p++;
              t++;
              }
              for (k=i+1; k<n; k++)
              {
              kst=a[k][i]/a[i][i];
              for(j=0; j<n; j++)
              a[k][j]-=a[i][j]*kst;
              }
              }
              kst=pow(-1.f, float(p));
              for(i=0; i<n; i++)
              kst*=a[i][i];
              printf("Мінор по А[%d][%d] дорівнює: %14.3f",im+1,jm+1,kst);
              getch();
       break;
           }
 
       case '5':
               cout<<"\nПерший елемент матриці--->";
               cin>>mas3[0][0];
               cout<<"Другий елемент матриці--->";
               cin>>mas3[0][1];
               cout<<"Третій елемент матриці--->";
               cin>>mas3[1][0];
               cout<<"Четвертий елемент матриці--->";
               cin>>mas3[1][1];
               for (int i=0; i<2; i++)
               {
                   for (int j=0; j<2; j++)
                   {
                       cout << "\nВаша матриця 2х2:";
                       cout << mas3[i][j] << "\t";
                   }
               }
               {
               cout << "\nВедіть число на яке потрібно помножити матрицю:";
               cin >>c;
               mas4[0][0]=((mas3[0][0])*c);
               mas4[0][1]=((mas3[0][1])*c);
               mas4[1][0]=((mas3[1][0])*c);
               mas4[1][1]=((mas3[1][1])*c);
               for (int i=0; i<2; i++)
               {
                   for (int j=0; j<2; j++)
                   {
                       cout << "\nВаша домножена матриця:";
                       cout << mas4[i][j] << "\t";
                   }
               }
               }
            break;
       case '6':
           {
               cout<<"Перший елемент матриці--->";
               cin>>mas5[0][0];
               cout<<"Другий елемент матриці--->";
               cin>>mas5[0][1];
               cout<<"Третій елемент матриці--->";
               cin>>mas5[0][2];
               cout<<"Четвертий елемент матриці--->";
               cin>>mas5[1][0];
               cout<<"П'ятий елемент матриці--->";
               cin>>mas5[1][1];
               cout<<"Шостий елемент матриці--->";
               cin>>mas5[1][2];
               cout<<"Сьомий елемент матриці--->";
               cin>>mas5[2][0];
               cout<<"Восьмий елемент матриці--->";
               cin>>mas5[2][1];
               cout<<"Дев'ятий елемент матриці--->";
               cin>>mas5[2][2];
               for (int i=0; i<3; i++)
               {
                   for (int j=0; j<3; j++)
                   {
                       cout << "\nВаша матриця 3х3:";
                       cout << mas5[i][j] << "\t";
                   }
               }
               {
               cout << "\nВедіть число на яке потрібно помножити матрицю:";
               int с = 0;
               cin >>c;
               mas6[0][0]=((mas5[0][0])*c);
               mas6[0][1]=((mas5[0][1])*c);
               mas6[0][2]=((mas5[0][2])*c);
               mas6[1][0]=((mas5[1][0])*c);
               mas6[1][1]=((mas5[1][1])*c);
               mas6[1][2]=((mas5[1][2])*c);
               mas6[2][0]=((mas5[2][0])*c);
               mas6[2][1]=((mas5[2][1])*c);
               mas6[2][2]=((mas5[2][2])*c);
               for (int i=0; i<3; i++)
               {
                   for (int j=0; j<3; j++)
                   {
                    cout << "\nВаша домножена матриця:";
                    cout << mas6[i][j] << "\t";
                   }
               }
            break;
               }
       case '7':
            break;
       case '8':
            break;
       case '9':
            break;
       default:
            cout <<"\nДякуємо за*використання нашої програми";
}
        }
        }
0
44 / 44 / 14
Регистрация: 27.04.2011
Сообщений: 163
03.12.2012, 23:03 4
Цитата Сообщение от DU Посмотреть сообщение
Бробираясь через них наткнулся на наверно последнюю, которую мне в лом искать из-за кривого форматирования. это несоответствие открывающих и закрывающих скобок '{' '}'
я тоже нашел, нужно было в конец добавить закрывающуюся скобку
0
03.12.2012, 23:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.12.2012, 23:03
Помогаю со студенческими работами здесь

Оптимизация кода простого калькулятора
Доброго времени. Начал изучать вчера python. Сегодня решил написать простой калькулятор. Написал....

Как оптимально и без лишнего кода запрограммировать кнопки калькулятора
Всем доброго здоровичка!!! У меня вопрос: На форме кнопки с цифрами, как на калькуляторе. При...

Ошибка в подсчете калькулятора
почему, если первым передвинуть скролл месяца на значение 2 то сумма не меняется? а если вернуть в...

Ошибка при создании калькулятора
Как исправить ошибку в Microsoft Visual Studio 2010? Ошибка: к указателю должен быть применен...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru