Potrzebuję JEDEN z poniższych programów napisany w C++. Proszę o napisanie komentarzy w programie, żeby wiadomo było co za co jest odpowiedzialne. Daję dużo punktów! :)
1. zdefiniuj strukturę opisującą film na płycie DVD.
Film powinien być opisany przez: tytuł, nazwisko reżysera, rok produkcji i czas trwania.
Napisz program umożliwiający obsługę struktury – funkcje umożliwiające wprowadzanie, wyświetlanie i modyfikowanie danych
2. zadeklaruj listę uczniów w klasie. Uwzględnij pola: nazwisko, wiek, wzrost. Napisz funkcje umożliwiające:
a) utworzenie listy
b) dodanie danych do listy
c) usunięcie z listy wskazanego ucznia
d) posortowanie uczniów według wzrostu
e) usunięcie listy (konstruktor/destruktor)
3 Napisz klasę wektor, która będzie miała metodę:
- pobierającą współrzędne wektora
- wyświetlającą współrzędne wektora w postaci [x, y]
- obliczającą długość wektora oraz funkcje zaprzyjaźnione
* sumującą 2 wektory
* obliczającą iloczyn wektora przez liczbę (skalar)
" Life is not a problem to be solved but a reality to be experienced! "
© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.
Rozwiązanie zadania 3 w załączniku.
Dodatkowo dorobiłem kilka innych przydatnych funkcji oraz umieściłem przykład wykorzystania.
Ponieważ nie mogę umieścić załącznika, to poniżej kod:
#include <iostream>#include <cmath>
class wektor { double x, y;public: wektor(double xInit = 0.0, double yInit = 0.0); // konstruktor ~wektor(); // destruktor double pobierzX() const; // pobierz wspolrzedna x double pobierzY() const; // pobierz wspolrzedna y void pokaz() const; // wyswietl w postaci [x, y] double dlugosc() const; // pobierz dlugosc wektora wektor przeciwny() const; // pobierz wektor przeciwny friend wektor suma(const wektor &v1, const wektor &v2); // suma wektorow friend wektor razy(const wektor &v, double k); // iloczyn wektora przez liczbe friend wektor razy(double k, const wektor &v); // iloczyn liczby przez wektor friend wektor operator+(const wektor &v1, const wektor &v2); friend wektor operator-(const wektor &v1, const wektor &v2); friend wektor operator*(const wektor &v, double k); friend wektor operator*(double k, const wektor &v); friend wektor operator/(const wektor &v, double k);};
wektor::wektor(double xInit, double yInit) : x(xInit), y(yInit) // inicjalizacja{ // puste wnetrze}
wektor::~wektor(){ // puste wnetrze}
double wektor::pobierzX() const{ return x;}
double wektor::pobierzY() const{ return y;}
void wektor::pokaz() const{ std::cout << "[" << x << ", " << y << "]" << std::endl;}
double wektor::dlugosc() const{ return sqrt(x * x + y * y); // funkcja sqrt to pierwiastek kwadratowy}
wektor wektor::przeciwny() const{ return wektor(-x, -y);}
wektor suma(const wektor &v1, const wektor &v2){ return wektor(v1.x + v2.x, v1.y + v2.y);}
wektor razy(const wektor &v, double k){ return wektor(k * v.x, k * v.y);}
wektor razy(double k, const wektor &v){ return razy(v, k);}
wektor operator+(const wektor &v1, const wektor &v2){ return suma(v1, v2);}
wektor operator*(const wektor &v, double k){ return razy(v, k);}
wektor operator*(double k, const wektor &v){ return razy(k, v);}
wektor operator-(const wektor &v1, const wektor &v2){ return suma(v1, v2.przeciwny());}
wektor operator/(const wektor &v, double k){ return razy(v, 1.0 / k);}
int main(){ wektor a(3, 4); wektor b(12, 5); a.pokaz(); double ax = a.pobierzX(); double ay = a.pobierzY(); double an = a.dlugosc(); std::cout << "Wektor a: wspolrzedna x = " << ax << " wspolrzedna y = " << ay << " dlugosc = " << an << std::endl; b.pokaz(); wektor c = suma(a, b); c.pokaz(); wektor d = razy(c, 0.5); d.pokaz(); wektor e = razy(0.1, c); e.pokaz(); wektor x = c + d; x.pokaz(); wektor y = 3 * x; y.pokaz(); wektor z = y * 0.0001; z.pokaz(); x = b - a; x.pokaz(); x = x / 4; x.pokaz();
return 0;}