С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
milka_01
1

Программа на классы

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

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

Вот такие задачки задал препод, а я болела долго
Мальчики помогите красивой девушке))))))
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.03.2013, 21:47
Ответы с готовыми решениями:

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

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

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

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

5
4865 / 2664 / 913
Регистрация: 29.11.2010
Сообщений: 5,745
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. Тем более на форуме по С++. :D

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

Для начала этого будет достаточно.
0
4865 / 2664 / 913
Регистрация: 29.11.2010
Сообщений: 5,745
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
Антикодер
1887 / 869 / 48
Регистрация: 15.09.2012
Сообщений: 3,081
14.03.2013, 12:23 5

Не по теме:

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

Не по теме:


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

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



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

Не по теме:


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

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

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

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

Цитата Сообщение от XRuZzz Посмотреть сообщение
Вы можете привести пример как применить этот вектор на практике, чтоб он реально помог в жизни?
Нет, это чисто учебный пример. Слишком примитивно и медленно, чтобы работать в серьезных графических приложениях. Можно что-нибудь притянуть за уши, конечно, но это пустая трата времени.
0
15.03.2013, 00:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.03.2013, 00:17
Помогаю со студенческими работами здесь

программа для решения дифура используя методы и классы
Не мог бы кто нибудь помочь осуществить следующую задачу в делфи: &quot;решить дифференциальное...

Классы.После добавления 1 книги в каталог, программа сразу закрывается
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include&lt;stdlib.h&gt; using namespace...

ООП PHP->Объекты и классы->программа «включение/выключение лампочек»
Здравствуйте, ребят. Совсем запуталась с ООП. Помогите решить задачку. Есть объекты:...

Классы. Задана программа.Нужно ее изменить за место переменных должны быть указатели
Задана программа.Нужно ее изменить за место переменных должны быть указатели ии... #include...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru