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: #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 |
|
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ąć. |
|
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ą :( |
|
michal11 |
» 2018-05-22 15:17:37 Inkrementuj wska |
|
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ć. |
|
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. |
|
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. |
|
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? #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 :) |
|
« 1 » 2 |