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

Ошибки "Expression syntax" и "Unreachable code" при реализации класса матриц

03.08.2015, 19:30. Показов 691. Ответов 3
Метки нет (Все метки)

Подскажите по коду.
C++ (Qt)
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
#include <iostream.h>
#include <math.h>
#include <string.h>
#include <stdio.h>
#include <windows.h>
 
 
class matrix {
private: float mData[4];
public:  matrix() {for (int i=0;i<4;i++) mData[i]=0;};
                 matrix(float el1,float el2,float el3,float el4) {mData[0]=el1; mData[1]=el2; mData[2]=el3;mData[3]=el4;};
                 float getel1() {return mData[0];};
                 float getel2() {return mData[1];};
                 float getel3() {return mData[2];};
                 float getel4() {return mData[3];};
 
                 void print() {cout<<mData[0]<<"\t"<<mData[1]<<"\n"<<mData[2]<<"\t"<<mData[3]<<endl;}            
                 
                 bool operator ==(const matrix &m) 
                 {if ((mData[0]==m.mData[0])&&(mData[1]==m.mData[1])&&(mData[2]==m.mData[2])&&(mData[3]==m.mData[3])) 
                         return true; return false;};
                 bool operator !=(const matrix &m) 
                 {if ((mData[0]==m.mData[0])&&(mData[1]==m.mData[1])&&(mData[2]==m.mData[2])&&(mData[3]==m.mData[3])) 
                         return false; return true;};
                 matrix  operator + (const matrix &m) 
                                {float d[4]; for (int i=0;i<4;i++) d[i]=mData[i]+m.mData[i]; matrix res(d[0],d[1],d[2],d[3]); return res;};
                 matrix  operator - (const matrix &m) 
                                {float d[4]; for (int i=0;i<4;i++) d[i]=mData[i]-m.mData[i]; matrix res(d[0],d[1],d[2],d[3]); return res;};
                 matrix  operator * (float f) 
                                {float d[4]; for (int i=0;i<4;i++) d[i]=mData[i]*f; matrix res(d[0],d[1],d[2],d[3]); return res;};
                 matrix operator * (const matrix &m)
                                {float d[4];for(int i=0;i<4;i++){
                d[0]=mData[0]*m.mData[0]+mData[1]*m.mData[2];
                d[1]=mData[0]*m.mData[1]+mData[1]*m.mData[3];
                d[2]=mData[2]*m.mData[0]+mData[3]*m.mData[2];
                d[3]=mData[2]*m.mData[1]+mData[3]*m.mData[3];}
                 matrix res(d[0],d[1],d[2],d[3]); return res;}
 
                 void Transponirovanie() { cout<<mData[0]<<"\t"<<mData[2]<<"\n"<<mData[1]<<"\t"<<mData[3]<<endl;}
                 void Obratnaya() { float q,r;
                        r=mData[0]*mData[3]-mData[1]*mData[2];
                        if(r==0) {cout<<"Obratnoi matrici ne sushestvuet"<<endl;}
                        else {q=1/r;
                 float d[4];for(int i=0;i<4;i++) 
                 {      d[0]=q*mData[3];
                        d[1]=(-1)*q*mData[1];
                        d[2]=(-1)*q*mData[2];
                        d[3]=q*mData[0];}
                        matrix res(d[0],d[1],d[2],d[3]); 
                        cout<<d[0]<<"\t"<<d[1]<<"\n"<<d[2]<<"\t"<<d[3]<<endl;}
                 };
                 void Determinant() { float det; det=mData[0]*mData[3]-mData[1]*mData[2]; cout<<"Determinant raven"<<"\t"<<det<<endl; } 
                 void Sled() { float sl; sl=mData[0]+mData[3]; cout<<"Sled raven"<<"\t"<<sl<<endl; }
};
 
 
int menu();
matrix vvod(int number);
 
int menu() 
{char buf[10];
int option;
do {
puts("============================");
puts("1-Summa matric");
puts("2-Raznost matric");
puts("3-Umnojenie matrici na skalyar");
puts("4-Transponirovanie matrici");
puts("5-Nahojdenie obratnoi matrici");
puts("6-Umnojenie matric");
puts("7-Opredelitel matrici");
puts("8-Sled matrici");
puts("9-Exit");
puts("============================");
cin>>buf;
option=atoi(buf);}
while (!option); 
return option;
}
 
matrix vvod(int number){
        float e[4];
        cout<<"Vevedite matricu nomer"<<number<<endl;
        for(int i=0;i<4;i++) { cin>>e[i];}
matrix res(e[0],e[1],e[2],e[3]);
return res;
}
 
 
    
int main()    
{
        matrix a;
        matrix b;
        matrix c;
        float f;
        while (true){
switch (menu()){
case 1: system("cls");a=vvod(1);b=vvod(2); c=a+b;cout<<"Rezultat"<<"\n";c.print(); cout<<endl;break;
case 2: system("cls");a=vvod(1);b=vvod(2); c=a-b;cout<<"Rezultat"<<"\n";c.print(); cout<<endl;break;
case 3: system("cls");a=vvod(1);cout<<"vvedite skalyar";cin>>f; c=a*f;cout<<"Rezultat"<<"\n";c.print(); cout<<endl;break;
case 4: system("cls");a=vvod(1);cout<<"Rezultat"<<"\n";a.Transponirovanie();break;
case 5: system("cls");a=vvod(1);cout<<"Rezultat"<<"\n";a.Obratnaya();break;
case 6: system("cls");a=vvod(1);b=vvod(2); c=a*b;cout<<"Rezultat"<<"\n";c.print(); cout<<endl;break;
case 7: system("cls");a=vvod(1);a.Determinant();break;
case 8: system("cls");a=vvod(1);a.Sled();break;
case 9: return 0;
default: cout<<"Takoi optii net"<<endl;
}};
 
        return 0;
}
Выводит ошибки:
1. Unit1.cpp(23): E2188 Expression syntax
2. Unit1.cpp(111): W8066 Unreachable code
вроде все скобки соответствуют, ;-тоже. в чем ошибка?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.08.2015, 19:30
Ответы с готовыми решениями:

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно"
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;,...

Для каждой строки найти слова, которые не имеют ни одного из букв: "l", "k", "r", "s" i "j"
Задано символьные строки. Строка состоит из нескольких слов (наборов символов), которые разделяются...

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование)
Разработать программу с использованием наследования классов, реализующую классы: − воин;...

При запуске в code::blocks появляются ошибки "<название> was not declared in this scope"
Проект состоит из четырех файлов. Main.cpp, TestList.cpp, List.h, Sequence.h В последнем...

3
Эксперт С++
4974 / 3082 / 456
Регистрация: 10.11.2010
Сообщений: 11,160
Записей в блоге: 10
03.08.2015, 20:07 2
Ничего не знаю. GCC с -pedantic -Wall молчит как рыба.
0
1 / 1 / 0
Регистрация: 23.05.2013
Сообщений: 28
03.08.2015, 21:02  [ТС] 3
у меня в C++ Builder выдает ошибки
0
Эксперт С++
4974 / 3082 / 456
Регистрация: 10.11.2010
Сообщений: 11,160
Записей в блоге: 10
03.08.2015, 21:06 4
Максимум что вижу - это лишние точки с запятой в конце строк: 21, 24, 26, 28, 30, 51. Остальные сам(а) ищи с таким синтаксисом.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.08.2015, 21:06

Необработанное исключение в "0x00414558" в "467.exe": 0xC0000005: Нарушение прав доступа при чтении "0xabababbb"
При выполнении этого кода #include &lt;iostream&gt; #include&lt;conio.h&gt; using namespace std; int...

Необработанное исключение в "0x775e15de" в "laba3.exe": 0xC0000005: Нарушение прав доступа при чтении "0xfdfdfdf9".
вылезает ошибка Необработанное исключение в &quot;0x775e15de&quot; в &quot;laba3.exe&quot;: 0xC0000005: Нарушение прав...

Необработанное исключение в "0x01082855" в "sort.exe": 0xC0000005: Нарушение прав доступа при записи "0xcccccccc"
Всем привет! помогите мне понять в чём дело. написал программу: #include &quot;stdafx.h&quot; #include...

Необработанное исключение в "0x013f2b22" в "123.exe": 0xC0000005: Нарушение прав доступа при записи "0xfdfdfdfd"
Вот функция для удаления столбца: #pragma once #include &lt;iostream&gt; using namespace std; int...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.