[C]Problem z tablica
Ostatnio zmodyfikowano 2012-12-21 19:56
sebool12 Temat założony przez niniejszego użytkownika |
[C]Problem z tablica » 2012-12-20 15:14:35 Witam Jest to mój pierwszy temat na tym forum, wiec jesli cos, zle napisze to prosze o wyrozumialosc ;) Tak wiec tresc zadania brzmi tak http://img525.imageshack.us/img525/6577/zad1o.jpgA o to mój program (nie wiem czy na 100% o to chodzilo w zad) #include <stdio.h> #include <stdlib.h>
int main( int argc, char * argv[] ) { float a, x, xy; int i = 0, licznik, licznik1; float tab[ 9 ][ 1 ]; printf( "Podaj a\n" ); scanf( "%f", & a ); system( "cls" ); printf( "L.p x y(x)\n" ); do { a = a + 1; if( i == 0 ) { a = a - 1; } if( a == 0 ) { xy = 0; } else { if( a < 0 ) { xy = a * a; } else { xy = a + 1; } } tab[ i ][ 0 ] = a; tab[ i ][ 1 ] = xy; printf( "%i %.1f %.1f\n", i, tab[ i ][ 0 ], tab[ i ][ 1 ] ); i++; if( i == 4 ) { printf( "tab[3][1] wynosi teraz %.1f\n", tab[ 3 ][ 1 ] ); system( "pause" ); } } while( i < 10 ); licznik = 0; licznik1 = 0; i = 0; for( i = 0; i < 10; i++ ) { if( tab[ i ][ 1 ] == 4.0 ) { licznik1++; printf( "Przy l.p. %i w tab 1 (czyli y(x)) jest czworka. Ilosc liczb 4 w tej chwili wynosi %i\n", i, licznik1 ); } if( tab[ i ][ 0 ] == 4.0 ) { licznik++; printf( "Przy l.p. %i w tab 0 (czyli x) jest czworka. Ilosc liczb 4 w tej chwili wynosi %i\n", i, licznik ); } } printf( "Liczba 4 wystapila %i razy\n", licznik + licznik1 ); printf( "tab[3][1] wynosi teraz %.1f\n", tab[ 3 ][ 1 ] ); system( "PAUSE" ); return 0; } I w czym problem? Otoz nie wiem dlaczego gdy wpisze np. -5 nie zlicza mi jednej czworki przy l.p. 3. gdzie wartosc a=-2 , a xy=4. Po przejsciu petli wartosc w tab[3][1] z 4 zamienia sie na -1 (tak jakby pobieralo wartosc z tab[4][0]) Dlaczego tak sie dzieje? Gdzie jest blad? |
|
sebool12 Temat założony przez niniejszego użytkownika |
» 2012-12-21 19:56:50 Nikt nie wie? |
|
« 1 » |