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

Задача про векторы (операции над ними и сортировка) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Блок-схема http://www.cyberforum.ru/cpp-beginners/thread1032524.html
Привет, форумчане! Помогите составить блок-схему? #include <iostream> #include <cstdlib> #include <ctime> using namespace std; int main () { int nSize, n, Max = 0, IndexMax, multi = 1;
C++ Составить блок-схему по коду #include "stdafx.h" #include <iostream> #include <ctime> #include <iomanip> using namespace std; int _tmain(int argc, _TCHAR* argv) { srand(time(0)); setlocale(LC_ALL,"RUS"); ... http://www.cyberforum.ru/cpp-beginners/thread1032512.html
C++ СПОСОБЫ ПРЕДСТАВЛЕНИЯ ФОРМУЛ ЛОГИКИ ВЫСКАЗЫВАНИЙ
Написать программу, которая осуществляет переход от КНФ к ДНФ
формулы алгебры логики C++
Написать программу, которая производит переход от табличного задания к СКНФ и СДНФ
C++ Создать массив из номеров элементов, не являющихся нулями http://www.cyberforum.ru/cpp-beginners/thread1032481.html
1. В одномерном целочисленном массиве есть нулевые элементы. Создать массив из номеров элементов, не являющихся нулями. {deleted} П.5.16.Правил Запрещено создавать темы с множеством вопросов во...
C++ простые Требуется найти колличество простых чисел до 10000. А потом определить является ли число этих чисел (звучит то как)))) простым. В чем ошибка? #include <cstdlib> #include <iostream> #include... подробнее

Показать сообщение отдельно
EdNaron
0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 18

Задача про векторы (операции над ними и сортировка) - C++

07.12.2013, 22:42. Просмотров 384. Ответов 0
Метки (Все метки)

Добрый вечер, подскажите пожалуйста реализацию на С++, мне как новичку трудно разобраться и понять как это решить. Задали задачу для курсовой:
Реализовать в виде класса набор подпрограмм для выполнения следующих операций над векторами:
1) сложение;
2) вычитание;
3) скалярное умножение векторов;
4) умножение вектора на число;
5) длина вектора.
Вектор представить следующим типом:
struct Vector {double X, Y;};
Используя этот класс, решить задачи:
1. Дан массив A — массив векторов. Отсортировать его в порядке убывания длин векторов.
2. С помощью датчика случайных чисел сгенерировать 2N целых чисел. N пар этих чисел задают N точек координатной плоскости. Вывести номера тройки точек, которые являются координатами вершин треугольника с наибольшим углом.

Моих знаний и справочной информации хватило лишь на написание операций над векторами:
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
#include <iostream>
#include <cmath>
struct Vector 
{
 double x, y;
}; 
struct Vector  slojenie(struct Vector* a, struct Vector* b) //struct Vector* a - параметром передается указатель
 {
    struct Vector res;
    res.x = a->x + b->x; //присваивает иксу из res суммы икса из а и икса из б
    res.y = a->y + b->y; //присваивает игреку из res суммы икса из а и икса из б
    return res;          //вывод результата
}
 
// вычитание векторов
struct Vector  vychitanie(struct Vector* a, struct Vector* b) 
{
    struct Vector res; 
    res.x = a->x - b->x; //присваивает иксу из res разности икса из а и икса из б
    res.y = a->y - b->y; //присваивает игреку из res разности икса из а и икса из б
    return res;
}
 
// скалярное произведение векторов 
struct Vector  scale(struct Vector* a, struct Vector* b) 
{
    struct Vector res;
    res.x = a->x * b->x;
    res.y = a->y * b->y;
    return res;
}
 
// умножение вектора на число
struct Vector  ymnojenie(struct Vector* a,int n) 
{
    struct Vector res;
    res.x = a->x * n;
    res.y = a->y * n;
    return res;
}
 
// длина вектора
double dlina(struct Vector*  vec) 
{
    double result = sqrt(pow(vec->x, 2) + pow(vec->y, 2));
    return result;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru