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

[C]Problem z tablica

Ostatnio zmodyfikowano 2012-12-21 19:56
Autor Wiadomość
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.jpg

A o to mój program (nie wiem czy na 100% o to chodzilo w zad)

C/C++
#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 ] ); //tutaj widac ze jakims cudem 4 zamienilo sie na -1, chyba wzielo z tab[4][0];
   
   
   
    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?
P-71481
sebool12
Temat założony przez niniejszego użytkownika
» 2012-12-21 19:56:50
Nikt nie wie?
P-71571
« 1 »
  Strona 1 z 1