C++ !!!
Napisz klase wektor, która będzie miała metodę:
a)pobierającą wspólrzędne wektora;
b)wyświetlającą współrzędne w postaci x,y;
c)obliczającą długość wektora;
ORAZ funkcję zaprzyjaźnioną:
a)sumującą dwa wektory;
b)obliczającą iloczyn wektora przez liczbę.
z góry dziękuję ;) jesli mozecie dodac obok komentarze co gdzie sie robi bylbym wdzieczny ;)
" Life is not a problem to be solved but a reality to be experienced! "
© Copyright 2013 - 2025 KUDO.TIPS - All rights reserved.
Rozwiązanie chciałem wrzucić do załącznika, ale ta tępa strona ma nałożone dziwne ograniczenia na typu plików (zapewne tylko na rozszerzenia, a nie na to co w nich siedzi)...
Tak czy inaczej wysyłam kod luzem tutaj. Pewnie wcięcia się rozjadą, więc jak co to zgłoś się po plik do mnie, bo nie mogę du dawać linków do żadnych stron do przechowywania kodu, bo mnie admini zjedzą.
Sprawa kolejna. Kod nie jest napisany najlepiej, nie dlatego że nie mogłem tego napisać, ale dlatego, że musiałbym za dużo rzeczy tłumaczyć i pewnie w szkole nawet tego nie przerabialiście i nie będziecie przerabiać. Dlatego napisałem to dokładnie tak jak chciałeś... W razie pytań pisz na priva.
---- KOD ----
#include <iostream>
#include <cmath>
using namespace std;
class vector
{
private:
float m_x, m_y; // Pola klasy - przechowuja wspolrzedne
public:
// Ustawia wspolrzedna x
void setx(float x)
{
m_x = x;
}
// Ustawia wspolrzedna y
void sety(float y)
{
m_y = y;
}
// Oblicza dlugosc wektora z twierdzenia pitagorasa
float len()
{
return sqrt(m_x*m_x + m_y*m_y);
}
// Wyswietla wspolrzedne
void show()
{
cout << m_x << "," << m_y << endl;
}
// Deklaracja funkcji zaprzyjaznionych
friend vector sum(vector a,vector b);
friend vector mul(vector a,float b);
};
// Funkcja zaprzyjazniona do sumowania
vector sum(vector a,vector b)
{
vector tmp; // Najpierw zrob wektor tymczasowy do przechowywania wyniku
tmp.m_x = a.m_x + b.m_x; // Posumuj wspolrzedne
tmp.m_y = a.m_y + b.m_y;
return tmp; // Zwroc wynik, czyli wektor tymczasowy z wynikiem
}
// Funkcja zaprzyjazniona do mnozenia
// analogicznie do sumowania
vector mul(vector a,float b)
{
vector tmp;
tmp.m_x = a.m_x * b;
tmp.m_y = a.m_y * b;
return tmp;
}
int main(void)
{
// Test
vector v1,v2;
// Ustaw współrzędne obu wektorow (v1 oraz v2)
v1.setx(12.0f);
v1.sety(5.0f);
v2.setx(7.0f);
v2.sety(-4.0f);
// Wyswietl oba
v1.show();
v2.show();
// Wyswietl dlugosci
cout << "Dlugosc v1: " << v1.len() << endl;
cout << "Dlugosc v1: " << v2.len() << endl;
vector r;
float c = 4.0f; // Liczba uzywana do mnozenia
// Posumuj i wyswietl wynik
r = sum(v1,v2);
r.show();
// Przemnoz wynik przez c i wyswietl
// Zwroc uwage, ze uzywamy tego samego wektora do przechowywania
// wersji przemnozonej. Innymi slowy wektor jest nadpisywany
r = mul(r,c);
r.show();
return 0;
}