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

классы объектов - C++

Восстановить пароль Регистрация
 
fkty
1 / 1 / 0
Регистрация: 06.01.2013
Сообщений: 265
24.09.2013, 15:12     классы объектов #1
На вход подается некоторое количество окружностей(координаты центра и радиус).Отсортировать и вывести их по возрастанию площадей.(на языке С++)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2013, 15:12     классы объектов
Посмотрите здесь:

C++ Разработать классы для описанных ниже объектов. Включить в класс методы set (…), get (…), show (…). Определить другие методы
Разработать классы для данных объектов C++
C++ Классы. Создать массив объектов. Student
Задача (разъяснение) в алгоритм (программа, используя базовый и производный классы, создавала массив объектов типа производного класса) C++
C++ Изучаю классы объектов, ошибок куча, работаю над квадратами, выручайте
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rivory
146 / 112 / 2
Регистрация: 15.01.2013
Сообщений: 266
24.09.2013, 15:33     классы объектов #2
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
#include <iostream>
#include <vector>
#include <algorithm>
#define PI 3.1415926
//---------------------------------------------------------------------------
 
class Circle
{
    private:
        double X;
        double Y;
        double R;
    public:
        Circle(double x, double y, double r)
        {
            X=x; Y=y; R=r;
        }
        ~Circle(){;}
        double area() {return PI*R*R;}
        void print() {std::cout << "(" << X << ", " << Y << ", " << R << ");" << std::endl;}
};
 
bool areasort(Circle c1, Circle c2)
{
    return c1.area() < c2.area();
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    double x, y, r;
    int n;
    std::vector<Circle> v;
    std::cout << "Enter number of circles: ";
    std::cin >> n;
    for(int i = 0; i < n; ++i)
    {
        std::cout << "Enter x: ";
        std::cin >> x;
        std::cout << "Enter y: ";
        std::cin >> y;
        std::cout << "Enter r: ";
        std::cin >> r;
        v.push_back(Circle(x, y, r));
    }
    std::sort(v.begin(), v.end(), areasort);
    for(std::vector<Circle>::iterator it = v.begin(); it != v.end(); ++it)
    {
        it->print();
    }
    system("pause");
    return 0;
}
fkty
1 / 1 / 0
Регистрация: 06.01.2013
Сообщений: 265
24.09.2013, 15:39  [ТС]     классы объектов #3
Rivory, error C2061: синтаксическая ошибка: идентификатор "_TCHAR"
Rivory
146 / 112 / 2
Регистрация: 15.01.2013
Сообщений: 266
24.09.2013, 15:43     классы объектов #4
Цитата Сообщение от fkty Посмотреть сообщение
Rivory, error C2061: синтаксическая ошибка: идентификатор "_TCHAR"
C++
1
int main(int argc, char* argv[])
fkty
1 / 1 / 0
Регистрация: 06.01.2013
Сообщений: 265
24.09.2013, 15:49  [ТС]     классы объектов #5
Rivory, спасибо,если будут вопросы по коду,можно ли их вам задавать?
Rivory
146 / 112 / 2
Регистрация: 15.01.2013
Сообщений: 266
24.09.2013, 15:55     классы объектов #6
Цитата Сообщение от fkty Посмотреть сообщение
Rivory, спасибо,если будут вопросы по коду,можно ли их вам задавать?
Задавайте. Только я сейчас наверное домой поеду потихоньку. Это часа на 1.5 - 2.
fkty
1 / 1 / 0
Регистрация: 06.01.2013
Сообщений: 265
24.09.2013, 16:03  [ТС]     классы объектов #7
Rivory, а как вывести посчитанные площади на экран,где?
Rivory
146 / 112 / 2
Регистрация: 15.01.2013
Сообщений: 266
24.09.2013, 16:11     классы объектов #8
Цитата Сообщение от fkty Посмотреть сообщение
Rivory, а как вывести посчитанные площади на экран,где?
В методе print добавь, чтобы он выводил не только координаты и радиус, но и this->area();
fkty
1 / 1 / 0
Регистрация: 06.01.2013
Сообщений: 265
24.09.2013, 16:39  [ТС]     классы объектов #9
Rivory, так? void print() {std::cout << "(" << X << ", " << Y << ", " << R <<",площадь равна="<< this->area()<<");" << std::endl;}
Rivory
146 / 112 / 2
Регистрация: 15.01.2013
Сообщений: 266
24.09.2013, 17:21     классы объектов #10
Ну да, примерно так. А что, не получается?
fkty
1 / 1 / 0
Регистрация: 06.01.2013
Сообщений: 265
24.09.2013, 17:23  [ТС]     классы объектов #11
Rivory, получается,спасибо
fkty
1 / 1 / 0
Регистрация: 06.01.2013
Сообщений: 265
26.09.2013, 20:44  [ТС]     классы объектов #12
требуется что-то попроще,вот так,но выдает кучу ошибок...
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
#include <iostream>
#include <stdio.h>
#define PI 3.1415926
 
using namespace std;
 
class pset
{ public:
  float x,y,r;
  void input()
  {
      cout <<"x=";
      cin>>x;
      cout<<"y=";
      cin>>y;
      cout<<"r=";
      cin>>r;
  }
  void output()
  {
      cout<<"("<<x<<","<<y<<","<<r<<")";
  }
};
class okr
{ public:
pset A;
void input()
{
    cout<<"введите центр окружности и радиус";
    A.input();
}
void output()
{
    cout<<"("A.output()")";
}
float S()
{
    return PI*r*r;
}
};
void main()
{okr N;
    okr **A;
    cout<<"введите количество окружностей";
    cin>>N;
    A=new okr *[N];
    for(int i=0;i<N;i++)
    {
        A[i]=new okr;
    A[i]->input();
    }
int flag=1; okr *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";
    }
}
Добавлено через 1 час 32 минуты
выдает вот такие ошибки:Ошибка 1 error C2065: r: необъявленный идентификатор
,Ошибка 3 error C2228: выражение слева от ".S" должно представлять класс, структуру или объединение
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.09.2013, 18:48     классы объектов
Еще ссылки по теме:

C++ Разработать классы для описанных ниже объектов
Классы, разобраться с объявлением объектов C++

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

Или воспользуйтесь поиском по форуму:
fkty
1 / 1 / 0
Регистрация: 06.01.2013
Сообщений: 265
28.09.2013, 18:48  [ТС]     классы объектов #13
как нужно исправить эту ошибку:выражение слева от ".S" должно представлять класс, структуру или объединение
(это в строчке
if(A[i].S()>A[i+1].S()))
Yandex
Объявления
28.09.2013, 18:48     классы объектов
Ответ Создать тему
Опции темы

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