Hirdetés

Új hozzászólás Aktív témák

  • dabadab
    titán

    Elég barbár módszer
    De ezen az elven megírható e egyszerűbben
    (2-es számrendszerből 10-be konvertálás)
    int tmb[10],i,x=1,a;


    for(i=0;i<10;i++)
    {
    scanf("%d",&tmb[i]);
    }

    if(tmb[0]==1)
    {
    x=x+512;
    }
    if(tmb[1]==1)
    {
    x=x+256;
    }
    if(tmb[2]==1)
    {
    x=x+128;
    }
    if(tmb[3]==1)
    {
    x=x+64;
    }
    if(tmb[4]==1)
    {
    x=x+32;
    }
    if(tmb[5]==1)
    {
    x=x+16;
    }
    if(tmb[6]==1)
    {
    x=x+8;
    }
    if(tmb[7]==1)
    {
    x=x+4;
    }
    if(tmb[8]==1)
    {
    x=x+2;
    }
    if(tmb[9]==1)
    {
    x=x+1;
    }

    printf("10-es szamrendszerben:%d\n",x);
    system("pause");
    }

    Miert egyre inicializalod az x-et? A tmb-ben meg karaktereket nezel, nem szamokat, ezert az egyenloseg jobb oldalar nem 1, hanem '1' kell (ami ASCII eseten egyebkent 49).

    x=0;
    for ( int c=0 ; tmb(c) != 0 ; c++ )
    {
    x <<= 1;
    if ( tmb(c) == '1' ) x|=1;
    }

    Ja, meg azt azert vegyuk eszre, hogy a tizes szamrendszerbe valo konvertalast az printf()-re biztad :D

Új hozzászólás Aktív témák