Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2012, 15:54   #1
syrga
Пользователь
 
Регистрация: 05.12.2010
Сообщений: 14
Вопрос класс vector

помогите найти ошибку, пожалуйста.
условие:Разработать класс Vector – геометрический вектор произвольной размерности(размерность задается в конструкторе вектора). Реализовать метод доступа к элементам вектора. Реализовать операции сложения, вычитания и скалярного произведения векторов, а также нахождение модуля вектора.

Код HTML:
//============================================================================
// Name        : lab1.cpp
// Author      : Shamsheev
// Version     : variant 1
// Description : Vector
// Разработать класс Vector – геометрический вектор произвольной размерности
// (размерность задается в конструкторе вектора). Реализовать метод доступа
// к элементам вектора. Реализовать операции сложения, вычитания и скалярного
// произведения векторов, а также нахождение модуля вектора.
//============================================================================

#include <iostream>
#include "Vector.h"
//#include "Matrix.h"
// импорт стандартной библиотеки ввода вывода и нашего класса вектор

using namespace std;
// используется для сокращения ввода команд, чтобы не писать префикс std::

int main() {
	cout << "_________Lab1________" << endl;

	Vector v(3);
	//Вызываем конструктор Vector(int length);
	int a[3] = { 1, 2, 3 };
	//Создаем массив и вбиваем в него элементы вектора
	v.setArray(a);
	//Устанавливаем значения вектора
	cout << "V:\t" << v << endl;
	//Выводим вектор (вызывается friend std::ostream & operator<<(...))
	Vector w(3);
	//Вызываем конструктор Vector(int length);
	int b[3] = { 2, 3, 4 };
	//Создаем массив и вбиваем в него элементы вектора
	w.setArray(b);
	//Устанавливаем значения вектора
	cout << "W:\t" << w << endl;
	//Выводим вектор (вызывается friend std::ostream & operator<<(...))

	cout << "Mod W:\t" << w.mod() << endl;
	// операция взятия модуля

	w = w + v;

	cout << "w=w+v:\t" << w << endl;

	cout << "(w*v):\t" << w * v << endl;
	// перегруженный бинарный оператор - скалярное умножение
	// так же при подсчете значения выражения неявно вызывается
	// конструктор копирования при присваивание и дружетвенная функция вывода
	cout << "v+w:\t" << v + w << endl;
	// перегруженный бинарный оператор - сумма
	cout << "v-w:\t" << v - w << endl;
	// перегруженный бинарный оператор - разность


	if (v == w) {
		cout << "v==w\t" << v << "==" << w << endl;
	} else {
		cout << "v!=w\t" << v << "!=" << w << endl;
	}
	w.setArray(a);
	if (v == w) {
		cout << "v==w\t" << v << "==" << w << endl;
	} else {
		cout << "v!=w\t" << v << "!=" << w << endl;
	}

	// изменение длинны, все лишние элементы отрезаем, недостающие забиваем нулями
	v.setLenght(5);
	cout << "v(5):\t" << v << endl;


	cout << "_________Lab2________" << endl;

	Matrix m(2);
	Matrix f(2);
	Vector n[2] = { Vector(2), Vector(2) };
	int p[2] = { 1, 2 };
	int r[2] = { 1, 5 };
	int q[2] = { 2, 2 };
	n[0].setArray(p);
	n[1].setArray(r);

	m.setM(n);
	cout << "m:\t" << m << endl;
	n[1].setArray(q);
	f.setM(n);
	cout << "f:\t" << f << endl;
	if (m == f) {
		cout << "m==f:\t" << m << "==" << f << endl;
	} else {
		cout << "m!=f:\t" << m << "!=" << f << endl;
	}

	m.setM(n);
	if (m != f) {
		cout << "m!=f:\t" << m << "!=" << f << endl;
	} else {
		cout << "m==f:\t" << m << "==" << f << endl;
	}

	return 0;
}
syrga вне форума Ответить с цитированием
Старый 11.04.2012, 17:35   #2
LiuLiuJons
Форумчанин
 
Регистрация: 28.12.2011
Сообщений: 124
По умолчанию

Цитата:
Сообщение от syrga Посмотреть сообщение
помогите найти ошибку, пожалуйста.
Вы не сказали, что за ошибка. Да и чтобы помочь вам надо видеть этот самый класс Vector.
"Думай не о задаче, а о решении" (с)
LiuLiuJons вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Класс запускает поток, который заполняет этот класс. Обмен класс <=> поток. Человек_Борща Общие вопросы Delphi 8 27.02.2012 23:24
Класс vector и сложносоставные массивы. вопрос к спецам в STL haruhi Общие вопросы C/C++ 1 19.11.2011 16:32
Класс Vector, .... Lucky777 Помощь студентам 5 05.06.2011 02:13
класс Vector fclmhooligan Общие вопросы по Java, Java SE, Kotlin 3 05.04.2011 02:40
vector, list или multimap. Помогите, пожалуйста, класс выбрать! Pahan Общие вопросы C/C++ 0 13.12.2009 12:54