Keresés

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

  • hoffman_

    nagyúr

    válasz Jester01 #4101 üzenetére

    megvilágítottál. még nem tudom, hogy hogy, de tudom, hogy mit kéne csinálni. köszönöm, ez az eddigi legjobb eredményem az elmúlt 3 napban! :)

  • hoffman_

    nagyúr

    válasz Jester01 #4099 üzenetére

    mhm, köszönöm! :R

    akkor a beolvasásra getc(stdin)-nel próbálok valamit. viszont a többire hiába írtad a hibát, nem tudom, hogy hogy lenne helyes a megoldás. ezt a maszkolás részt akkor nagyon nem értem ezek szerint.

  • hoffman_

    nagyúr

    válasz hoffman_ #4097 üzenetére

    senki többet harmadszor? :( nagyon fontos lenne.

    illetve még egy kérdés. írtam én is valamit egy feladatra, természetesen nem jó, és nem tudom, hogy miért. valaki meg tudja javítani esetleg?

    feladat: bekérni s1 tömbbe 10 karaktert úgy, hogy ascii kód szerint a 1-es és 100-as helyiértéken csak 6 vagy 7 állhat. ezután s2-be másolni az elemeket(ha van), amelyeknél a 10-es helyiértéken lévő szám 0. bitje 0, az 1. bitje pedig 1, utána az első 4 elem minimumát kell megadni. mindent függvénnyel.

    - min függvény ebben még nincs is benne, de így se ok

    void beker(unsigned char *s1);
    int masol(unsigned char *s1, unsigned char *s2);

    int main()
    {
    unsigned char s1[10], s2[10];
    beker(s1);
    masol(s1, s2);
    return 0;
    }

    void beker(unsigned char *s1)
    {
    int i=0;
    unsigned int temp;
    /*while(i<10)
    {
    scanf("%d", temp);
    if((temp[i] &0x3 == 0x6) || (temp[i] &0x3 == 0x7)) s1[i]=temp;
    i++;
    }*/
    while(i<10)
    {
    scanf("%d", temp);
    if((temp &0x3 == 0x6) || (temp &0x3 == 0x7)) s1[i]=temp;
    else s1[i]=0;
    i++;
    }
    }

    int masol(unsigned char *s1, unsigned char *s2)
    {
    int i=0, j=0;
    while(i<10) s2[i++]=0;
    i=0;
    while(i<10)
    {
    if(s1[i] &0x5 == 0x1) s2[j++]=s1[i];
    i++;
    printf("%d, ", s2);
    }
    }

  • hoffman_

    nagyúr

    sziasztok,

    miután leprogramozták nekem C#-ben, mert én hülye elnéztem a topicot, ide is eltaláltam... a kérdés adott, mutatom:

    továbbra is szükségem lenne segítségre, a második, függvényekkel operáló zh-t nem tudom abszolválni, most megyek pótra kedden, de ezen is meg fognak vágni, ha így megy, és az nagy gáz lesz.

    két program van, amit meg kéne írnom, tud valaki ebben segíteni? illetve több, csak jó lenne, ha ezt a kettőt látnám, hogy lássam, hogy néz ki. utána már talán meg tudom érteni egyedül is.

    első:
    bekérni s1 tömbbe 10 darab 4 jegyű számot, úgy, hogy az 1-es és 100-as helyiértéken lévő számok nem egyezhetnek(tehát 2345 jó, 2343 nem jó). ezután s2 tömbbe átmásolni azokat, ahol a számjegy 0. bitjén 0 van, az 1. biten pedig 1-es. ezután az utolsó 4 elem átlagát kell venni. mindegyik részt függvénnyel.

    második:
    10 darab char bekérése s1 tömbbe ascii kód alapján úgy, hogy a 10-es helyiértéken 3-mal osztható szám legyen, és később sztringként lehessen használni. ezután s2-be másolni a karaktereket, ahol a 0. és 1. biten is 1-es áll. ezután az első 5 elem összegét kell venni. mindegyik részt függvénnyel.

    nagyon fontos lenne, hogy ezeket lássam, remélem valaki tud időben segíteni. előre is köszönök mindent :R

  • hoffman_

    nagyúr

    Sziasztok! Egy kis segítségre lenne szükségem. Először elmondom a szitut. Már több szemeszter óta vergődök az alap C programozással, nem szeretem, nem áll rá az agyam. Idén már pénzbe is fájt, úgyhogy megpróbálom megemberelni magam, és most igyekszem megérteni, legalább nagyon alapszinten. Úgy ahogy haladok, de persze nevetséges tudásom van, ami nem is baj, csak a zh-n vergődjek át. A következő feladatot kellene (többek közt) megoldanom, tudnátok segíteni?

    Töltsön fel egy egész típusú 100 db elemet tartalmazó tömböt páratlan számokkal 100-tól csökkenő értékkel! Adja össze a páros számú indexen levő elemek értékét! Vegye az átlagát a páratlan indexen levő tömb elemeknek!

    Megmutatom, mire jutottam: (ja, nem egész típusú a tömböm, ezt elfelejtettem figyelembe venni, ennek lehet valami hátránya? a hsz végén szóba hozom a típuskonverziót, azért, mert sok feladatnál használtunk már double-t, és akkor int-re konvertáltunk, és ez a rutin megmaradt, csak nem teljesen tiszta)

    int main()
    {
    double t[100]; unsigned int i=0, j=100, pl=0, ps=0;
    while(i<100)
    {
    t[i]=j;
    if((j%2))
    /* {
    if((j&0xF1)==0x55)
    {
    pl=pl+t[i];
    }
    }*/


    printf("%lf\n", t[i]);
    i++;
    j--;
    }
    printf("paratlan indexu elemek erteke %d", pl);


    return 0;
    }

    A tömbfeltöltés még sikerült. A program nyilván nincs kész. A gondom az, hogy ha belerakom a kicsillagozott részt, akkor egyrészt nem jó eredményt dob(úgy gondolom, hogy úgy sz*r az, ahogy van), és a tömbfeltöltést is elrontja, mert nem csak a páratlan számok kerülnek be, hanem mind.

    A logikám az volt, hogy maszkolni kéne a következő bitsort: x1x1x1x1-et, az 11111111-al, az x-ek helyén mindegy mi van, a páros bitek helyén meg 1-es ugye, mivel az kell, és amelyik j-re ez teljesül, azokat összeadja pl változóba.

    Most hogy visszanézem, kicsit belegabalyodtam, szerintem nem is j-t kell vizsgálni, de tényleg nem tudom már hogyan tovább. Ez a maszkolósdi amúgy se megy, illetve szerintem egy típuskonverzió is kéne valahova, de ahhoz sem értek.

    Valaki tud életet menteni? :B Előre is köszönök minden segítséget :R

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

Hirdetés