Morzel

Hozzászólások

10 bejegyzés megtekintése - 381-390 / 395
  • Szerző
    Bejegyzés
  • Hozzászólás: EOF #1936225
    Morzel
    Felhasználó

      DOS-ban igen :))))
      Linux alatt a CTRL-Z háttérbe teszi a processt, az EOF a CTRL-D

      Köszönöm!
      Amint hazaérek a munka hevébõl, kipróbálom.

      Hozzászólás: recseg a hangkártya #1931064
      Morzel
      Felhasználó
        Hozzászólás: Multilista #1935373
        Morzel
        Felhasználó

          Na a végére meg lett 🙂

          Ha valakit érdekel:


          /* sorokat olvas be szabvanyos bemenetrol. A sorok egy erdemjegyet es egy
          Neptun-kodot tartalmaznak vesszovel elvalasztva. A sorok szama tetszoleges.
          A program EOF-ig olvas. Kilistazza Beptun-kod szerint, majd erkezesi sorrend
          szerint az adatokat. */

          #include”stdio.h”
          #include”stdlib.h”
          #include”string.h”

          #define SORHOSSZ 10

          /* a listaelemet tarolo struktura */
          typedef struct elem
          {
          unsigned int jegy; /* az erdemjegy */
          char *neptun; /* a neptunkod */
          struct elem *kov1; /* a kovetkezo listaelem az elso listaban */
          struct elem *kov2; /* a kovetkezo listaelem a masodik listaban */
          }elem;

          elem *fej1 = NULL; /* az elso lista feje */
          elem *fej2 = NULL; /* a masodik lista feje */

          int kissebb(char *s1, char *s2) /* osszehasonlit ket szovaget */
          {
          int i=0;

          while (s1 == s2)
          i++;

          if (s1 jegy = jegy;
          ujelem->neptun = neptun;
          ujelem->kov1 = NULL;
          ujelem->kov2 = NULL;

          return ujelem;
          }

          char *szovegdupl(char s[]) /* karaktersorozat duplazasa */
          {
          char *p;

          p = (char *) malloc(strlen(s) + 1);
          if (p != NULL)
          strcpy(p, s);
          return p;
          }

          void beilleszt(unsigned int jegy, char *neptun) /* uj elem a multilistaba */
          {
          elem *ujelem, *p = fej1;

          if (fej1 == NULL) { /* ha ures a multilistank */
          fej1 = fej2 = foglal_elem(jegy, szovegdupl(neptun));
          return;
          }

          ujelem = foglal_elem(jegy, szovegdupl(neptun));
          /* megkeressuk a helyet az elso listaban */

          if (kissebb(fej1->neptun, neptun)) {
          while (p->kov1 && kissebb(p->kov1->neptun, neptun))
          p = p->kov1;

          ujelem->kov1 = p->kov1;
          p->kov1 = ujelem;
          }
          else {
          ujelem->kov1 = fej1;
          fej1 = ujelem;
          }

          /* hozzafuzzuk a masodik listahoz */
          p = fej2;
          while (p->kov2)
          p = p->kov2;
          p->kov2 = ujelem;

          return;
          }

          elem *lista_torol(elem *p) /* a mutilista felszabaditasa */
          {
          elem *tmp;

          while (p) {
          tmp = p->kov1;
          free(p);
          p = tmp;
          }

          return NULL;
          }

          main() {

          elem *akt;

          char neptun[SORHOSSZ]; /* az aktualis sornak */
          unsigned int jegy; /* az aktualis erdemjegynek */

          while (scanf(„%u,%s”, &jegy, neptun) != EOF) /* adatok bekerese */
          beilleszt(jegy, neptun); /* lancolas */

          akt = fej1; /* az elso lista kiirasa */
          while (akt != NULL) {
          printf(„%u %sn”, akt->jegy, akt-> neptun);
          akt = akt->kov1;
          }
          printf(„—n”);
          akt = fej2; /* a masodik lista kiirasa */
          while (akt != NULL) {
          printf(„%u %sn”, akt->jegy, akt-> neptun);
          akt = akt->kov2;
          }

          lista_torol(fej1); /* a mulitilista torlese */

          system(„PAUSE”);
          return 0;
          }


          Hozzászólás: Multilista #1935370
          Morzel
          Felhasználó

            A qsort() része az ANSII szabványnak?
            Sajnos most nincs nálam a C könyv.

            Hozzászólás: Multilista #1935367
            Morzel
            Felhasználó

              Bár nem akartam megadni a feladatot, de legyen:


              Hozzászólás: Multilista #1935365
              Morzel
              Felhasználó

                Multilista:
                Speciális lista. Az adatelem összetett.

                Három típusa van:
                a.) A feldolgozást setgítendõ ahány feldolgozási szempontból szeretném látni az adatelemeket, annyi cím van.
                Több lánc van, de minden elem elõfordul minden láncban.
                b.) Alapesetben egy cím van. Az adatelem atomi. Viszont több lánc van. Részláncokat alakítok ki. Egy részláncba összefûzöm az azonos csoportba esõ elemeket. Minden adatelem pontosan egy részláncban szerepel.
                Több fej van (annyi, ahány részlánc van).
                c.) (amit mindenki ismer)
                A társzerkezet három részbõl áll.
                -adatrész (adatelemet, vagy egy listafejet tartalmaz)
                -mutatórész
                -a harmadik rész jelöli, hogy a társzerkezet adatelemet, vagy fejet tartalmaz. (minõsítõ rész)


                Engem az érdekel, hogy milyen lépések kellenek az a.) típus leprogramozásához. (Bármilyen durva algoritmus megteszi, amire már tudok építeni.)

                Hozzászólás: Multilista #1935361
                Morzel
                Felhasználó

                  Ezek olyan listaelemek, amelyek egyszerre több adatot várnak, általában tetszõleges kombinációban. pl.:  

                  A felhasználó választhat, hogy melyik adatokat adja meg:
                  Két befogó  
                  Egy befogó és egy átfogó  
                  Egy befogó és a mellette lévõ szög  
                  Egy befogó és a szemben lévõ szög  
                  Az átfogó és az egyik mellette lévõ szög  

                  A program kiírja képernyõre a kívánt adatokat:  
                  a három oldal (a, b, c)  
                  az átfogón fekvõ két szög (?, ?)  
                  kerület és terület

                  Amit mondasz, az nem a változó rekord?
                  Engem a multilista programozástechnikai szempontból érdekel.
                  / az, hogy hogyan építsem fel a programomban /

                  ….

                  Jézusom, milyen hülyén fogalmaztam meg! 😆

                  Hozzászólás: Gyilkolni akarok!!! #1926954
                  Morzel
                  Felhasználó
                    Hozzászólás: Gyilkolni akarok!!! #1926944
                    Morzel
                    Felhasználó
                      Hozzászólás: Gyilkolni akarok!!! #1926940
                      Morzel
                      Felhasználó

                        Nincs a vinyó rackben. 80GB-os vinyót nem hurcolnék magammal, sajnos még nem állok úgy anyagilag. Sajnos… ❗

                      10 bejegyzés megtekintése - 381-390 / 395