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

zwracanie wskaźnika

Ostatnio zmodyfikowano 2015-12-04 18:45
Autor Wiadomość
Filippo9669
Temat założony przez niniejszego użytkownika
» 2015-12-03 20:53:56
tak, strukturę napisałem, tylko mam problem z tymi wskaźnikami. czy gdybym się strasznie uparł, że chcę zobaczyć to rozwiązanie, to pomożesz mi, podsuniesz jakiś pomysł? :)
P-141375
carlosmay
» 2015-12-03 22:21:45
Taki mała prowizorka (tablica do samodzielnej implementacji):
C/C++
#include <iostream>
#include <cstdlib>
using namespace std;

struct V {
    int x;
    int y;
    V( int ix, int iy )
        : x( ix )
         , y( iy )
    { }
    void show() { cout << x << " " << y; }
};

V * wylicz( V * st1, V * st2, V * od )
{
    double x1 =( st1->x + st1->y ) / double( 2 );
    double x2 =( st2->x + st2->y ) / double( 2 );
    double x_od =( od->x + od->y ) / double( 2 );
    if(( x1 - x_od ) <( x2 - x_od ) )
         return st2;
    else if(( x1 - x_od ) >( x2 - x_od ) )
         return st1;
    else if(( x1 - x_od ) ==( x2 - x_od ) )
         return st1;
    else
         return NULL;
   
}

int main()
{
    V a1( 15, 6 );
    V a2( 15, 7 );
    V odniesienie( 1, 1 );
   
    V * p1 = & a1;
    V * p2 = & a2;
    V * p_od = & odniesienie;
   
    V * p_wynik = wylicz( p1, p2, p_od );
    if( !p_wynik )
    {
        cout << "Jakis blad" << endl;
        V a( 0, 0 );
        p_wynik = & a;
    }
    else
         p_wynik->show();
   
    cout << endl;
   
    system( "pause" );
}
 Jak będzie tablica, do funkcji wysyłasz pierwsze dwa elementy.
Dostajesz zwrot dalszego.
Wysyłasz zwrot i następny element, itd., aż do końca tablicy.
Ostatni zwrot będzie maksymalnie odsuniętym punktem.
Powodzenia.
P-141381
Filippo9669
Temat założony przez niniejszego użytkownika
» 2015-12-03 22:28:07
o rany, faktycznie bez sensu. ale ogromne dzięki, przestudiuję to :)
P-141382
Monika90
» 2015-12-04 18:19:12
C/C++
{
    V a( 0, 0 );
    p_wynik = & a;
}
Po co to przypisanie? Obiekt nie będzie istniał po wyjściu z bloku.
P-141395
carlosmay
» 2015-12-04 18:45:51
C/C++
if( !p_wynik )
{
    cout << "Jakis blad" << endl;
    V a( 0, 0 ); // to mialo byc przed ifem
    p_wynik = & a; // to na wypadek proby drukowania pustego wskaznika
}
else
     p_wynik->show();

p_wynik->show();
 zmodyfikowałem, żeby się wykonało przypisanie i na wyjściu mam
Jakis blad
0 0
Zasugerowałem się tym, że działa. Dzięki za uwagę. UB
P-141397
1 « 2 »
Poprzednia strona Strona 2 z 2