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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2010, 18:51   #1
provayder
Новичок
Джуниор
 
Регистрация: 28.11.2010
Сообщений: 2
По умолчанию Написать программу класс Вектор на С++

Берем два вектора. Потом для каждого вектора просим ввести его размерность (то есть ввести количество точек вектора), для того чтобы выяснить возможные или невозможные операции над векторами. Если размерности разные - выводим ошибку иначе, если они одинаковы, выполнить над ними операции(сложение, вычетание, умножение и умножение на скаляр).

Что неправильно. И как ее исправить. Вот моя программа.
Код:
#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<<"\n\tSlozhenie:"< c.Output(); 

c=a-b; 
cout<<"\n\tVuchetanie:"< c.Output(); 

c=a*b; 
cout<<"\n\tYmnozenie V*V:"< c.Output(); 

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


return 0; 
}

Последний раз редактировалось Stilet; 28.11.2010 в 20:22.
provayder вне форума Ответить с цитированием
Старый 28.11.2010, 19:23   #2
provayder
Новичок
Джуниор
 
Регистрация: 28.11.2010
Сообщений: 2
По умолчанию

Если что пишите ответы на мыло rivz2006@mail.ru
provayder вне форума Ответить с цитированием
Старый 28.11.2010, 21:32   #3
Freddi Krjuger
Пользователь
 
Регистрация: 20.08.2010
Сообщений: 37
По умолчанию

что-то не так с кодом,библиотеки не подключены в всех функциях циклы не закончены for(int i=0;i...
Freddi Krjuger вне форума Ответить с цитированием
Старый 28.11.2010, 21:36   #4
Freddi Krjuger
Пользователь
 
Регистрация: 20.08.2010
Сообщений: 37
По умолчанию

x[100]=0; так нельзя инициализировать, так вы пытаетесь проинициализировать элемент который находится за пределами массива.
Freddi Krjuger вне форума Ответить с цитированием
Старый 28.11.2010, 21:44   #5
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Цитата:
что-то не так с кодом,библиотеки не подключены в всех функциях циклы не закончены for(int i=0;i...
Это там такие "html-тэги" вроде int i=0;i<n;i++, так же, как и в #include
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++класс-вектор cati Помощь студентам 4 21.04.2010 21:58
определить класс описывающий вектор.С++ varlonec Помощь студентам 0 26.01.2010 17:47
c++,класс вектор вникнуть в задание ahab Помощь студентам 5 26.12.2009 13:52
Написать класс - прямые на плоскости. Red Devel Помощь студентам 7 22.01.2008 15:23