Jump to content
PirateClub.hu

zokny

Felhasználó
  • Pontszám

    7
  • Csatlakozott

  • Utoljára itt járt

Posts posted by zokny

  1. Skacok! megint lenne egy kis problémám:Sholnapra kéne ijen indexvektoros rendezés csinálni minimummal de vhol elrontottam.Megtudná vki lesni h hol a hiba?remélem nem túl későn szóltam és előre is köszi!

    tehát a kód:

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    void main()
    {int i,j,min,a[10],b[10];
    clrscr();
    randomize();
    for (i = 0; i <= 9; i++) a[i]= random(100)+1;
    for (i = 0; i <= 9; i++) b[i]= i;
    for (i = 0; i <= 9; i++) printf("%d ",a[i]);
    while (i<=9){
    for (i = 0; i <= 9; i++) {
    if (a[i]<min) {
    min=a[i];}}
    for (j = 0; j <= 9; j++) {
    b[j]=min;
    j=j++;}}
    printf("\n");
    for (i = 0; i <= 9; i++) printf("%d ",a[b[i]]);
    getch();}

  2. Na,akkor berakom egy kis kommenttel:) a hetedik feladatig kész

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <time.h>
    #include <conio.h>
    #define M 20
    /*------------------------------------------------------------------------------
    Létre hozunk egy recordot ... ez elsõként a felhasználó nevét fogja tárolni,
    mellé a hozzá tartozó teszt megoldásokat, valamint a legutolsó elem a jó
    megoldások számát tárolja el. A recorddal egy tömböt hozunk létre. Ez arra, hogy
    különbözõ típusú (string, integer) változókat tudjunk egy tömbben tárolni. A
    létrehozott tömbönk a fent definiált M (20) elemû lesz.
    ------------------------------------------------------------------------------*/
    struct teszt{
        char nev[30];
        int a[16];
    } t[M];
    
    int megoldas[15]; // eltárolom a megoldásokat
    
    void elsofeladat();
    void masodikfeladat();
    void harmadikfeladat();
    void negyedikfeladat();
    void otodikfeladat();
    void hatodikfeladat();
    void hetedikfeladat();
    
    void main()
    {
    randomize();
    elsofeladat();
    masodikfeladat();
    harmadikfeladat();
    negyedikfeladat();
    otodikfeladat();
    hatodikfeladat();
    hetedikfeladat();
    getch();
    }
    
    /*------------------------------------------------------------------------------
    Lusták vagyunk, ezért soron kívül legeneráljuk a megoldas.txt és az adat.txt
    fájlokat. Mivel ezt csak egyszer kell használni a továbbiakban kikommentelem :)
    ------------------------------------------------------------------------------*/
    /*------------------------------------------------------------------------------
    void general()
    {
    int i , j;
    FILE *f , *m;
    m=fopen("megoldas.txt","w+");
        for (i = 0; i <= 14; i++) {
            fprintf(f,"%d ", random(4)+1);
        }
    fclose(m);
    f=fopen("adat.txt","w+");
        for (j = 0; j <= M-1; j++) {
            for (i = 0; i <= 14; i++) {
                fprintf(f,"%d ", random(4)+1);
            }
            fprintf(f,"\n");
        }
    }
    
    ------------------------------------------------------------------------------*/
    
    /*------------------------------------------------------------------------------
    1. Kiiratni a képernyõre a tanulók válaszait.
    ------------------------------------------------------------------------------*/
    
    void elsofeladat() {
        int i , j , jo = 0;
        char anev[30];
        FILE *f , *m;
        m=fopen("megoldas.txt", "rt");
            for (i = 0; i <= 14; i++) {
                fscanf(m,"%d", &megoldas[i]); // a megoldásokat beolvassuk a megoldas tömbbe.
            }
        fclose(m);
        f=fopen("adat.txt", "rt");
            for (i = 0; i <= M-1; i++) {
                fscanf(f, "%s", &anev);         // az anev változóba beolvasom a fájl elsõ stringjét
                strcpy(t[i].nev, anev);     // lemásolom ezt a stringet a rekordom elsõ elemébe
                strcat(t[i].nev, " ");        // a lemásolt adathoz hozzáfûzök egy szóközt
                fscanf(f, "%s", &anev);         // az anev változóba beolvasom a fájl második stringjét
                strcat(t[i].nev, anev);     // hozzáfûzöm ezt a stringet a rekordom elsõ eleméhez
                for (j = 0; j <= 14; j++) { // egy másik ciklussal beolvasom a 15 teszt eredményét az a tömbbe.
                    fscanf(f,"%d", &t[i].a[j]);            // beirom a beolvasott értéket az a tömbbe
                    if (t[i].a[j] == megoldas[j]) {     // he ez a beolvasott érték megeegyezik a megoldás azonos feladatának értékével
                        jo++;                           // növelem a jo -t 1-gyel
                    }
                }
                t[i].a[15]=jo;                // beirom az a tombbe a jo-t.
                jo = 0;                    // jo-t lenullázom, hogy legközelebb is lehessen vele számolni
            }
        fclose(f);
        // most ki fogom irni a fejlecet!
        textcolor(8);
        cprintf("Tanulo neve");
        printf("\t");
        for (j = 1; j <= 15; j++) { // ciklus segítségével a  feladat sorszámáz
            cprintf("%3d",j);
        }
        cprintf(" Jok");            // és végül, hogy jok, mert ott vannak a jó megoldások elmentve
        printf("\n");
        // fejlec vege, most jonnek az adatok
        for (i = 0; i <= M-1; i++) {
            printf("%s\t", t[i].nev);       // kiírom a nevet.
            for (j = 0; j <= 15; j++) {
                printf("%3d", t[i].a[j]);     //ciklus segítségével kiírom an évhez tartozó eredményeket
            }
            printf("\n");                    // sort emelek, a többi tanulonak
        }
    }
    
    /*------------------------------------------------------------------------------
    2. Bekérni egy tanuló nevét és kiíratni csak az õ válaszait.
    ------------------------------------------------------------------------------*/
    
    void masodikfeladat() {
        int i = 0 , j , db = 0;
        char anev[30];
        char neve[30];
        printf("\ntanulo neve: ");
        gets(anev);                             // bekérem a tanuló nevét "aneve" változóba
        strcpy(neve,anev);                      // átmásolom a szóköz miatt...
        for (i = 0; i <= M-1; i++) {
            if (strcmp(t[i].nev,neve)==0) {     // összehasonlítom a bekértet a tárolt nevekkel .. ha egyezik:
                printf("%s\t", t[i].nev);       // kiírom a nevet.
                for (j = 0; j <= 14; j++) {
                    printf("%3d", t[i].a[j]);     //ciklus segítségével kiírom an évhez tartozó eredményeket
                }
                printf("\n");                    // sort emelek, mert több tanulonak lehet ugyanaz a neve
                db++;                           // novelem a db-t.
            }
        }
        if (db==0) {                            // ha db=0, akkor nem volt a névnek megfelelõ tanuló
            printf("Nincs ilyen nevu tanulo az iskolaban!");
        }
        printf("\n");
    }
    
    /*------------------------------------------------------------------------------
    3. Kiírni h volt-e olyan tanuló, akinek mind a 15 válasza helyes.
    ------------------------------------------------------------------------------*/
    
    void harmadikfeladat() {
        int i = 0;
        while (t[i].a[15]!=15 && i<=M-1) {              // az eltarolt "jok" nem egyenlo 15-tel, akkor ciklusban marad, tehát növeli az i-t a megadott korláti
            i++;
        }
        if (i<M) {    // ha volt 15 jo, akkor i kisebb lesz M-nél, ezért kilép .. tehát csak ki kell írnunk:
            printf("volt olyan tanulo, aki mindenre helyesen valaszolt.\n");
        }
        else {
            printf("nem volt mindenre helyesen valaszolo tanulo.\n");
        }
    }
    
    /*------------------------------------------------------------------------------
    4. Kiíratni h volt-e olyan, akinek min 13 helyes válasza volt
    
    szerintem félre írtad a feladatot ... szerintem az a feladat, hogy:
    hányan válaszoltak legalább 13-ra helyesen :) szóval azt fogom megcsinálni ...
    ha tévednék, akkor csak az elõzõben egy feltételt kell átírni:)
    ------------------------------------------------------------------------------*/
    
    void negyedikfeladat() {
        int i = 0 , db = 0;
        for (i = 0; i <= M-1; i++) {        // ciklussal végig megyek az eltárolt adatokon
            if (t[i].a[16]>=13) {             // ha a "jok" 13, vagy annal több, akkor
                db++;                       // db-t novelem.
            }
        }
        if (db==0) {                        // ha db = 0 akkor nem volt
            printf("nem volt semennyi tanulo.\n");
        }
        else {                             // egyébként meg kiiratom db-t.
            printf("%d tanulo irt 13, vagy annal tobb pontot ero teszetet.\n", db);
        }
    }
    
    /*------------------------------------------------------------------------------
    5. Bekérni a feladat sorszámát és kiíratni h kik válaszoltak rá helyesen.
    ------------------------------------------------------------------------------*/
    
    void otodikfeladat() {
        int i , j , ssz;
        printf("\nfeladat sorszama: ");
        scanf("%d",&ssz);                   // bekerem a feladat sorszamat
        if (ssz<1 || ssz>15) {
            printf("hibas szam\n");
        }
        else {
            for (i = 0; i <= M-1; i++) {
                if (megoldas[ssz-1]==t[i].a[ssz-1]) {      //ciklusban osszehasonlitom a megoldasban tarolt és a tanulok altal adott valaszt
                    printf("%s\n", t[i].nev);          // ha jó, kiírom a nevüket
                }
            }
        }
    }
    
    /*------------------------------------------------------------------------------
    6. Készíteni egy másik állományt amibe belekerülnek a tanulók neve és helyes válaszaik száma.
    ------------------------------------------------------------------------------*/
    
    void hatodikfeladat() {
        int i;
        FILE *f;
        f=fopen("helyesvalasz.txt","w+");
            for (i = 0; i <= M-1; i++) {
                fprintf(f,"%s: %d helyes valasz\n", t[i].nev , t[i].a[15] );
            }
        fclose(f);
    }
    
    /*------------------------------------------------------------------------------
    7. Kiíratni a legrosszabb válaszadó(k nevét)
    ------------------------------------------------------------------------------*/
    
    void hetedikfeladat() {
        int i , min ;
        min = t[0].a[15];
        for (i = 0; i <= M-1; i++) {
            if (min>t[i].a[15]) {
                min = t[i].a[15];
            }
        }
        printf("\nlegrosszabb valaszadok: \n");
        for (i = 0; i <= M-1; i++) {
            if (t[i].a[15] == min) {
                printf("%s\n", t[i].nev);
            }
        }
    }

  3. Kedves SixHouse!Nagyon rendes vagy,csak az a gond h túlságosan tudsz:D igazából sok olyan dolog van abban amit írtál amit még nem is vettünk.amúgy már a probléma megoldva,mert volt egy rendes oszt.társam aki segített,és minden happy:) ha valakit érdekel,a kódot berakhatom,bár kétlem h bárkit is érdekel:D

  4. nagyonszépenköszönöm, hálám a sírodig üldözni fog,de ezt ne vedd fenyegetésnek:)

    Majd este meglesem és próbálkozok vele egy jósokáig,csak most rohannom kell melózni. köszi mégegyszer

     

  5. sziasztok! én is egy nagy kéréssel fordulok hozzátok. nagyon kezdő vagyok c-ben és kaptam egy házit jegyre és elég bonyolultnak tűnik nekem,remélem tudtok segíteni.fontos lenne mert ezen múlik az évvégi jegyem.ja,és szerdára kéne beadnom.

    tehát a feladat: egy tesztet írt 3 tanuló.a teszt 15kérdésből állt,minden kérdésre 4 válasz volt,de csak 1 volt a helyes.a helyes megoldást egy meglévő dokumentum tartalmazza szóközökkel elválasztva(megoldas.txt:).a tanuló válaszait egy másik txt tartalmazza a minta alapján

    Pokol Sára

    1 3 2 1 4 3 2 1 2 3 3 2 1 3 4

    Szegfű Olivér

    3 2 3 4 1 2 2 3 1 2 4 1 2 2 4

    Balogi Jolán

    2 4 3 3 3 2 1 4 2 4 2 4 3 2 2

    1.kiíratni a megoldást tartalmazó állományt

    2.kérjük be a tanuló nevét és írassuk ki a válaszait

    3.írassuk ki h volt e 15 helyes válaszos tanuló

    4.volt e min 13 helyes válaszos

    5.bekérni a feladat sorszámát és kiíratni h kik válaszolt rá helyesen

    6. kiírni a nevet és a helyes válaszok számát

    7.kiíratni a legrosszabb válaszadó nevét

    8készíteni egy statisztika.txt-t amiben van:

    -kérdésenként hány helyes válasz

    -átlagosan hány helyes válasz

    -hány fő teljesített 60% felett

    előre is köszönök minden segítséget

  6. A régi sörösüveg visszaváltható.

    A sör 70 év után is jólesik.

    A sör csak habzik, sohasem habozik.

    A sör foltot ki lehet mosni.

    A sör kupakját könnyű levenni.

    A sör mindig nedves.

    A sör mindig türelmesen vár.

    A sör nem beszél vissza.

    A sör nem borul ki, ha nőszagúan jössz haza.

    A sör nem borul ki, ha sörszagúan jössz haza.

    A sör nem hagy el - másik férfiért, - másik noért, - másik sörért.

    A sör nem követel egyenlőséget.

    A sör nem lesz féltékeny, ha megkívánsz egy másik sört.

    A sör olcsóbb.

    A sör sohasem késik.

    A sörből van választék.

    A sörödet biztos megkapod.

    A sörödet megoszthatod barátaiddal.

    A söriváshoz nem kell búvárruha.

    A sörnek nem kell virágot venni.

    A sörnek nincs anyja.

    A sörnek sohasem fáj a feje.

    A sört egész hónapban élvezheted.

    A sört ivás előtt nem kell felizgatni.

    A sört nem kell megmosni, mielőtt megiszod.

    A sörnek nem kell tartásdíjat fizetni.

    Egy korsó sör lefekvés előtt megnyugtat és kellemes álmokat ad.

    A sör mellett lehet nőzni, de nő mellett sörözni ... !?

    A sör nem beszél vissza.

    Több sör együtt sem beszél hülyeséget.

    A sört maximum egyszer látod voszont.

    A sört nyilvános helyen is élvezheted.

    A sört mindig könnyű ledönteni.

    Mindig tudhatod, hogy te nyitottad ki elsőnek.

×
×
  • Create New...