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

Разъяснение по коду - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Массивы. Отобразить матрицу симметрично относительно главной диагонали http://www.cyberforum.ru/cpp-beginners/thread834227.html
2)Инициализацию матрицы, ее вывод на экран и «основное действие» программы реализовать в виде функции (т.е. как минимум три функции) Заполнить матрицу случайными числами. Отобразить матрицу симметрично относительно главной диагонали ребят плиз помогите, вроде разбираюсь, но что то упустил и щас какая то фигня с инфой( помогите, пожалуйста, с объяснениями! Добавлено через 9 минут...
C++ Дано натуральное число n, определяющее возраст человека в годах Дано натуральное число n, определяющее возраст человека в годах. Для этого числа дать наименование «год», «года» или «лет». Вывести на экран сообщение вида: «Возраст человека n лет (год, года)» Нужно консольное приложение. с использованием switch. scanf, printf http://www.cyberforum.ru/cpp-beginners/thread834208.html
Найдите ошибку "Матрицы" C++
Нужно найти матрицу обратную. У меня функция которая переводит в обратную не правильно считает, помогите найти ошибку и исправить) Буду очень благодарен:rose: #include "stdafx.h" #include <iostream> #include <cstdlib> using namespace std; void Input(double ** array, int size) {
C++ Определить количество слов текста, в которых первый и последний символы совпадают
Написать программу, которая: • Выводит текст на экран дисплея; • По нажатию произвольной клавиши поочередно выделяет каждое из слов текста, в которых первый и последний символы совпадают; • Определяет количество слов текста, в которых первый и последний символы совпадают. Вот то написал, а дальше как не знаю помогите доделать =) Она считает только кол-во символов. #include <stdio.h>...
C++ STL подсчет одинаковых парных элементов http://www.cyberforum.ru/cpp-beginners/thread834193.html
Доброго времени суток, есть задание, подсчитать кол-во одинаковых парных элементов, я выполнил задание... #include <iostream> #include <functional> #include <algorithm> #include <time.h> #include <cstdlib> #include <iterator> #include <vector> using namespace std;
C++ Функции в классах Как правильно написать функцию нахождения среднего количества людей на заседаниях и функцию минимального количества людей на заседаниях. чтото не пойму как их делать :( // workOP.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <iostream> #include <conio.h> #include <iomanip> #include <string> using namespace std; подробнее

Показать сообщение отдельно
ensaid
3 / 3 / 0
Регистрация: 06.11.2012
Сообщений: 62
11.04.2013, 00:10     Разъяснение по коду
Здравствуйте уважаемые киберфорумцы!

Имеется вот такой код программы

осторожно коды
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;
};


Дело в том, что я понятия не имею, что означает большая часть программы, примерно около 80%, т.к. пока сильно не хватает знаний, нашел программу здесь же на киберфоруме.
Может ли кто-то объяснить мне эту программу практически построчно? т.е. к кажой строке кода написать краткий комментарий, что она делает?

За мной не заржавеет.
Может, кто-то помочь?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru