Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

suma wektorów, funkcja zaprzyjaźniona

Ostatnio zmodyfikowano 2011-05-07 23:06
Autor Wiadomość
szkyrp
Temat założony przez niniejszego użytkownika
suma wektorów, funkcja zaprzyjaźniona
» 2011-05-07 22:57:32
Dlaczego ten kod nie działa poprawnie. Miałem napisać program obliczający sumę wektorów, długość wektorów. Wszystko działa do momentu funkcji zaprzyjaźnionych. Program tak jakby nie może przypisać do zmiennej danej wartości. Proszę o szybką pomoc.

C/C++
#include <iostream>
#include <Math.h>

using namespace std;

class wektor
{
private:
    double s1, s2, s3, suma4, suma5;
public:
    int x1, y1, x2, y2, a;
    double suma1, suma2, suma3;
    char w;
   
    void wpisz(); //pobiera dane
    void dlugosc(); // oblicza dlugosc wektora
    void wypisz(); //wyswietla wszystko na ekranie
   
    friend wektor suma_wektorow( wektor, wektor ); //suma wektorow
    friend wektor skalar( wektor ); //skalar wektorow
};

void wektor::wpisz()
{
    cout << "Podaj wspolrzedne pierwszego wektora x: ";
    cin >> x1;
    cin.sync();
   
    cout << "Podaj wspolrzedne pierwszego wektora y: ";
    cin >> y1;
    cin.sync();
   
   
    cout << "\nPodaj wspolrzedne drugiego wektora x: ";
    cin >> x2;
    cin.sync();
   
    cout << "Podaj wspolrzedne drugiego wektora y: ";
    cin >> y2;
    cin.sync();
}

void wektor::dlugosc()
{
    suma1 = pow( x1, 2 ) + pow( y1, 2 );
    suma2 = pow( x2, 2 ) + pow( y2, 2 );
}

wektor suma_wektorow( wektor wek_1, wektor wek_2 )
{
    wektor wynik;
   
    wynik.s1 = wek_1.x1 + wek_2.x2;
    wynik.s2 = wek_1.y1 + wek_2.y2;
   
    return wynik;
}

wektor skalar( wektor wekt )
{
    wekt.suma4 = sqrt( wekt.suma1 ) * 2;
    wekt.suma5 = sqrt( wekt.suma2 ) * 2;
}

void wektor::wypisz()
{
    cout << "\nWspolrzedne pierwszego wekora [" << x1 << ";" << y1 << "]"
    << "\nWspolrzedne drugiego wektora [" << x2 << ";" << y2 << "] \n\n"
    << "Dlugosc pierwszego wektora wynosi : " << sqrt( suma1 ) << "\n"
    << "Dlugosc drugiego wektora wynosi : " << sqrt( suma2 ) << "\n\n"
    << "Suma wektorow wynosi [" << s1 << ";" << s2 << ";" << "]\n\n"
    << "Skalar pierwszego wekora: " << suma4 << "\n"
    << "Skalar drugiego wekora: " << suma5 << "\n\n";
}

int main()
{
    wektor wek;
   
    wek.wpisz();
    wek.dlugosc();
    suma_wektorow( wek, wek );
    skalar( wek );
    wek.wypisz();
   
    system( "PAUSE" );
    getchar();
}
P-32809
DejaVu
» 2011-05-07 23:06:39
P-32811
« 1 »
  Strona 1 z 1