Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
AvengerAlive
5 / 5 / 1
Регистрация: 30.07.2011
Сообщений: 257
1

Классы

10.09.2011, 13:03. Просмотров 354. Ответов 6
Метки нет (Все метки)

Написал программу расстояние между двумя точками с использованием классов. Во втором хочу использовать элемент первого. Не работает. Как это сделать?
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
#include <iostream>
#include <cmath>
using namespace std;
 
class point // класс описывающий точку и вектор
{
 public:
  double x,y;
};
 
class vector
{
 public:
  point vec_coord(point a, point b)
   {
    point c;
    с.x=b.x-a.x;
    с.y=b.y-a.y;
    return c;
   }
  double distantion(point a, point b)
   {
    point c=vec_coord(a,b);
    return sqrt(c.x*c.x+c.y*c.y);
   }
};
 
int main()
{
 point a,b;
 vector res;
 cin >> a.x >> a.y >> b.x >> b.y;
 cout << res.distantion(a,b);
 return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.09.2011, 13:03
Ответы с готовыми решениями:

Непонятна тема (Классы содержащие другие классы, как данные члены )
Изучаю книгу Джесс Либерти(в частности эту главу в данный момент) #include &lt;iostream&gt; class...

Программа по классам, которая использует классы точек и прямых на плоскости, а, возможно, и другие классы
Нужно написать программу, которая использует классы точек и прямых на плоскости, а, возможно, и...

Наследование, базовые классы и производные классы
Добрый вечер.Задание: необходимо разработать поля и методы наследуемые из базового класса и...

Классы и наследование (Создать класс 3D фигура, и производные классы шар, конус, цилиндр и куб. Создать функцию вычисления объёма.)
Уважаевые, помогите написать прожку на экзамене: Создать класс 3D фигура, и производные классы...

Классы возможностей(Mixin классы)
Не могу понять смысла использования mixin классов( это класс в котором есть только методы и нет...

6
Nadinka______
1 / 1 / 0
Регистрация: 12.08.2011
Сообщений: 29
10.09.2011, 13:25 2
http://www.cyberguru.ru/programming/...ib-page12.html

Посмотри здесь
0
AvengerAlive
5 / 5 / 1
Регистрация: 30.07.2011
Сообщений: 257
10.09.2011, 13:28  [ТС] 3
А можно нагляднее этот код поменять, там боюсь ничего не пойму...
0
Nadinka______
1 / 1 / 0
Регистрация: 12.08.2011
Сообщений: 29
10.09.2011, 13:48 4
set.h

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
#include <set>          
#include <iostream>   
#include <windows.h>    
 
using namespace std;    
 
 
 
class stl_point
{
public:
    double x, y;    
    stl_point(double tx=0, double ty=0)
    {
        x = tx;
        y = ty;
    }
};
 
 
 
bool operator<(stl_point first, stl_point second)
{
    return first.x < second.x;
}
set.cpp

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
#include "set_test.h" 
 
set <stl_point> set_exact; 
 
int main(void)
{
    int x, y;
 
    while(1)
    {
        
 
        cout << "Abscissa: ";
        cin >> x;
        cout << "Ordinate: ";
        cin >> y;
 
        
 
 
        if(!set_exact.insert(stl_point(x, y)).second)
            cout << "not inserted" << endl << endl;
        else
            cout << "success" << endl << endl;
    }
    return 0;
}
Добавлено через 29 секунд
set.h

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
#include <set>          
#include <iostream>   
#include <windows.h>    
 
using namespace std;    
 
 
 
class stl_point
{
public:
    double x, y;    
    stl_point(double tx=0, double ty=0)
    {
        x = tx;
        y = ty;
    }
};
 
 
 
bool operator<(stl_point first, stl_point second)
{
    return first.x < second.x;
}
set.cpp

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
#include "set.h" 
 
set <stl_point> set_exact; 
 
int main(void)
{
    int x, y;
 
    while(1)
    {
        
 
        cout << "Abscissa: ";
        cin >> x;
        cout << "Ordinate: ";
        cin >> y;
 
        
 
 
        if(!set_exact.insert(stl_point(x, y)).second)
            cout << "not inserted" << endl << endl;
        else
            cout << "success" << endl << endl;
    }
    return 0;
}
0
Dani
1393 / 637 / 134
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
Завершенные тесты: 1
10.09.2011, 13:56 5
На acmp задачу на расстояние решал так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <fstream>
#include <math.h>
int main()
{
    double x1,y1,x2,y2,d;
    std:: ifstream ifs ("input.txt");
    ifs >> x1 >> y1 >> x2 >> y2;
    ifs.close();
    d=sqrt((y2-y1)*(y2-y1)+(x2-x1)*(x2-x1));
    std:: ofstream ofs ("output.txt");
    ofs << std::fixed << d;
    ofs.close();
    return 0;
}
0
TheAthlete
154 / 154 / 16
Регистрация: 31.08.2010
Сообщений: 539
10.09.2011, 13:58 6
Все вроде работает, только ошибка была, там в 17 и 18 строках символ 'c' был в русской расладке набран, подправленный вариант программы вот:

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
#include <iostream>
#include <cmath>
 
using std::cout;
using std::cin;
 
// структура описывающая точку
struct point {
  double x, y;
};
 
// класс описывающий вектор
class vector {
  public:
    point vec_coord(point a, point b) {
      c.x = b.x - a.x;
      c.y = b.y - a.y;
      return c;
    }
    double distantion(point a, point b) {
      c = vec_coord(a, b);
      return sqrt(c.x * c.x + c.y * c.y);
    }
  private:
    point c;
};
 
int main()
{
  point a, b;
  vector res;
  cin >> a.x >> a.y >> b.x >> b.y;
  cout << res.distantion(a, b);
  return 0;
}
0
AvengerAlive
5 / 5 / 1
Регистрация: 30.07.2011
Сообщений: 257
10.09.2011, 13:59  [ТС] 7
всем спасибо, оказывается всё у меня правильно, я просто транслит поменял вместо с написал с на русском, вот он и говорил что такого элемента не найдено...
0
10.09.2011, 13:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.09.2011, 13:59

Классы, включающие другие классы
Столкнулся вот с таким кодом: #include &lt;iostream&gt; class Point { public: void SetX(int x) ...

классы/дочерние классы/методы
помогите пожалуйста! надо что выводились только учебеники. чтоб былo через GetTip. h файл...

Динамические массивы структур;Классы. Класс массивы структур;Классы. Класс динамического массива структур.
Здраствуйте.Помогите с практичкой мое задание 4.3. Строка таблицы данных содержит следующую...


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

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

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