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

Ошибки в программе - C++

Восстановить пароль Регистрация
 
wazler
2 / 2 / 0
Регистрация: 04.12.2011
Сообщений: 119
20.10.2013, 18:29     Ошибки в программе #1
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>
#include <stdio.h>
 
 
using namespace std;
 
class pset
{ public:
  float x1,x2,x3,x4,y1,y2,y3,y4;
  void input() //ввод координат точек квадрата
  {
      cout <<"x1=";
      cin>>x1;
      cout<<"y1=";
      cin>>y1;
       cout <<"x2=";
      cin>>x2;
      cout<<"y2=";
      cin>>y2; 
      cout <<"x3=";
      cin>>x3;
      cout<<"y3=";
      cin>>y3; 
      cout <<"x4=";
      cin>>x4;
      cout<<"y4=";
      cin>>y4;
  }
  void output() //вывод на экран координат точек кварата
  {
      cout<<"("<<x1<<","<<y1 << ")";
      cout<<"("<<x2<<","<<y2 << ")";
      cout<<"("<<x3<<","<<y3 << ")";
      cout<<"("<<x4<<","<<y4 << ")";
  }
};
class kvadrat
{
public:
    pset A, B, C, D;
 
    void input()
    {
        cout << "Введите точки квадрата: " << endl;
        A.input();
        B.input();
        C.input();
        D.input();
    }
 
    void output()
    {
        cout << "[";
        A.input();
        B.input();
        C.input();
        D.input();
        cout << "]";
    }
 
    float S() // Вычисление площади квадрата
    {
        return A.x1*A.x1;
    }
};
void main()
{
    int N;
    kvadrat **A, **B, **C, **D;
    cout << "Введите количество квадратов" << endl;
    cin >> N;
    {
        A = new kvadrat *[N];
        B = new kvadrat *[N];
        C = new kvadrat *[N];
        D = new kvadrat *[N];
        for (int i = 0; i < N; i++)
    }
}
    int flag = 1; 
    kvadrat *A1, *B1, *C1, *D1;
    while (flag)
    {
        flag = 0;
        for (int i = 0; i<N - 1; i++)
        {
            if (A[i]->S()>A[i + 1]->S()) //если площадь одного квадрата больше другого квадрата,тогда меняем их местами
            {
                B = A[i];
                A[i] = A[i + 1];
                A[i + 1] = B;
                flag = 1;
            }
        }
        {
    for (int i = 0; i<N; i++)
    {
        A[i]->output();
        cout << "\n";
    }
    system("pause");
}
Миниатюры
Ошибки в программе  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2013, 18:29     Ошибки в программе
Посмотрите здесь:

Ошибки в программе C++
Ошибки в программе C++
C++ Ошибки в программе
Ошибки в программе C++
Ошибки в программе C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rpsv
15 / 46 / 3
Регистрация: 14.10.2013
Сообщений: 161
20.10.2013, 18:36     Ошибки в программе #2
wazler, вам визуалка русским языком написала!

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
//  На вход подается некоторое количество квадратов (координаты вершин). 
//    Отсортировать и вывести их по возрастанию площадей. 
//  При вводе проверять, что вводятся квадраты.
#include <iostream>
#include <stdio.h>
 
 
using namespace std;
 
class pset
{
    public:
    float x1,x2,x3,x4,y1,y2,y3,y4;
    void input() //ввод координат точек квадрата
    {
          cout <<"x1=";
          cin>>x1;
          cout<<"y1=";
          cin>>y1;
           cout <<"x2=";
          cin>>x2;
          cout<<"y2=";
          cin>>y2; 
          cout <<"x3=";
          cin>>x3;
          cout<<"y3=";
          cin>>y3; 
          cout <<"x4=";
          cin>>x4;
          cout<<"y4=";
          cin>>y4;
    }
    void output() //вывод на экран координат точек кварата
    {
          cout<<"("<<x1<<","<<y1 << ")";
          cout<<"("<<x2<<","<<y2 << ")";
          cout<<"("<<x3<<","<<y3 << ")";
          cout<<"("<<x4<<","<<y4 << ")";
    }
};
 
class kvadrat
{
public:
    pset A, B, C, D;
 
    void input()
    {
        cout << "Введите точки квадрата: " << endl;
        A.input();
        B.input();
        C.input();
        D.input();
    }
 
    void output()
    {
        cout << "[";
        A.input();
        B.input();
        C.input();
        D.input();
        cout << "]";
    }
 
    float S() // Вычисление площади квадрата
    {
        return A.x1*A.x1;
    }
};
 
void main()
{
    int N;
    kvadrat **A, **B, **C, **D;
    cout << "Введите количество квадратов" << endl;
    cin >> N;
    //
    // Что за скобка?
    //
    {
        A = new kvadrat *[N];
        B = new kvadrat *[N];
        C = new kvadrat *[N];
        D = new kvadrat *[N];
        //
        // Что за странный цикл без тела?
        //
        for (int i = 0; i < N; i++)
    }
//
// функция 'main' уже закончилась ?!
//
}
    int flag = 1; 
    kvadrat *A1, *B1, *C1, *D1;
    while (flag)
    {
        flag = 0;
        for (int i = 0; i<N - 1; i++)
        {
            if (A[i]->S()>A[i + 1]->S()) //если площадь одного квадрата больше другого квадрата,тогда меняем их местами
            {
                B = A[i];
                A[i] = A[i + 1];
                A[i + 1] = B;
                flag = 1;
            }
        }
        //
        // Что за скобка?
        //
        {
    for (int i = 0; i<N; i++)
    {
        A[i]->output();
        cout << "\n";
    }
    system("pause");
}

Комментарии ПЕРЕД (НАД) проблемной строкой...
wazler
2 / 2 / 0
Регистрация: 04.12.2011
Сообщений: 119
20.10.2013, 18:47  [ТС]     Ошибки в программе #3
Глупые ошибки, убрал их как Вы написали.
Теперь все так
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
//  На вход подается некоторое количество квадратов (координаты вершин). 
//    Отсортировать и вывести их по возрастанию площадей. 
//  При вводе проверять, что вводятся квадраты.
#include <iostream>
#include <stdio.h>
 
 
using namespace std;
 
class pset
{ public:
  float x1,x2,x3,x4,y1,y2,y3,y4;
  void input() //ввод координат точек квадрата
  {
      cout <<"x1=";
      cin>>x1;
      cout<<"y1=";
      cin>>y1;
       cout <<"x2=";
      cin>>x2;
      cout<<"y2=";
      cin>>y2; 
      cout <<"x3=";
      cin>>x3;
      cout<<"y3=";
      cin>>y3; 
      cout <<"x4=";
      cin>>x4;
      cout<<"y4=";
      cin>>y4;
  }
  void output() //вывод на экран координат точек кварата
  {
      cout<<"("<<x1<<","<<y1 << ")";
      cout<<"("<<x2<<","<<y2 << ")";
      cout<<"("<<x3<<","<<y3 << ")";
      cout<<"("<<x4<<","<<y4 << ")";
  }
};
class kvadrat
{
public:
    pset A, B, C, D;
 
    void input()
    {
        cout << "Введите точки квадрата: " << endl;
        A.input();
        B.input();
        C.input();
        D.input();
    }
 
    void output()
    {
        cout << "[";
        A.input();
        B.input();
        C.input();
        D.input();
        cout << "]";
    }
 
    float S() // Вычисление площади квадрата
    {
        return A.x1*A.x1;
    }
};
void main()
{
    int N;
    kvadrat **A;
    cout << "Введите количество квадратов" << endl;
    cin >> N;
    {
        A = new kvadrat *[N];
        for (int i = 0; i < N; i++)
    }
    int flag = 1;
    kvadrat *B;
    while (flag)
    {
        flag = 0;
        for (int i = 0; i<N - 1; i++)
        {
            if (A[i]->S()>A[i + 1]->S()) //если площадь одного квадрата больше другого квадрата,тогда меняем их местами
            {
                B = A[i];
                A[i] = A[i + 1];
                A[i + 1] = B;
                flag = 1;
            }
 
            {
                for (int i = 0; i < N; i++)
                {
                    A[i]->output();
                    cout << "\n";
                }
                system("pause");
            }
        }
    }
}
Ошибка 1 error C2143: синтаксическая ошибка: отсутствие ";" перед "}" d:\учеба\c++\бегунов\demo для любых программ\demo для любых программ\исходный код.cpp 78

Ошибка 2 IntelliSense: требуется оператор d:\УЧЕБА\C++\Бегунов\Demo для любых программ\Demo для любых программ\Исходный код.cpp 78
rpsv
15 / 46 / 3
Регистрация: 14.10.2013
Сообщений: 161
20.10.2013, 18:55     Ошибки в программе #4
wazler, да нет еще не все:

Ваш код (функция main):

C++
1
2
3
4
{
        A = new kvadrat *[N];
        for (int i = 0; i < N; i++)
}
Зачем тут фигурные скобки? Зачем цикл?

P.S. VS выделяет строки где проблема, так что их тоже указывайте пожалуйста)))
wazler
2 / 2 / 0
Регистрация: 04.12.2011
Сообщений: 119
20.10.2013, 19:50  [ТС]     Ошибки в программе #5
Цитата Сообщение от rpsv Посмотреть сообщение
wazler, да нет еще не все:

Ваш код (функция main):

C++
1
2
3
4
{
        A = new kvadrat *[N];
        for (int i = 0; i < N; i++)
}
Зачем тут фигурные скобки? Зачем цикл?

P.S. VS выделяет строки где проблема, так что их тоже указывайте пожалуйста)))
я хотел таким способом задать сколько буду вводить квадратов
Fareiro
15 / 15 / 1
Регистрация: 06.12.2012
Сообщений: 130
20.10.2013, 20:10     Ошибки в программе #6
del.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2013, 22:55     Ошибки в программе
Еще ссылки по теме:

C++ Ошибки в программе
C++ Ошибки в программе
C++ Ошибки в программе

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

Или воспользуйтесь поиском по форуму:
rpsv
15 / 46 / 3
Регистрация: 14.10.2013
Сообщений: 161
20.10.2013, 22:55     Ошибки в программе #7
Цитата Сообщение от wazler Посмотреть сообщение
я хотел таким способом задать сколько буду вводить квадратов
не понял немного, а что такое N тогда?

C++
1
2
3
4
5
6
7
8
{
    for (int i = 0; i < N; i++)
    {
        A[i]->output();
        cout << "\n";
    }
    system("pause");
}
Тоже не понятно зачем скобки тут...
Yandex
Объявления
20.10.2013, 22:55     Ошибки в программе
Ответ Создать тему
Опции темы

Текущее время: 10:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru