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

Движение точки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать рекурсивную функцию вычисления сочетания n то k http://www.cyberforum.ru/cpp-beginners/thread131481.html
Вот проблемка Написать рекурсивную функцию вычисления сочетания n то k.
C++ Сумма чисел Дано натуральное число N. Вставить между некоторыми цифрами 1,2,3,4,5,6,7,8,9, записанными именно в таком порядке, знаки "+" и "-" так, чтобы значением получившегося выражения было число N. Например, если N=122, то подойдёт следущая расстановка знаков: 12+34-5-6+78+9. Помогите пожайлуста с кодом. http://www.cyberforum.ru/cpp-beginners/thread131465.html
Ссылки и адреса C++
Вот, где лучше всего использовать адреса и ссылки? Просто не много не понятня для чего это все. Вот например эту запись int mas; int* pmas=&mas Чесно говоря, даже не понятно всего удобства. Зачем делать переменную *pmas если при обращении к ней или присваивании ей значения автоматически оно присваивается и mas... Буду благодарен за помощь.
Перевод кода из Паскаля в С++ C++
Я в С++ не бум бум, написал прогу на паскале а нуно на Си++ помогите перевести Задача : Назовем допустимым преобразованием матрицы перестановку двух строк или двух столбцов. Дана действительная квадратная матрица порядка n. С помощью допустимых преобразований добиться того, чтобы один из элементов матрицы обладающий наибольшим по модулю значением, располагался в левом верхнем углу матрицы....
C++ Последовательность фибоначи http://www.cyberforum.ru/cpp-beginners/thread131436.html
Дан фаил f компоненты u0,u1,....un которого являются последовательными числами Фибоначчи, получить в фаиле f последовательные числа Фибоначчи u0,u1,....u n+1(тобиж u эное +1) сама последовательность Фибоначчи - u0=0; u1=1; ui=u i-1 + ui-2 (i=2,3...) помогите с этой последовательностью я ни как не могу сделать эту прогу а через 2 дня ее сдавать! Пожалуйста люди помогите! заранее вам...
C++ Округление числа Люди добрые подскажите как числа в си округлить?Подчеркиваю - НЕ целую часть. Добавлено через 9 минут Разобрался!! подробнее

Показать сообщение отдельно
lemegeton
2918 / 1347 / 134
Регистрация: 29.11.2010
Сообщений: 2,721
01.04.2013, 18:36     Движение точки
Ну вы загнули. Фиг разогнешь. Ларчик, между тем, открывается просто, через подобные треугольники.

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
#include <iostream>
#include <iomanip>
#include <string>
#include <ctime>
#include <cstdlib>
#include <cmath>
 
struct Point {
  double x, y;
  // это, конечно, моветон, но для примера сойдет.
  Point() : x(rand() % 20), y(rand() % 20) {}
  Point(const double &x, const double &y) : x(x), y(y) {}
  double getDistanceTo(const Point &a) {
    return sqrt(pow(x - a.x, 2) + pow(y - a.y, 2));
  }
  Point advanceTowards(const Point &a, double amount) {
    double distance = getDistanceTo(a);
    return Point(x + (amount * (a.x - x)) / distance,
      y + (amount * (a.y - y)) / distance);
  }
};
 
std::ostream &operator<<(std::ostream &stream, const Point &p) {
  return stream << std::fixed << std::setprecision(4) << 
    "[" << std::setw(7) << p.x << ", " << std::setw(7) << p.y << "]";
}
 
int main(int argc, char *argv[]) {
  srand(time(0));
 
  const size_t numberOfPoints = 10;
  Point points[numberOfPoints];
  Point point;
  double step = (rand() % 10 + 1) / 10.;
 
  for (size_t i = 0; i < numberOfPoints; ++i) {
    while (point.getDistanceTo(points[i]) >= step) {
      std::cout << point << " -> " << points[i] << ", step = " <<
        step << std::endl;
      point = point.advanceTowards(points[i], step);
    }
    point = points[i];
    std::cout << "Point has come to " << points[i] << std::endl;
  }
 
  std::cin.get();
  return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru