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

N-мерные вектора - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ отдельный файл http://www.cyberforum.ru/cpp-beginners/thread359911.html
я сделал программу в форме на Microsoft Visual C++ 2005 Express Edition . но создал 2 класса и программа ругается ( Warning 1 The class Form1 can be designed, but is not the first class in the file....
C++ Перегруженная функция есть два задания. 1) - посчитать количество чисел в самой длинной возрастающей последовательности например, массив a={7, 2, 4, 48, 54, 1, 7, 4, 0}; 0 - конец массива. самая длинная возраст.... http://www.cyberforum.ru/cpp-beginners/thread359904.html
Примитивная графика (Dev-C++) C++
Здравствуйте. Есть консольная "Жизнь", хотелось бы сделать для неё хоть какую-нибудь графику. Думал использовать graphics.h, но все вокруг твердят, что это уже раритет и использовать её...
C++ Многопоточность, visual studia
//================================================================================================= #include <windows.h>...
C++ две задачки http://www.cyberforum.ru/cpp-beginners/thread359892.html
1. Дано целое число. Определить является ли оно четным. 2. Составьте программу, заменяющую меньшее из двух данных чисел модулем разности, а большее – модулем произведения этих чисел. ЗАРАНЕЕ...
C++ Ускорение алгоритма перебора Здравствуйте! В общем есть такая задачка: Имеются N(1 ≤ N ≤ 18) камней с массами W1, W2 , … WN. И, короче, нужно разложить камни на 2 кучки так, чтобы разница масс этих кучек была минимальной.... подробнее

Показать сообщение отдельно
Zheka91
4 / 4 / 1
Регистрация: 22.11.2010
Сообщений: 101

N-мерные вектора - C++

03.10.2011, 17:18. Просмотров 390. Ответов 1
Метки (Все метки)

неработает вывод и оператор = . помогите пожалуйста
main.cpp
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
#include "vector.h"
int main()
{
    int mas1[]={3,4,5,8,7,3,5}; vector<int>A(mas1,sizeof(mas1)/sizeof(mas1[0]));
    int mas2[]={4,1,8,2,8,9,5}; vector<int>B(mas2,sizeof(mas2)/sizeof(mas2[0]));
    vector<int>C;
    printf("A=");   A.output();     printf("\n");
    printf("--------------------------------\n");
    printf("B=");   B.output();     printf("\n");
    printf("--------------------------------\n");
    C=A+B;
    printf("A+B="); C.output();     printf("\n");
    printf("--------------------------------\n");
    C=A-B;
    printf("A-B="); C.output();     printf("\n");
    printf("--------------------------------\n");
    C=A*B;
    printf("A*B="); C.output();     printf("\n");
    printf("--------------------------------\n");
    C=A*5;
    printf("A*5="); C.output();     printf("\n");
    printf("--------------------------------\n");
    printf("|A|=%lf\n",A.modul());
    printf("--------------------------------\n");
    printf("|B|=%lf\n",B.modul());
    printf("--------------------------------\n");
    printf("|A|>|B|");  if(A>B)printf("true\n");    else printf("false\n");
    printf("--------------------------------\n");
    printf("|A|<|B|");  if(A<B)printf("true\n");    else printf("false\n");
    printf("--------------------------------\n");
    printf("|A|==|B|"); if(A==B)printf("true\n");   else printf("false\n");
    printf("--------------------------------\n");
    printf("|A|!=|B|"); if(A!=B)printf("true\n");   else printf("false\n");
    printf("--------------------------------\n");
    system("pause");
    return 0;
}
vector.h
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#pragma once
#include "iostream"
#include "stdio.h"
#include "math.h"
template<class T>
class vector
{
    int size;
    T *x;
public:
    vector():x(0),size(0){}
    vector(T *y, int s)
    {
        size=s;
        x=new T [size];
        for(int i=0;i<size;i++)
            x[i]=y[i];
    }
    void output();
    vector operator+(const vector &t);
    vector operator-(const vector &t);
    vector operator*(const vector &t);
    vector operator*(const int &t);
    double modul();
    vector&operator=(const vector &t)
    {
        size=t.size;
        for(int i=0; i<size; i++)
            x[i]=t.x[i];
        return *this;
    }
    bool operator>(vector &t);
    bool operator<(vector &t);
    bool operator==(vector &t);
    bool operator!=(vector &t);
};
 
template<class T>void vector<T>::output()
{
    for(int i=0; i<size; i++)
    {
        if (i==0)
            cout<<"("<<x[i];
        else if (i==size-1)
            cout<<x[i]<<")";
        else 
            cout<<x[i]<<",";
    }
}
template<class T>vector<T> vector<T>::operator+(const vector &t) 
{
    vector <T>temp;
    temp.x=new int[temp.size=size];
    for(int i=0; i<size; i++)
    {
        temp.x[i]=x[i]+t.x[i];
    }
    return temp;
}
template<class T>vector<T> vector<T>::operator-(const vector &t)
{
    vector <T>temp;
    temp.x=new int[temp.size=size];
    for(int i=0; i<size; i++)
    {
        temp.x[i]=x[i]-t.x[i];
    }
    return temp;
}
template<class T>vector<T> vector<T>::operator*(const vector &t)
{
    vector <T>temp;
    temp.x=new int[temp.size=size];
    for(int i=0; i<size; i++)
    {
        temp.x[i]=x[i]*t.x[i];
    }
    return temp;
}
template<class T>vector<T> vector<T>::operator*(const int &t)
{
    vector <T>temp;
    temp.x=new int[temp.size=size];
    for(int i=0; i<size; i++)
    {
        temp.x[i]=x[i]*t;
    }
    return temp;
}
template<class T>double vector<T>::modul()
{
    int temp=0;
    for(int i=0; i<size; i++)
    {
        temp+=x[i]*x[i];
    }
    return(sqrtl(temp));
}
template<class T>bool vector<T>::operator>(vector &t)
{
    if(this->modul()>t.modul())
        return true;
    else return false;
}
template<class T>bool vector<T>::operator<(vector &t)
{
    if(this->modul()<t.modul())
        return true;
    else return false;
}
template<class T>bool vector<T>::operator ==(vector &t)
{
    if (this->modul()== t.modul())
        return true;
    else return false;
}
template<class T>bool vector<T>::operator!=(vector &t)
{
    if (this->modul()!= t.modul())
        return true;
    else return false;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru