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

Форум программистов: 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 ] 


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

Зарегистрированные пользователи: Google [Bot]


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

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