[C] Zagadka z If
Ostatnio zmodyfikowano 2013-11-27 23:46
Anubis12 Temat założony przez niniejszego użytkownika |
[C] Zagadka z If » 2013-11-27 22:15:51 Witam Nie rozumiem zachowania małego programiku ,który napisałem i chciałbym żeby mi ktoś pomógł go zrozumieć. Mianowicie : Program ma znajdować ,największą liczbe w tablicy. Dalej w zakomentowanych miejscach opisze problem. #include<stdio.h> #include<stdlib.h>
double maxx( double * wsk ) { double a =- 300; int i; for( i = 0; i < 5; i++ ) { if( wsk[ i ] < a ) a = wsk[ i ]; printf( "Element %d tablicy to %d najwieksza %ld\n", i, wsk[ i ], a ); } return a; } main() { double tab[ 5 ]; int i; printf( "Wypelnij tablice : \n" ); for( i = 0; i < 5; i++ ) { printf( "Podaj %d tablicy ", i ); scanf( "%d", & tab[ i ] ); } printf( "Najwiekszy element to : %d \n", maxx( tab ) ); system( "PAUSE" ); } |
|
Monika90 |
» 2013-11-27 22:43:09 zmienna a pokazuje jaka ujemna liczbe z kosmu a nie to co powinno faktycznie znajdowac sie pod ta zmienna, |
Do drukowania double służy %f, %g, %e, %a, a nie %ld, czy %d W scanf też masz zły format. |
|
Anubis12 Temat założony przez niniejszego użytkownika |
» 2013-11-27 22:56:46 Tak wiem próbowałem z kombinować z tym bo nie wiedziałem w czym twki problem .Poprawa tego niestety nie pomaga ;/ |
|
docentpp |
» 2013-11-27 23:20:45 Napisana przez Ciebie funkcja double maxx( double * wsk )
Jest napisana błędnie i NIE znajduje elementu maksymalnego w tablicy. Jest całkowicie źle napisana ( pomijając printfy i scanfy). |
|
Anubis12 Temat założony przez niniejszego użytkownika |
» 2013-11-27 23:26:49 Przeczytaj temat za nim się wypowiesz .. Napisałem wyraźnie że instrukcja IF jest bez sensu , a właśnie działa poprawnie i tu widze problem ;> |
|
Monika90 |
» 2013-11-27 23:46:37 że instrukcja IF jest bez sensu , a właśnie działa poprawnie |
Ponieważ masz błąd w innym miejscu, najprawdopodobniej nieprawidłowy format w scanf. |
|
« 1 » |