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

[C++] Lista jednokierunkowa + zwracanie kilku wartości przez funkcję

Ostatnio zmodyfikowano 2013-05-26 02:44
Autor Wiadomość
Gadziu
Temat założony przez niniejszego użytkownika
» 2013-05-14 20:40:23
Dobra to wymyśliłem tak: Nie wiem jak zrobić, żeby jedna funkcja zwracała dwie rzeczy, więc rozdzieliłem to na dwie funkcje, jedna liczy pole druga sprawdza jmax.
C/C++
double pole_okna( const okno & L )
{
    double P = 0;
    int k = L.rozmiar();
    while( k )
    {
        k--;
        P = P + L[ k ]->pole();
    }
    return P;
}
C/C++
int max( const okno & L )
{
    int jmax = 0;
    int k = L.rozmiar();
    double a = 0;
    while( k )
    {
       
        k--;
        if( a <= L[ k ]->pole() )
        {
            jmax = k;
            a = L[ k ]->pole();
        }
    }
    return jmax;
}
C/C++
//ETAP 3 (1 pkt)

cout << endl << "-----------------------------------" << endl;


double P = pole_okna( L );

cout << "Pole okna: " << P << endl;
int jmax = max( L );
if( jmax >= 0 )
     cout << "Element o maksymalnym polu jest na pozycji nr: " << jmax + 1 << endl;

cout << endl << "-----------------------------------" << endl;
No i teraz działa, może nie tak dokładnie jak chcieli, ale działa. Może ma ktoś pomysł, żeby to zrobić tak jak w treści chcieli?
P-82958
Monika90
» 2013-05-14 23:04:09
przekaż do funkcji referencję do jmax, to będzie tak jak chcieli
C/C++
double pole_okna( const okno & L, int & jmax )
{
}
C/C++
int jmax;
double P = pole_okna( L, jmax );
P-82971
Gadziu
Temat założony przez niniejszego użytkownika
» 2013-05-15 03:07:36
Jej, dziękuję za taką ogromną pomoc. Więcej nauczyłem się dzisiaj niż przez prawie cały semestr:) Mam pytanie polecasz może jakąś dobrą pozycję/stronę do nauki obiektowego?
P-82983
Monika90
» 2013-05-15 20:04:04
Zależy czy interesje cię programowanie obiektowe w ogóle, czy programowanie obiektowe w C++, czy wreszcie programowanie w C++ w ogóle.

Tutaj http://osilek.mimuw.edu.pl/index.php?title=Programowanie_obiektowe pierwsze dwa rozdziały to dość dobre wprowadzenie w temat, pozostałe to szczegóły techniczne języka Java.

C++FAQ http://www.parashift.com/c++-faq/ C++ w pytaniach i odpowiedziach, dużo na temat programowania obiektowego w C++. Wprawdzie nadużywa słowa "paradygmat" i wymaga aktualizacji do C++11, ale poza tym bardzo dobre.

Klasyczne, poważne dzieła na temat obiektowości:
Object-Oriented Analysis and Design, Grady Booch
Object-Oriented Software Construction, Bertrand Meyer - to mi się nie podoba, za dużo o języku Eiffel.

Nie ma sensu się zabierać za prog. obiektowe jak się nie zna popularnych wzorców projektowych. Wciąż najważniejsza książka na ten temat to Design Patterns, E. Gamma i koledzy, jednak dla początkującego to nie będzie łatwa lektura. Lżejsze wprowadzenie to Design Patterns Explained.

Warto też zapoznać sie z językiem UML, w czym pomoże UML Distilled Martina Fowlera.

Jeżeli chodzi o programowanie w C++ w ogóle, to początkującym poleca się: Accelerated C++, Koenig and Moo, oraz Programming - Principles and Practice Using C++, Bjarne Stroustrup, nie czytałam tych dwóch, ale ponoć są dobre.

Dla bardziej zainteresowanych The C++ Programming Language, wyd. IV, Stroustrupa. Wkrótce do nabycia na Amazon, też nie czytałam ale mam zamiar wkrótce przeczytać. W sumie mogła bym wymienić jeszcze z 10 książek o C++, które warto przeczytać i stosować zawarte w nich wskazówki, ale już mi się nie chce...

Pa.
P-83040
DejaVu
» 2013-05-26 02:44:17
Można też utworzyć sobie strukturę:
C/C++
struct RDane
{
    int min;
    int max;
};

RDane funkcja( /*...*/ )
{
    RDane wynik;
    //...
    return wynik;
}
P-83924
1 2 3 « 4 »
Poprzednia strona Strona 4 z 4