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

Класс векторов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как ввести элементы одного массива в другой массив http://www.cyberforum.ru/cpp-beginners/thread1145873.html
Как ввести элементы одного массива в другой массив ? если можно код
C++ Односвязный список Здравствуйте уважаемые форумчане. Помогите пожалуйста с задачкой: В памяти хранится односвязный список. Вам дан указатель на первый элемент, определите, зациклен ли список? http://www.cyberforum.ru/cpp-beginners/thread1145869.html
Увеличить размерность массива C++
Короче такая проблема, есть массив с данными, нужно увеличить его размерность, вроде написал всё правильно, но выскакивает ошибка Debag error и тд, вот код, подскажите что я делаю нетак #include <iostream> using namespace std; int increase_int_array(int *get_array,int array_len) { if(array_len = 1) { //если длина массива= 1 значи он до этого был пустой и перезаписыать данные ненужно...
Генерирование файла на XML путем последовательного прибавления C++
Требуется создать игровой мир из сплошных плоскостей. Ввиду большого объема работы вручную, предположил что можно создать некий генератор, который исходя из заданной точки(заданной координатами на осях X=-8000 и Y=-8000)математическим путем вычислит новые координаты. Допустим есть начальная строка <object dimension="600" interior="0" model="8001" owner="World" posX="-8000" posY="-8000"...
C++ Перевести текст программы на С++ с С# http://www.cyberforum.ru/cpp-beginners/thread1145855.html
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace metodprogonki
C++ Коррекция ошибок в системе остаточных классов (СОК) Всем привет! Нужны алгоритмы коррекции ошибок в системе остаточных классов. Кто имел дело с данными алгоритмами, пожалуйста, поделитесь информацией, может есть книги, статьи, где описываются данные методы. Насколько я знаю, есть метод проекций, который позволяет обнаружить ошибку, определить разряд, в котором ошибка и исправить ее, метод коррекции ошибки путем перевода в обобщенную полиодическую... подробнее

Показать сообщение отдельно
xxxyx
0 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 8
11.04.2014, 23:47     Класс векторов
Ребята, помогите, не очень получается.
Есть класс 2D-векторов, в private их к-ты: x и y. Предусмотрен конструктор с двумя параметрами (декартовы координаты вектора x и у), метод show, для вывод к-т вектора на консоль и метод, который к вектору добавляет другой вектор, сохраняя результат в первом векторе.
Нужно написать программу случайного блуждания на плоскости. Для этого создаётся вектор, координаты которого будут координатами блуждающего объекта. За нулевые принимаются координаты начального положения. На каждой итерации блуждающий объект делает шаг постоянного размера и случайного направления (равномерно распределенного в интервале 0 – 360 (в градусах)). Реализовать это блуждание как сложение вектора блуждающего объекта со случайным вектором заданного размера.
Потом необходимо выполнить серию из N=30 экспериментов с шагом блуждания 1 м. В каждой серии определить число шагов, которое пришлось сделать, чтобы удалиться на 50 м от начального положения. Рассчитать среднее число шагов и стандартное отклонение.
Вот, что, пока получилось:
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
#include <iostream>
#include <cmath>
#include <cstdlib>
#include <ctime>
 
 
using namespace std;
 
class Vector
{
    double x;
    double y;
public:
    Vector(double, double);
    Vector();
    void show(); 
    Vector operator+(const Vector); 
};
Vector::Vector() 
{  
    x = 0.; 
    y = 0.; 
} 
 
Vector::Vector(double xx, double yy) 
{  
    x = xx; 
    y = yy; 
} 
 
void Vector::show() 
{ 
    cout << "x = "<< x  << ", y = " << y << endl; 
} 
 
Vector Vector :: operator+(const Vector v) 
{ 
    return Vector(x+v.x, y+v.y);
}
 
void main()
{
    setlocale(LC_ALL, "Russian");
    srand((unsigned)time(NULL));
    double fi, xx, yy;
    double mn;
    cin >> mn;
    Vector v1(0.0, 0.0);
    fi=(rand()%628)/100;
    for(int i=0; i<30; i++)
    {
        xx=i*mn*cos(fi);
        yy=i*mn*sin(fi);
        if (sqrt(xx*xx+yy*yy) >= 50) cout << "Число шагов:" << i;
        Vector bluzd(xx,yy);
        Vector rezult=bluzd+v1;
        rezult.show();  
    }
    system ("pause");
}
Прошу помочь
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru