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

Wskaźniki i nieznany błąd

Ostatnio zmodyfikowano 2018-05-25 23:07
Autor Wiadomość
PRC
Temat założony przez niniejszego użytkownika
Wskaźniki i nieznany błąd
» 2018-05-22 08:07:18
Cześć,
Mam napisać program który znajduje największą wartość w tablicy oraz jej wartość i adres.
Mój program wygląda tak:
C/C++
#include <stdio.h>

int main()
{
    int n = 10, j, i = 10, a;
    printf( "podaj liczbe elementow tablicy \n" );
    scanf( "%d", n );
    int tabA[ n ], wska = tabA[ i ];
    for( i = 0; i != n; i++ )
    {
        printf( "podaj wartosc numer %d \n", i + 1 );
        scanf( "%d", a );
        tabA[ i ] = a;
    }
    a = tabA[ 0 ];
    j = 0;
    for( i = 0; i != n; i++ )
    {
        if( a < tabA[ i ] )
        {
            a = wska;
            j = &( * wska );
        }
    }
    printf( "w tablicy A wartosc najwieksza to %d i ma ona numer%d \n", a, j );
    getch();
    return 0;
}

Nie mam zielonego pojęcia czemu nie działa
P-171224
michal11
» 2018-05-22 10:10:47
W ifie porównujesz dotychczasowego maxa z tabA ale jak warunek jest spełniony to przypisujesz wska. Ten wska jest w ogóle niepotrzebny i możesz go usunąć.
P-171226
PRC
Temat założony przez niniejszego użytkownika
» 2018-05-22 10:52:11
Właśnie wiem jak można by to zrobić bez wskaźnikó, problem jest taki że to zadanie MUSI być na wskaźnikach, bo inaczej mi go nie zaliczą :(
P-171228
michal11
» 2018-05-22 15:17:37
Inkrementuj wska
P-171230
PRC
Temat założony przez niniejszego użytkownika
» 2018-05-23 22:47:45
Wybaczcie że długo nie odpisywałem, czemu mam inkrementować to wska? i gdzie w w ifie? Jutro będę miał wolne to nad tym jeszcze pomyślę i spróbuję poprawić.
P-171246
pekfos
» 2018-05-23 22:54:26
Jeśli zadanie musi być na wskaźnikach, to zrób pętlę na wskaźnikach. Te wska wywal najlepiej, jest błędnie użyte.
P-171247
michal11
» 2018-05-24 09:37:49
Ehh, dopiero zauważyłem, że wska nie jest wskaźnikiem. W zawiązku z tym przychylam się do zdania pekfosa, jeżeli ma to być na wskaźnikach to ich użyj bo teraz tego nie robisz.
P-171248
PRC
Temat założony przez niniejszego użytkownika
» 2018-05-25 22:58:56
Teraz jest tak i wyłącza się po wpisaniu elementów tablicy (program) błędów już nie ma. Czy ktoś byłby tak miły że mi wyjaśnić, czemu ten syf się sam wyłącza?

C/C++
#include <stdio.h>

int main()
{
    int n, j = 0, i, a;
    printf( "podaj liczbe elementow tablicy \n" );
    scanf( "%f", & n );
    int tabA[ 3 ];
    for( i = 0; i != 3; i++ )
    {
        printf( "podaj wartosc numer %d \n", i + 1 );
        scanf( "%d", & a );
        tabA[ i ] = a;
    }
    int * adres = & tabA[ 3 ], * wart;
    * wart = tabA[ 3 ];
    a = tabA[ 1 ];
    for( i = 0; i != 3; i++ )
    {
        if( a < tabA[ i ] && a != tabA[ i ] )
        {
            a = * wart;
            j = * adres;
        }
    }
    printf( "w tablicy A wartosc najwieksza to %d i ma ona adres %d \n", a, j );
    getch();
    return 0;
}

[ cpp / ]

Wiem ż e nie potrzebnie na pocz ą tku pyta o n, nie musicie mi tego pisa ć.

Edit:
Już mi się udało to naprawić, dziękuję, wszystkim za pomoc :)
P-171250
« 1 » 2
  Strona 1 z 2 Następna strona