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

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

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

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

13.03.2013, 21:47. Просмотров 805. Ответов 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++
Написать программу сложения двух произвольных чисел: #include <vcl.h> #include <iostream.h> #pragma hdrstop ...

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

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

классы - C++
Всем привет!!! Нужна помощь!!! Необходимо описать класс стеки!!! Заранее благодарна за помощь!!!!

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
2923 / 1352 / 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. Тем более на форуме по С++.

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

Для начала этого будет достаточно.
lemegeton
2923 / 1352 / 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;
};
XRuZzz
Антикодер
659 / 560 / 27
Регистрация: 15.09.2012
Сообщений: 2,511
14.03.2013, 12:23     Программа на классы #5

Не по теме:

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

Не по теме:


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

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



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

Не по теме:


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

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

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2013, 00:17     Программа на классы
Еще ссылки по теме:

Классы - C++
Не знаю как у вас по русски (*) и с классами надо сделать программу, которая будет обсчитывать pi(R+r)L+piR^2+pir^2=S В данной...

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

классы - C++
#include &lt;cstdlib&gt; #include &lt;iostream&gt; using namespace std; class BST { private : int **tree;

классы - C++
что значит : и :: A-основной класс B-производный класс B::B(int ch,char *str):A(ch) {} непонимаю зачем тут A(ch) без этого не...

классы с++ - C++
void operator=(vector rhs) {тут ничего нет} создал класс. перегрузил оператор кто объяснит, почему? --------------------------- ...

Классы в С++ - C++
Помогите пожалуста, я не знаю как реализовать(( не могу разобратся, может есть какой-то пример. Буду очень признательна 1....


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

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

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

Цитата Сообщение от XRuZzz Посмотреть сообщение
Вы можете привести пример как применить этот вектор на практике, чтоб он реально помог в жизни?
Нет, это чисто учебный пример. Слишком примитивно и медленно, чтобы работать в серьезных графических приложениях. Можно что-нибудь притянуть за уши, конечно, но это пустая трата времени.
Yandex
Объявления
15.03.2013, 00:17     Программа на классы
Ответ Создать тему
Опции темы

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