→ Для вступления в общество новичков и профессионалов программирования, пожалуйста нажмите здесь ...

Форум программистов: C++, Basic, Delphi, Pascal, JavaScript
Логин: Пароль:
Запомнить?  
@Mail.ru



Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Написать программу класс Вектор на С++ 
Автор Сообщение
Начинающий

Регистрация: 28.11.2010
Сообщения: 1

Репутация: 0 [ ? ]
Сообщение Написать программу класс Вектор на С++
Берем два вектора. Потом для каждого вектора просим ввести его размерность (то есть ввести количество точек вектора), для того чтобы выяснить возможные или невозможные операции над векторами. Если размерности разные - выводим ошибку иначе, если они одинаковы, выполнить над ними операции(сложение, вычетание, умножение и умножение на скаляр).

Что неправильно. И как ее исправить. Вот моя программа.

#include
#include
using namespace std;
int r;int scl;
class vector {
public:
vector(void); //Конструктор
~vector();
void Intput();
void Output();
friend vector operator+(vector a, vector b);
friend vector operator-(vector a, vector b);
friend vector operator*(vector a, vector b);
friend vector operator*(vector a, double scalar);

private:
int x[100];
};
vector::vector(void)
{
x[100]=0;
}

vector::~vector()
{
cout << "Vector destructor..." << endl;
}

void vector::Intput()
{
for (int i=0; i {
cout<<"Vvedite znachenie "< cin>>x[i];
}
}

void vector::Output()
{
cout<<"t (";
for(int i=0; i {
cout<<" "< }
cout<<" )"< }

vector operator+(vector a, vector b)
{
vector sum;
for(int i=0;i {
sum.x[i] = a.x[i] + b.x[i];
}
return sum;
}

vector operator-(vector a, vector b)
{
vector vuch;
for(int i=0;i {
vuch.x[i] = a.x[i] - b.x[i];
}
return vuch;
}

vector operator*(vector a, vector b)
{
vector mn;
for(int i=0;i {
mn.x[i] = a.x[i] * b.x[i];
}
return mn;

}

vector operator*(vector a, int scl)
{
vector mns;
for(int i=0;i {
mns.x[i] = a.x[i] * scl;
}
return mns;

}


int main()
{
vector a, b, c;
int r1,r2;
cout<<"Enter data:"<
cout<<"Vvedite scalar! SCL: "< cin>>scl;
cout<<"Vvedite razmernost' 1 vectora: ";
cin>>r1;
r=r1;
a.Intput();
cout< cout<<"Vvedite razmernost' 2 vectora: ";
cin>>r2;
r=r2;
b.Intput();
//Proverka razmernosti
if(r1!=r2)
{
cout<<"Error!"< return 0;
}
else
{
cout<<"Vse OK!"< }

a.Output();
b.Output();

c=a+b;
cout<<"ntSlozhenie:"< c.Output();

c=a-b;
cout<<"ntVuchetanie:"< c.Output();

c=a*b;
cout<<"ntYmnozenie V*V:"< c.Output();

c=a*scl;
cout<<"ntYmnozenie V*SCL:"< c.Output();


return 0;
}

Добавлено спустя 27 минут 6 секунд:
Если что пишите ответы на мыло rivz2006@mail.ru


28.11.2010 17:55
Профиль Отправить email
Начинающий

Регистрация: 19.01.2011
Сообщения: 6

Репутация: 0 [ ? ]
Сообщение Re: Написать программу класс Вектор на С++
У тебя размерность не завязана с вектором. Лучше сделать динамический массив, размерность которого определяется вводимыми значениями, а сравнение реализовать через перегрузку оператора сравнения.


19.01.2011 9:54
Профиль Отправить email
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 


Кто сейчас на конференции

Зарегистрированные пользователи: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
cron
© 2013 «Форум программистов Украины»