Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
8 / 7 / 6
Регистрация: 13.02.2016
Сообщений: 180

ошибка компиляции

10.04.2020, 09:05. Показов 1113. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
компилятор выдал следующую ошибку:
Compilation error
main.cpp:14:31: error: expected declaration before ‘}’ token
;};} else{cout<<0<<endl;};};};};

как исправить эту ошибку?

код(малочитабелен):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using std::cin;using std::cout;using std::endl;
int main() {
  double a0,a1,b0,b1,s0,s1,dtl,dtx,dty,x,y;char sp=' ';
    cin>>a0;cin>>b0;cin>>a1;cin>>b1;cin>>s0;cin>>s1;
    dtl=(a0*b1)-(b0*a1);dtx=(s0*b1)-(s1*b0);dty=(a0*s1)-(a1*s0);
    if (dtl!=0){x=dtx/dtl;y=dty/dtl;
    cout<<2<<sp<<x<<sp<<y<<endl;} else {
    if(dtx=0&&dty==0){
    if(a0==0&&b0==0&&a1==0&&b1==0){if(s0!=0||s1!=0){cout<<0<<endl;} else{cout<<5<<endl;};} else
    if(a0==0&&a1==0){if(b0!=0){y=s0/b0;cout<<4<<sp<<y<<endl;} else{y=s1/b1;cout<<4<<sp<<y<<endl;};} else
        if(b0==0&&b1==0){if(b0!=0){y=s0/b0;cout<<4<<sp<<y<<endl;} else{y=s1/b1;cout<<4<<sp<<y<<endl;};} else{if(b0==0&&b1==0){if(a0==0){x=s0/a0;cout<<3<<sp<<x<<endl;} else{x=s1/a1;cout<<3<<sp<<x<<endl;};} else
        {if(b0!=0){x=s0/b0;y=-(a0/b0);cout<<1<<y<<x<<endl;} else{x=s1/b1;y=-(a1/b1);cout<<1<<y<<x<<endl;};}
;};} else{cout<<0<<endl;};};};};
return 0;}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.04.2020, 09:05
Ответы с готовыми решениями:

Ошибка при компиляции. Где ошибка? (Работа с классом)
Уважаемые форумчане! При компиляции проекта возникает ошибка &quot; undefined reference to `MeterNZiF::MeterNZiF()' &quot; на 7 строку...

При компиляции ошибка. Ошибка c++ C2678
Ошибка c++ C2678 #include &lt;windows.h&gt; #include &lt;string&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;fstream&gt; #include...

Ошибка компиляции
Пытаюсь &quot;испробовать&quot; код приведенный в качестве примера на одном сайте обучения С++. Выдается ошибка в помеченной строке: invalid...

6
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12930 / 6798 / 1819
Регистрация: 18.10.2014
Сообщений: 17,198
10.04.2020, 09:21
Цитата Сообщение от zerkalo Посмотреть сообщение
как исправить эту ошибку?
Отформатировать по человечески код - и все сразу станет ясно.
0
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
10.04.2020, 09:21
Цитата Сообщение от zerkalo Посмотреть сообщение
код(малочитабелен):
спасибо что предкпредил
Цитата Сообщение от zerkalo Посмотреть сообщение
как исправить эту ошибку?
сделай код читабельным и ошибка сама исправиться
0
Модератор
Эксперт С++
 Аватар для zss
13769 / 10962 / 6491
Регистрация: 18.12.2011
Сообщений: 29,239
10.04.2020, 10:30
ТС вряд ли способен сам отформатировать код.
Вот что получится
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
#include <iostream>
using std::cin; using std::cout; using std::endl;
int main() {
    double a0, a1, b0, b1, s0, s1, dtl, dtx, dty, x, y; char sp = ' ';
    cin >> a0; cin >> b0; cin >> a1; cin >> b1; cin >> s0; cin >> s1;
    dtl = (a0*b1) - (b0*a1); dtx = (s0*b1) - (s1*b0); dty = (a0*s1) - (a1*s0);
    if (dtl != 0) {
        x = dtx / dtl; y = dty / dtl;
        cout << 2 << sp << x << sp << y << endl;
    }
    else {
        if (dtx = 0 && dty == 0) {
            if (a0 == 0 && b0 == 0 && a1 == 0 && b1 == 0) 
            { 
                if (s0 != 0 || s1 != 0) 
                { 
                    cout << 0 << endl; 
                } else 
                { 
                    cout << 5 << endl; 
                }; 
            }else 
                if (a0 == 0 && a1 == 0) 
                { 
                    if (b0 != 0) 
                    { 
                        y = s0 / b0; cout << 4 << sp << y << endl; 
                    } else 
                    { 
                        y = s1 / b1; cout << 4 << sp << y << endl; 
                    }; 
                }else
                    if (b0 == 0 && b1 == 0) 
                    { 
                        if (b0 != 0) 
                        { 
                            y = s0 / b0; cout << 4 << sp << y << endl; 
                        } else 
                        { 
                            y = s1 / b1; cout << 4 << sp << y << endl; 
                        }; 
                    }else 
                    {
                        if (b0 == 0 && b1 == 0) 
                        { 
                            if (a0 == 0) 
                            { 
                                x = s0 / a0; cout << 3 << sp << x << endl; 
                            } else 
                            { 
                                x = s1 / a1; cout << 3 << sp << x << endl; 
                            }; 
                        }else
                        {
                            if (b0 != 0) 
                            { 
                                x = s0 / b0; y = -(a0 / b0); cout << 1 << y << x << endl; 
                            }else 
                            { 
                                x = s1 / b1; y = -(a1 / b1); cout << 1 << y << x << endl; 
                            };
                        }
                        ;
                    };
        }
        else 
        { 
            cout << 0 << endl; 
        };
    };
}; };
return 0; 
}
Поскольку неизвестно, что тут конкретно делается, то сказать какие скобки неправильные невозможно.
0
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4573 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
10.04.2020, 11:34
Лучший ответ Сообщение было отмечено zerkalo как решение

Решение

zerkalo, а у меня вроде получилось найти ошибку.
Лишние две закрывающие скобки перед return-ом
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
#include <iostream>
using namespace std;
 
int main() 
{
    double a0, a1, b0, b1, s0, s1, dtl, dtx, dty, x, y;
    char sp = ' ';
    
    cin >> a0;
    cin >> b0;
    cin >> a1;
    cin >> b1;
    cin >> s0;
    cin >> s1;
 
    dtl = (a0*b1) - (b0*a1);
    dtx = (s0*b1) - (s1*b0);
    dty = (a0*s1) - (a1*s0);
    
    if (dtl != 0) 
    {
        x = dtx / dtl;
        y = dty / dtl;
        cout << 2 << sp << x << sp << y << endl;
    }
    else 
    {
        if (dtx = 0 && dty == 0) 
        {
            if (a0 == 0 && b0 == 0 && a1 == 0 && b1 == 0) 
            { 
                if (s0 != 0 || s1 != 0) 
                { 
                    cout << 0 << endl; 
                } 
                else 
                { 
                    cout << 5 << endl; 
                } 
            }
            else if (a0 == 0 && a1 == 0) 
            { 
                if (b0 != 0) 
                { 
                    y = s0 / b0;
                    cout << 4 << sp << y << endl; 
                } 
                else 
                { 
                    y = s1 / b1;
                    cout << 4 << sp << y << endl; 
                } 
            }
            else if (b0 == 0 && b1 == 0) 
            { 
                if (b0 != 0) 
                { 
                    y = s0 / b0;
                    cout << 4 << sp << y << endl; 
                } 
                else 
                { 
                    y = s1 / b1;
                    cout << 4 << sp << y << endl; 
                }
            }
            else 
            {
                if (b0 == 0 && b1 == 0) 
                { 
                    if (a0 == 0) 
                    { 
                        x = s0 / a0;
                        cout << 3 << sp << x << endl; 
                    } 
                    else 
                    { 
                        x = s1 / a1;
                        cout << 3 << sp << x << endl; 
                    }
                }
                else
                {
                    if (b0 != 0) 
                    { 
                        x = s0 / b0;
                        y = -(a0 / b0);
                        cout << 1 << y << x << endl; 
                    }
                    else 
                    { 
                        x = s1 / b1;
                        y = -(a1 / b1);
                        cout << 1 << y << x << endl; 
                    }
                }
            }
        }
        else 
        { 
            cout << 0 << endl; 
        }
    }
    return 0;
}
Сравните свой код с моим Ваша ошибка именно в том, что Вы сами признали:
Цитата Сообщение от zerkalo Посмотреть сообщение
код(малочитабелен)
Добавлено через 4 минуты
Кстати, код, похоже, ищет решение системы линейных уравнений методом Крамера
1
8 / 7 / 6
Регистрация: 13.02.2016
Сообщений: 180
13.04.2020, 11:54  [ТС]
Да, код ищет решение системы уравнений основываясь на методе Крамера.

Большое спасибо! Извиняюсь за долгое отсутствие, уходил работать.

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

Впредь просто сразу писать его нормальным.

Добавлено через 6 минут
liv, а предпоследняя скобка перед ретурном не должна завершаться точкой с запятой, как конец оператора?
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12930 / 6798 / 1819
Регистрация: 18.10.2014
Сообщений: 17,198
13.04.2020, 18:17
Цитата Сообщение от zerkalo Посмотреть сообщение
а предпоследняя скобка перед ретурном не должна завершаться точкой с запятой, как конец оператора?
Фигурные скобки-границы блоков в С и С++ никогда не "завершаются точкой с запятой". Все точки с запятой которые там у вас напиханы после скобок - этот ненужное замусоривание кода.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.04.2020, 18:17
Помогаю со студенческими работами здесь

ошибка компиляции
имеем вот такую вещь: for(const AuraEffect* aurEff : m_effects) delete aurEff; подчеркивает красным : и ) при...

Ошибка компиляции
Перешел с питона на спп и когда решал дз на первой же задаче ошибка компиляции,в чем проблема? #include &lt;iostream&gt; using...

Ошибка компиляции
Объяснте пожалуйста молодому, че за ошибка компилирования и как ее исправить (списано с книги): Спасибо. #include &lt;iostream.h&gt; ...

Ошибка компиляции
Задание: Треугольник Паскаля Дано целое число N. Требуется найти и вывести N верхних строк треугольника Паскаля. Треугольник Паскаля...

Ошибка в компиляции
#include &lt;iostream&gt; using namespace std; int main() { int n; cin&gt;&gt;n; int photo; int w, h;


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru