profil

Program (w c++) wykonuje operacje matematyczne na dwoch wektorach a i b w przestrzeni 3d

poleca 85% 663 głosów

Treść
Grafika
Filmy
Komentarze

/*Program wykonuje operacje matematyczne na dwoch wektorach a i b w przestrzeni 3d.
Prosi uzytkownika o podanie wspolrzednych punktow ktore sa poczatkiem i koncem
tych wektorow. Program oblicza: wspolrzedne wektorow, wartosci wektorow,
wspolrzedne wektorow bedacych suma, roznica, iloczynem wektorowym oraz wartosci
tych wekorow. Na koncu podawana jest wartosc iloczynu skalarnego wektorow a i b*/

#include "stdafx.h"
#include /*Dolaczamy plik naglowkowy iostream(strumień wejścia-wyjścia)
konieczny do wypisywania komunikatow i wprowadzania danych z klawiatory(cin,cout)*/
#include /*Plik ze standartowej biblioteki sluzy do wykonywania oblczen
matematycznych wtym wupadku pierwiastkowania i potegowania*/
using namespace std; //Okreslenie standartowej przestrzeni nazw
class Wektor
{
public: // Tu maja dostep wszystkie funkcje programu
Wektor::Wektor(); // Konstrukr klasy deklaracja
float getX() {return istX;}//Funkcje dostepowe (akcesory),deklaracje
float getY() {return istY;}//i definicje w jednej lini, umozliwiaja
float getZ() {return istZ;}//odczyt objektow prywatnch z funkcj zewnetrzynch
void wynik(); // Inna metoda deklaracja
double skalar(); // Inna metoda deklaracja
private:
float istX; //Tu maja dostep tylko funkcje klasy Wektor
float istY;
float istZ;
};
Wektor::Wektor() //Konstruktor klasy definicja
{
float wx,wy,wz,wxI,wyI,wzI;
cout<<"Wprowadz wspolrzedne punktu (x,y,z) ktory jest \npoczatkiem wektora";
cout<<" i nacisnij enter\n";
cin >> wx >> wy >> wz; //Wprowadzanie danych z klawiatury
cout<<"Wprowadz wspolrzedne punktu (x,y,z) ktory jest \nkoncem wektora";
cout<<" i nacisnij enter\n";
cin >> wxI>> wyI>> wzI;
istX = (wxI-wx);
istY = (wyI-wy);
istZ = (wzI-wz);
}
void Wektor::wynik()
{
cout<}
double Wektor::skalar() //Definicja funkcji (metody)obliczajacej wartosc
{ //wektora. Poniewaz sa tu przeprowadzane dzilania
double x,y,z; //pierwiastkowanie i potegowanie, konieczne jest
double skalar; //dolaczenie pliku cmath
x = pow(istX,2);
y = pow(istY,2);
z = pow(istZ,2);
skalar = x + y + z;
return sqrt(skalar);
}
class Suma
{
public:
Suma::Suma(float ux, float uy, float uz,
float wx, float wy, float wz);
void wynik();
double skalar();
private:
float istX;
float istY;
float istZ;

};
Suma::Suma(float ux, float uy, float uz,
float wx, float wy, float wz)
{
istX = ux+wx;
istY = uy+wy;
istZ = uz+wz;
}
void Suma::wynik()
{
cout<}
double Suma::skalar()
{
double x,y,z;
double skalar;
x = pow(istX,2);
y = pow(istY,2);
z = pow(istZ,2);
skalar = x + y + z;
return sqrt(skalar);
}
class Roznica
{
public:
Roznica::Roznica(float ux, float uy, float uz,
float wx, float wy, float wz);
void wynik();
double skalar();
private:
float istX;
float istY;
float istZ;
};
Roznica::Roznica(float ux, float uy, float uz,
float wx, float wy, float wz)
{
istX = ux-wx;
istY = uy-wy;
istZ = uz-wz;
}
void Roznica::wynik()
{
cout<}
double Roznica::skalar()
{
double x,y,z;
double skalar;
x = pow(istX,2);
y = pow(istY,2);
z = pow(istZ,2);
skalar = x + y + z;
return sqrt(skalar);
}
class iloczSkal
{
public:
iloczSkal::iloczSkal(float ux, float uy, float uz,
float wx, float wy, float wz);
float wynik() {return istWynik;}
private:
float istWynik;
};
iloczSkal::iloczSkal(float ux, float uy, float uz,
float wx, float wy, float wz)
{
istWynik=(ux*wx)+(uy*wy)+(uz*wz);
}
class iloczWekt
{
public:
iloczWekt::iloczWekt(float ux, float uy, float uz,
float wx, float wy, float wz);
void wynik();
double skalar();
private:
float istX;
float istY;
float istZ;
};
iloczWekt::iloczWekt(float ux, float uy, float uz,
float wx, float wy, float wz)
{
istX=(uy*wz)-(uz*wy);
istY=(uz*wx)-(ux*wz);
istZ=(ux*wy)-(uy*wx);
}
void iloczWekt::wynik()
{
cout<}
double iloczWekt::skalar()
{
double x,y,z;
double skalar;
x = pow(istX,2);
y = pow(istY,2);
z = pow(istZ,2);
skalar = x + y + z;
return sqrt(skalar);
}
int main() //Glowna funkcja programu
{
cout<<"Wektor 'a': ";
Wektor a; //"Tworzony jest objetk 'a' klasy 'Wektor'
cout<<"Wektor 'a' ma wspolrzedne: ";
a.wynik();
cout<<"\ni jego wartosc(skalar) wynosi: ";
cout< cout << "\n\n";
cout<<"Wektor 'b': ";
Wektor b; ////"Tworzony jest objetk 'b' klasy 'Wektor
cout<<"Wektor 'b' ma wspolrzedne: ";
b.wynik();
cout<<"\ni jego wartosc(skalar) wynosi: ";
cout< cout << "\n\n";
/*Tworzony jest obiekt AplusB klasy Suma, do konstrukrora ktorej dorazu
przekazywane sa argumeny*/
Suma AplusB(a.getX(),a.getY(),a.getZ(), b.getX(),b.getY(),b.getZ());
cout<<"Wektor bedacy suma wektorow (a + b) ma wspolrzedne: ";
AplusB.wynik();
cout<<"\ni jego wartosc(skalar) wynosi: ";
cout< cout << "\n\n";
Roznica AminusB(a.getX(),a.getY(),a.getZ(), b.getX(),b.getY(),b.getZ());
cout<<"Wektor bedacy roznica wektorow (a - b) ma wspolrzedne: ";
AminusB.wynik();
cout<<"\ni jego wartosc(skalar) wynosi: ";
cout< cout << "\n";
iloczWekt AxB (a.getX(),a.getY(),a.getZ(), b.getX(),b.getY(),b.getZ());
cout<<"\nWektor bedacy ilocznem wektorowym (a x b) ma wspolrzedne: ";
AxB.wynik();
cout<<"\ni jego wartosc(skalar) wynosi: ";
cout< cout << "\n";
iloczSkal AiB (a.getX(),a.getY(),a.getZ(), b.getX(),b.getY(),b.getZ());
cout<<"\nWartosc iloczynu skalarnego wektorow a i b wynosi: ";
cout< cout << "\n\n";
system("PAUSE");
return 0;
}

Czy tekst był przydatny? Tak Nie

Czas czytania: 5 minut