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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
milka_01
Сообщений: n/a
#1

Программа на классы - C++

13.03.2013, 21:47. Просмотров 820. Ответов 5
Метки нет (Все метки)

Мальчики, помогите пожалуйста решить задачку)))
Класс - вектор, члены класса - 3 прямоугольные декартовые координаты, методы - конструктор, метод вывода вектора - конструктор, метод вывода вектора, операции перезагрузки - сложение (+), скалярное () и векторное (*) прозведения векторов, проверка коллинеарности (||) 2-х векторов.
Исходные данные - а={ax,ay,az} b={bx,by, bz}
Результаты c=(a+a)*b; d=ab; проверить на коллинеарность вектора a и b.

Вот такие задачки задал препод, а я болела долго
Мальчики помогите красивой девушке))))))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2013, 21:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа на классы (C++):

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

Программа в С++.Классы - C++
Есть программа для решения линейных уравнений методом неполной релаксации,но не использованы классы.Помогите пожалуйста использовать классы...

Классы программа - C++
Массив должен содержать сведения о книгах. Каждая запись должна иметь следующие поля: автор (авторы), название, год издания, цена и...

Классы (программа сложения двух произвольных чисел) - C++
Написать программу сложения двух произвольных чисел: #include <vcl.h> #include <iostream.h> #pragma hdrstop ...

Классы. Задана программа.Нужно ее изменить за место переменных должны быть указатели - C++
Задана программа.Нужно ее изменить за место переменных должны быть указатели ии... #include <iostream> using namespace std; ...

Задача (разъяснение) в алгоритм (программа, используя базовый и производный классы, создавала массив объектов типа производного класса) - C++
Задача на наследование классов, базовый класс - "люди", производный - "студенты"...как я понял, а базовом надо создать символьную матрицу в...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
lemegeton
2924 / 1353 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
14.03.2013, 08:39 #2
Цитата Сообщение от milka_01 Посмотреть сообщение
Класс - вектор
Тут понятно.

Цитата Сообщение от milka_01 Посмотреть сообщение
члены класса - 3 прямоугольные декартовые координаты
А вот тут полный бред.
Членами класса могут быть методы, переменные, перечисления и т.п. но не прямоугольная декартовая координата.
Кстати, что такое эта "прямоугольная декартовая координата"? Я очень давно учился в школе, у нас такого еще не было. Ну да ладно, предположим, что это декартова координата точки в пространстве. Тогда вопрос -- зачем их три штуки для вектора? Математику вы тоже проболели?

Цитата Сообщение от milka_01 Посмотреть сообщение
метод вывода вектора - конструктор
Конструктор, выводящий класс... Бред.

Цитата Сообщение от milka_01 Посмотреть сообщение
Исходные данные - а={ax,ay,az} b={bx,by, bz}
Отличные исходные данные. Сможете рассказать, что такое ax, ay и az?

Цитата Сообщение от milka_01 Посмотреть сообщение
скалярное ()
В скобочках как-то пусто. Какую операцию желаете принять за скалярное произведение векторов?

Остается предположить, что вы вообще не понимаете о чем пишите. Тогда по звону в ушах и хрустальному шару можно предположить в сухом остатке, что вам нужен некий класс, описывающий вектор в пространстве, способ его вывода на экран, а так же операции произведения, как скалярного, так и векторного, сложения векторов и проверка коллинеарности двух векторов. А так же пример работы этого класса с использованием вышеперечисленных методов.

Правильно я говорю?

Не по теме:

Цитата Сообщение от milka_01 Посмотреть сообщение
Мальчики помогите красивой девушке))))))
Ложь тут неуместна. There are no girls on the Internet. Тем более на форуме по С++.

0
XRuZzz
Антикодер
676 / 577 / 28
Регистрация: 15.09.2012
Сообщений: 2,523
14.03.2013, 09:10 #3
так создайте класс для начала с тремя координатами x, y, z. Все они должны быть в секции private. Добавьте public методы для чтения и установки каждой координаты например setX, getX.

Для начала этого будет достаточно.
0
lemegeton
2924 / 1353 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
14.03.2013, 09:26 #4

Не по теме:

Цитата Сообщение от XRuZzz Посмотреть сообщение
так создайте класс для начала с тремя координатами x, y, z. Все они должны быть в секции private. Добавьте public методы для чтения и установки каждой координаты например setX, getX.
Для начала этого будет достаточно.
ТС же не за знанием пришел, а за готовым ответом, который можно даже не думать.
И вот он:



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
#include <cmath>
#include <iostream>
#include <iomanip>
 
const double EPSILON = 0.00001;
 
class Vector {
 public:
  Vector() : x(0), y(0), z(0), length(0) {}
  Vector(const double &x, const double &y, const double &z)
    : x(x), y(y), z(z), length(0) {
    length = sqrt(x * x + y * y + z * z);
  }
  const double &getX() const { return x; }
  const double &getY() const { return y; }
  const double &getZ() const { return z; }
  const double &getLength() const { return length; }
  Vector getNormalized() const {
    return Vector(x / length, y / length, z / length);
  }
  bool isZero() const {
    return getX() < EPSILON && getY() < EPSILON && getZ() < EPSILON;
  }
 private:
  double x, y, z;
  double length;
};
 
std::ostream &operator<<(std::ostream &stream, const Vector &vector) {
  return stream << std::fixed << std::setprecision(4) << "[" <<
    vector.getX() << ";" << vector.getY() << ";" <<
    vector.getZ() << "]";
};
 
bool operator==(const Vector &a, const Vector &b) {
  return (fabs(a.getX() - b.getX()) < EPSILON ) &&
    (fabs(a.getY() - b.getY()) < EPSILON ) &&
    (fabs(a.getZ() - b.getZ()) < EPSILON );
};
 
Vector operator+(const Vector &a, const Vector &b) {
  return Vector(a.getX() + b.getX(), a.getY() + b.getY(),
    a.getZ() + b.getZ());
}
 
Vector operator-(const Vector &a) {
  return Vector(-a.getX(), -a.getY(), -a.getZ());
}
 
Vector operator-(const Vector &a, const Vector &b) {
  return Vector(a.getX() - b.getX(), a.getY() - b.getY(),
    a.getZ() - b.getZ());
}
 
double operator%(const Vector &a, const Vector &b) {
  return a.getX() * b.getX() + a.getY() * b.getY() + a.getZ() * b.getZ();
}
 
Vector operator*(const Vector &a, const Vector &b) {
  return Vector(a.getY() * b.getZ() - a.getZ() * b.getY(),
    a.getZ() * b.getX() - a.getX() * b.getZ(),
    a.getX() * b.getY() - a.getY() * b.getX());
}
 
bool operator||(const Vector &a, const Vector &b) {
  return a.isZero() || b.isZero() || (a * b).isZero() ||
    (fabs(a.getX() / b.getX() - a.getY() / b.getY()) < EPSILON &&
    fabs(a.getY() / b.getY() - a.getZ() / b.getZ()) < EPSILON);
};
 
int main(int argc, char **argv) {
  Vector a(2, 3, 1), b(0, -1, 5), c(4, 6, 2);
  std::cout << "(" << a << " + " << b << ") x " << c << " = " <<
    ((a + b) * c) << std::endl;
  std::cout << "(" << a << " + " << b << ") * " << c << " = " <<
    ((a + b) % c) << std::endl;
  std::cout << a << " * " << b << " = " <<
    (a % b) << std::endl;
  std::cout << a << " is " << ((a || b) ? "" : "not ") <<
    "collinear to " << b << std::endl;
  std::cout << a << " is " << ((a || c) ? "" : "not ") <<
    "collinear to " << c << std::endl;
  return 0;
};
0
XRuZzz
Антикодер
676 / 577 / 28
Регистрация: 15.09.2012
Сообщений: 2,523
14.03.2013, 12:23 #5

Не по теме:

Цитата Сообщение от lemegeton Посмотреть сообщение

Не по теме:


ТС же не за знанием пришел, а за готовым ответом, который можно даже не думать.
И вот он:

давать готовые решения бессмысленно. оно нечем не поможет. правда для вас может быть полезным порешать задачки.



Добавлено через 6 минут

Не по теме:


если ещё порассуждать, то, чтобы заинтересовать, нужно объяснять студентам, как это можно использовать на практике или в жизни.

Вы можете привести пример как применить этот вектор на практике, чтоб он реально помог в жизни?

1
lemegeton
2924 / 1353 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
15.03.2013, 00:17 #6
Цитата Сообщение от XRuZzz Посмотреть сообщение
давать готовые решения бессмысленно. оно нечем не поможет. правда для вас может быть полезным порешать задачки.
Ну не скажите. Смысл есть. Главные задачи решены -- ТС получил искомое, я потешил самолюбие, попрактиковался в решении примитивных задач и поднял самооценку за счет ТС. Все в плюсе. Особенно я.

Цитата Сообщение от XRuZzz Посмотреть сообщение
чтобы заинтересовать
Вот в этом уже смысла мало. Была бы хоть искорка, хоть намек на интерес... Но их в просто нет. ТС не ставит целью что-то понять, он просит решить за него задачку. Какой смысл пытаться заинтересовать человека, которому априори интересно? Оставим лучше этот идеализм подросткам.

Цитата Сообщение от XRuZzz Посмотреть сообщение
Вы можете привести пример как применить этот вектор на практике, чтоб он реально помог в жизни?
Нет, это чисто учебный пример. Слишком примитивно и медленно, чтобы работать в серьезных графических приложениях. Можно что-нибудь притянуть за уши, конечно, но это пустая трата времени.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2013, 00:17
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.03.2013, 00:17
Ответ Создать тему
Опции темы

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