Войти

Показать полную графическую версию : Класс “ вектор в n-мерном пространстве”


.::.DIMA.::.
26-01-2009, 01:55
Решено

pva
26-01-2009, 07:35
используй шаблон valarray, там уже всё определено. А если хочешь добавить методы - сделай производный от него класс или класс-контейнер.

#include <valarray>
#include <iterator>
#include <iostream>
using namespace std;

template <typename X>
ostream& operator<<(ostream& os, const valarray<X>& va)
{
copy(&va[0], &va[va.size()], ostream_iterator<X>(os,"\t"));
retrun os;
}

int main()
{
valarray<double> a(1., 5); // 5-мерный вектор из единичек

static const double b_data = {1., 2., 3., 4., 5.};
valarray<double> b(b_data, 5); // 5-мерный вектор {1,2,3,4,5}

cout << a << "\n"
<< b << "\n"
<< (a*2. + b*3.) << "\n"
<< (a*b) << "\n";

a+=b;
}

пост предназначен для тех, кому _действительно_ необходимо реализовать вектор, а не лабу сделать

pva
27-01-2009, 07:40
зайди в папку с заголовочными файлами твоего компилятора и сделай поиск по тексту valarray. Там и найдёшь исходники (шаблоны всегда в исходниках). Скорее всего файл называется *valarray*.*




© OSzone.net 2001-2012