Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

Nejasnoća u zadatku iz prve zadaće
WWW:
Idite na 1, 2, 3  Sljedeće
Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 2. godine -> Strukture podataka i algoritmi
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
ceps
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 08. 10. 2010. (13:03:07)
Postovi: (13A)16
Sarma = la pohva - posuda
71 = 74 - 3

PostPostano: 12:32 uto, 1. 11. 2011    Naslov: Nejasnoća u zadatku iz prve zadaće Citirajte i odgovorite

Moj zadatak je:

Napišite program za zbrajanje i množenje dvaju polinoma zapisanih u obliku: p(x) = c1 xe1 + ... + cn xen, gdje su e1 > e2 > ... > en ≥ 0 .[b] Polinome prikažite vezanom listom. A.t.p. LIST implementirajte pomoću kursora tako da i−ta ćelija liste sadrži koeficijent ci, eksponent ei i kursor na slijedeću ćeliju.[/b]

Nejasnoća je u boldanom dijelu - poznata mi je implementacija atp-a LIST pomoću kursora, ali zašto onda moram polinome prikazati vezanom listom?

Mislim, ako ću stavljati polinome u LIST, zašto ih ne bi stavljao sukladno implementaciji atp-a? Ili se ovdje misli da napravim neku implementaciju koja je spoj kursora i vezane liste?
Moj zadatak je:

Napišite program za zbrajanje i množenje dvaju polinoma zapisanih u obliku: p(x) = c1 xe1 + ... + cn xen, gdje su e1 > e2 > ... > en ≥ 0 . Polinome prikažite vezanom listom. A.t.p. LIST implementirajte pomoću kursora tako da i−ta ćelija liste sadrži koeficijent ci, eksponent ei i kursor na slijedeću ćeliju.

Nejasnoća je u boldanom dijelu - poznata mi je implementacija atp-a LIST pomoću kursora, ali zašto onda moram polinome prikazati vezanom listom?

Mislim, ako ću stavljati polinome u LIST, zašto ih ne bi stavljao sukladno implementaciji atp-a? Ili se ovdje misli da napravim neku implementaciju koja je spoj kursora i vezane liste?


[Vrh]
Korisnički profil Pošaljite privatnu poruku
matmih
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 12. 2006. (22:57:42)
Postovi: (1A4)16
Spol: muško
Sarma = la pohva - posuda
36 = 51 - 15
Lokacija: {Zg, De , Ri}

PostPostano: 18:32 uto, 1. 11. 2011    Naslov: Re: Nejasnoća u zadatku iz prve zadaće Citirajte i odgovorite

[quote="ceps"]Moj zadatak je:

Napišite program za zbrajanje i množenje dvaju polinoma zapisanih u obliku: p(x) = c1 xe1 + ... + cn xen, gdje su e1 > e2 > ... > en ≥ 0 .[b] Polinome prikažite vezanom listom. A.t.p. LIST implementirajte pomoću kursora tako da i−ta ćelija liste sadrži koeficijent ci, eksponent ei i kursor na slijedeću ćeliju.[/b]

Nejasnoća je u boldanom dijelu - poznata mi je implementacija atp-a LIST pomoću kursora, ali zašto onda moram polinome prikazati vezanom listom?

Mislim, ako ću stavljati polinome u LIST, zašto ih ne bi stavljao sukladno implementaciji atp-a? Ili se ovdje misli da napravim neku implementaciju koja je spoj kursora i vezane liste?[/quote]

Implementacija pomoću kursora je također implementacija vezane liste pošto imate kursor na sljedeći element (dok kod implementacije pomoću pointera imate pointer...). Svi ATP-ovi trebaju biti implementirani pomoću kursora. Pročitajte str. 15 u skripti od vježbi.
ceps (napisa):
Moj zadatak je:

Napišite program za zbrajanje i množenje dvaju polinoma zapisanih u obliku: p(x) = c1 xe1 + ... + cn xen, gdje su e1 > e2 > ... > en ≥ 0 . Polinome prikažite vezanom listom. A.t.p. LIST implementirajte pomoću kursora tako da i−ta ćelija liste sadrži koeficijent ci, eksponent ei i kursor na slijedeću ćeliju.

Nejasnoća je u boldanom dijelu - poznata mi je implementacija atp-a LIST pomoću kursora, ali zašto onda moram polinome prikazati vezanom listom?

Mislim, ako ću stavljati polinome u LIST, zašto ih ne bi stavljao sukladno implementaciji atp-a? Ili se ovdje misli da napravim neku implementaciju koja je spoj kursora i vezane liste?


Implementacija pomoću kursora je također implementacija vezane liste pošto imate kursor na sljedeći element (dok kod implementacije pomoću pointera imate pointer...). Svi ATP-ovi trebaju biti implementirani pomoću kursora. Pročitajte str. 15 u skripti od vježbi.


[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
ceps
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 08. 10. 2010. (13:03:07)
Postovi: (13A)16
Sarma = la pohva - posuda
71 = 74 - 3

PostPostano: 19:22 uto, 1. 11. 2011    Naslov: Citirajte i odgovorite

Aha, hoćete reći da sam se zeznuo u terminologiji i da su i implementacija pomoću kursora i implementacija pomoću pointera obadvije dva različita načina implementacije pomoću vezane liste?

Ja sam mislio da je vezana lista = implementacija pomoću pointera jer se jedino takva vezana lista vidi u Programiranju 2. Hvala! :D
Aha, hoćete reći da sam se zeznuo u terminologiji i da su i implementacija pomoću kursora i implementacija pomoću pointera obadvije dva različita načina implementacije pomoću vezane liste?

Ja sam mislio da je vezana lista = implementacija pomoću pointera jer se jedino takva vezana lista vidi u Programiranju 2. Hvala! Very Happy


[Vrh]
Korisnički profil Pošaljite privatnu poruku
matmih
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 12. 2006. (22:57:42)
Postovi: (1A4)16
Spol: muško
Sarma = la pohva - posuda
36 = 51 - 15
Lokacija: {Zg, De , Ri}

PostPostano: 21:34 sri, 2. 11. 2011    Naslov: Citirajte i odgovorite

[quote="ceps"]Aha, hoćete reći da sam se zeznuo u terminologiji i da su i implementacija pomoću kursora i implementacija pomoću pointera obadvije dva različita načina implementacije pomoću vezane liste?

Ja sam mislio da je vezana lista = implementacija pomoću pointera jer se jedino takva vezana lista vidi u Programiranju 2. Hvala! :D[/quote]

Tako je. :)
ceps (napisa):
Aha, hoćete reći da sam se zeznuo u terminologiji i da su i implementacija pomoću kursora i implementacija pomoću pointera obadvije dva različita načina implementacije pomoću vezane liste?

Ja sam mislio da je vezana lista = implementacija pomoću pointera jer se jedino takva vezana lista vidi u Programiranju 2. Hvala! Very Happy


Tako je. Smile


[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
shakespeare
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 19. 11. 2011. (21:55:27)
Postovi: (11)16
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 22:10 sub, 16. 11. 2013    Naslov: Citirajte i odgovorite

Imam i ja problem s listom, tj. redom. Dobila sam zadatak implementirati dvostrani red pomoću vezane liste, a vezanu listu pomoću kursora. Listu znam implementirati (ovdje sam saznala :D ), ali kako implementirati dvostrani red i to tako da bude neovisan o implementaciji (čula sam da takav treba biti, iako ništa ne piše u zadatku)? :/

Neka pomogne tko može! :cry:
Imam i ja problem s listom, tj. redom. Dobila sam zadatak implementirati dvostrani red pomoću vezane liste, a vezanu listu pomoću kursora. Listu znam implementirati (ovdje sam saznala Very Happy ), ali kako implementirati dvostrani red i to tako da bude neovisan o implementaciji (čula sam da takav treba biti, iako ništa ne piše u zadatku)? Ehm?

Neka pomogne tko može! Crying or Very sad


[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (355F)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 1:20 ned, 17. 11. 2013    Naslov: Citirajte i odgovorite

Red ima nekakve funkcije za dodavanje elemenata na jedan kraj i skidanje elemenata s drugog kraja. Dvostrani red ima za dodavanje i skidanje s oba kraja. U terminima liste, to je dodavanje napocetak i kraj liste, te brisanje s pocetka i kraja liste (ali ne u sredini).

Dakle, implementiras funkcije
[tt]DblQuMakeNull[/tt], [tt]DblQuEmpty[/tt], [tt]DblQuEnqueLeft[/tt], [tt]DblQuEnqueRight[/tt], [tt]DblQuDequeLeft[/tt], [tt]DblQuDequeRight[/tt], [tt]DblQuFrontLeft[/tt], [tt]DblQuFrontRight[/tt],
koristeci
[tt]LiMakeNull[/tt], [tt]LiFirst[/tt], [tt]LiEnd[/tt], [tt]LiInsert[/tt], [tt]LiDelete[/tt], i [tt]LiRetrieve[/tt].

Nazivi mozda nisu bas ovakvi kakve sam naveo, jer sluzbeni salabahter nema dvostruki red, no princip bi trebao biti O.K.
Red ima nekakve funkcije za dodavanje elemenata na jedan kraj i skidanje elemenata s drugog kraja. Dvostrani red ima za dodavanje i skidanje s oba kraja. U terminima liste, to je dodavanje napocetak i kraj liste, te brisanje s pocetka i kraja liste (ali ne u sredini).

Dakle, implementiras funkcije
DblQuMakeNull, DblQuEmpty, DblQuEnqueLeft, DblQuEnqueRight, DblQuDequeLeft, DblQuDequeRight, DblQuFrontLeft, DblQuFrontRight,
koristeci
LiMakeNull, LiFirst, LiEnd, LiInsert, LiDelete, i LiRetrieve.

Nazivi mozda nisu bas ovakvi kakve sam naveo, jer sluzbeni salabahter nema dvostruki red, no princip bi trebao biti O.K.



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
shakespeare
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 19. 11. 2011. (21:55:27)
Postovi: (11)16
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 20:10 ned, 17. 11. 2013    Naslov: Citirajte i odgovorite

Aha, aha, hvala! :D Kamo sreće da ste mi baš Vi odgovorili.

A kada su ulazni podaci niz naredi koje opisuju operacije nad poljem (ubaci kraj n, ubaci početak n, izbaci kraj n, izbaci početak n), njih čitam kao stringove? (n naravno kao int)
Aha, aha, hvala! Very Happy Kamo sreće da ste mi baš Vi odgovorili.

A kada su ulazni podaci niz naredi koje opisuju operacije nad poljem (ubaci kraj n, ubaci početak n, izbaci kraj n, izbaci početak n), njih čitam kao stringove? (n naravno kao int)


[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (355F)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 23:04 ned, 17. 11. 2013    Naslov: Citirajte i odgovorite

Ovisi sto je sve moguci ulaz. Ovako kako pise, rekao bih da bi to bilo

[tt]scanf("%s %s %d", naredba, gdje, &broj);[/tt]

Ako naredbe nisu sve oblika [tt]rijec rijec broj[/tt], onda taj [tt]scanf[/tt] treba malo razlomiti i dodati pokoji [tt]if[/tt].
Ovisi sto je sve moguci ulaz. Ovako kako pise, rekao bih da bi to bilo

scanf("%s %s %d", naredba, gdje, &broj);

Ako naredbe nisu sve oblika rijec rijec broj, onda taj scanf treba malo razlomiti i dodati pokoji if.



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
frutabella
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 09. 10. 2010. (16:35:36)
Postovi: (24E)16
Sarma = la pohva - posuda
-5 = 42 - 47

PostPostano: 12:44 ned, 24. 11. 2013    Naslov: Citirajte i odgovorite

Moze li netko, molim vas, pregledati moj zadatak i pronaci gresku. Tekst zadatka glasi kao na pocetku ovog topica (vezano uz polinome, ispis polinoma, zbrajanje i mnozenje).
Trenutno me zanima samo ispis, naime, ovaj moj program ne ispisuje onim redoslijedom kojim bi trebao.

Npr.

unos:

n1= 2 (broj uređenih parova (c,e), gdje je c-koef, e-exp)
1 1
2 2

n2= 2
3 3
4 4



ispis: p1(x)=2x^2+1x^1, a trebao bi biti p1(x)=1x^1+2x^2

Isto tako za p2(x).




[code:1]
#include <stdio.h>
#include<stdlib.h>


typedef struct celltag{

int c;
int e;
struct celltag *next;

}celltype;

typedef struct _STRUKT{

int c;
int e;

}STRUKT;

typedef celltype *List;

typedef celltype *position;


position LiMakeNull(List *Lp){

*Lp=(celltype*)malloc(sizeof(celltype));
(*Lp)->next=NULL;
return (*Lp);
}

void LiInsert (STRUKT x, position p, List *Lp)
{
position temp;
temp=p->next;
p->next=(celltype*)malloc(sizeof(celltype));
p->next->c=x.c;
p->next->e=x.e;
p->next->next=temp;
}




position LiFirst(List Lp)
{
return Lp;
}



position LiNext(position p, List Lp) {

if (p->next == NULL)
{
printf("NEXT: Kriva pozicija.");
exit(1);
}

return p->next;
}


position LiEnd (List Lp)
{

position q;
q=Lp;
while(q->next!=NULL)
q=q->next;
return q;
}


position LiPrevious(position p, List Lp) {
position q;
for (q = Lp; q->next != p; q = q->next);
return q;
}





int LiRetriveC(position p, List Lp) {
return p->next->c;
}

int LiRetriveE(position p, List Lp) {
return p->next->e;
}

int main (void){

int n1, n2, co, ex;
int i, j;


List L1, L2;
STRUKT temp1, temp2;
position p, t;

p=LiMakeNull(&L1);
t=LiMakeNull(&L2);

printf("Upisi n1: ");
scanf("%d", &n1);

for(i=0; i<n1; ++i)
{
printf("Ispisi %d-ti par: \n", i);
scanf("%d %d", &co, &ex);
temp1.c=co;
temp1.e=ex;

LiInsert(temp1, p, &L1);


printf("%d ",LiRetriveC(p, L1));
printf("%d\n",LiRetriveE(p, L1));
}

printf("Upisi n2: ");
scanf("%d", &n2);


for(j=0; j<n2; ++j)
{
printf("\nIspisi %d-ti par: \n", j);
scanf("%d %d", &co, &ex);
temp2.c=co;
temp2.e=ex;
LiInsert(temp2, t, &L2);

printf("%d ",LiRetriveC(t, L2));
printf("%d\n",LiRetriveE(t, L2));
}

p=LiFirst(L1);
t=LiFirst(L2);

printf("p1(x)=");

while(p!=LiEnd(L1))
{

printf("%dx^%d", LiRetriveC(p,L1), LiRetriveE(p,L1));
p=LiNext(p,L1);
if(p!=LiEnd(L1)) printf("+");
}

printf("\n");


printf("p2(x)=");

while(t!=LiEnd(L2))
{

printf("%dx^%d", LiRetriveC(t,L2), LiRetriveE(t,L2));
t=LiNext(t,L2);
if(t!=LiEnd(L2)) printf("+");
}






return 0;

}

[/code:1]

Skuzila sam:

ovdje fali p=LiNext(p, L1), isto tako u drugoj for petlji t=LiNext(t, L1)

[code:1]
for(i=0; i<n1; ++i)
{
printf("Ispisi %d-ti par: \n", i);
scanf("%d %d", &co, &ex);
temp1.c=co;
temp1.e=ex;

LiInsert(temp1, p, &L1);


printf("%d ",LiRetriveC(p, L1));
printf("%d\n",LiRetriveE(p, L1));

[b] p=LiNext(p, L1)[/b]
}
[/code:1]
Moze li netko, molim vas, pregledati moj zadatak i pronaci gresku. Tekst zadatka glasi kao na pocetku ovog topica (vezano uz polinome, ispis polinoma, zbrajanje i mnozenje).
Trenutno me zanima samo ispis, naime, ovaj moj program ne ispisuje onim redoslijedom kojim bi trebao.

Npr.

unos:

n1= 2 (broj uređenih parova (c,e), gdje je c-koef, e-exp)
1 1
2 2

n2= 2
3 3
4 4



ispis: p1(x)=2x^2+1x^1, a trebao bi biti p1(x)=1x^1+2x^2

Isto tako za p2(x).




Kod:

#include <stdio.h>
#include<stdlib.h>


typedef struct celltag{

      int c;
      int e;
      struct celltag *next;

}celltype;

typedef struct _STRUKT{

      int c;
      int e;

}STRUKT;

  typedef celltype *List;

  typedef celltype *position;


   position LiMakeNull(List *Lp){

        *Lp=(celltype*)malloc(sizeof(celltype));
        (*Lp)->next=NULL;
        return (*Lp);
   }

   void LiInsert (STRUKT x, position p, List *Lp)
   {
       position temp;
       temp=p->next;
       p->next=(celltype*)malloc(sizeof(celltype));
       p->next->c=x.c;
       p->next->e=x.e;
       p->next->next=temp;
   }




    position LiFirst(List Lp)
    {
        return Lp;
    }



    position LiNext(position p, List Lp) {

       if (p->next == NULL)
       {
       printf("NEXT: Kriva pozicija.");
       exit(1);
       }

     return p->next;
  }


     position LiEnd (List Lp)
     {

         position q;
         q=Lp;
         while(q->next!=NULL)
            q=q->next;
         return q;
     }


     position LiPrevious(position p, List Lp) {
      position q;
      for (q = Lp; q->next != p; q = q->next);
      return q;
}





    int LiRetriveC(position p, List Lp) {
    return p->next->c;
    }

    int LiRetriveE(position p, List Lp) {
    return p->next->e;
    }

    int main (void){

       int n1, n2, co, ex;
       int i, j;


       List L1, L2;
       STRUKT temp1, temp2;
       position p, t;

       p=LiMakeNull(&L1);
       t=LiMakeNull(&L2);

       printf("Upisi n1: ");
       scanf("%d", &n1);

       for(i=0; i<n1; ++i)
       {
          printf("Ispisi %d-ti par: \n", i);
          scanf("%d  %d", &co, &ex);
          temp1.c=co;
          temp1.e=ex;

          LiInsert(temp1, p, &L1);


          printf("%d ",LiRetriveC(p, L1));
          printf("%d\n",LiRetriveE(p, L1));
       }

        printf("Upisi n2: ");
        scanf("%d", &n2);


        for(j=0; j<n2; ++j)
       {
          printf("\nIspisi %d-ti par: \n", j);
          scanf("%d %d", &co, &ex);
          temp2.c=co;
          temp2.e=ex;
          LiInsert(temp2, t, &L2);

          printf("%d ",LiRetriveC(t, L2));
          printf("%d\n",LiRetriveE(t, L2));
       }

       p=LiFirst(L1);
       t=LiFirst(L2);

       printf("p1(x)=");

       while(p!=LiEnd(L1))
       {

           printf("%dx^%d", LiRetriveC(p,L1), LiRetriveE(p,L1));
           p=LiNext(p,L1);
           if(p!=LiEnd(L1)) printf("+");
       }

       printf("\n");


       printf("p2(x)=");

       while(t!=LiEnd(L2))
       {

           printf("%dx^%d", LiRetriveC(t,L2), LiRetriveE(t,L2));
           t=LiNext(t,L2);
           if(t!=LiEnd(L2)) printf("+");
       }






       return 0;

    }



Skuzila sam:

ovdje fali p=LiNext(p, L1), isto tako u drugoj for petlji t=LiNext(t, L1)

Kod:

 for(i=0; i<n1; ++i)
       {
          printf("Ispisi %d-ti par: \n", i);
          scanf("%d  %d", &co, &ex);
          temp1.c=co;
          temp1.e=ex;

          LiInsert(temp1, p, &L1);


          printf("%d ",LiRetriveC(p, L1));
          printf("%d\n",LiRetriveE(p, L1));

       [b] p=LiNext(p, L1)[/b]
       }




Zadnja promjena: frutabella; 21:49 pon, 25. 11. 2013; ukupno mijenjano 1 put.
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Silenoz
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 15. 10. 2011. (18:45:11)
Postovi: (4F)16
Spol: zombi
Sarma = la pohva - posuda
= 5 - 3

PostPostano: 13:37 ned, 24. 11. 2013    Naslov: Citirajte i odgovorite

Da li u implementaciji binarnog stabla pomoću pointera funkcija BiCreate treba biti void kao u skripti (ima više smisla) ili node kao na šalabahteru (ako da, zašto uopće vraćati nešto što je već promjenjeno i u glavnom programu?)?
Zašto se ne provjerava (ne)uspješnost alokacije u skripti? (tražim error kodove, pa..)


I pitanje koje me buni u vezi gradiva Prog2 (valjda zaboravih): zašto u profesorovoj implementaciji u skripti (recimo za tu istu funkciju) piše
[code:1](*tp)->label=l;[/code:1]
A logikom Prog2 bi bilo ovako:
[code:1]tp->label=l;
(*tp).label=l;[/code:1]
Što sam pomiješao?

EDIT: Imam još pitanja.
Postoji li ikakva razlika između BiLeftSubtree i BiLeftChild iz šalabahtera osim što ovaj jedan vraća preko pokazivača a drugu običnim returnom? Malo mi nema smisla.
I što za ove funkcije koje su nedefinirane, računati da ih neću koristiti ili ih neću (tj netko drugi ko koristi implementaciju) koristiti ili sve ispitivati i zatvarati program na sve nedopušteno uz poruku greške?

Ispada mi najgori dio zadatka napraviti tu implementaciju tipa podataka, tj dešifrirati kako i što bi sve trebalo.
Tipa BiMakeNull ne spominje treba li provjeravati ima li T djece, neke implementacije koje sam vidio ne provjeravaju ali nema mi smisla samo brisati pokazivač i ostaviti memoriju zauzetu ako ima.
Da li u implementaciji binarnog stabla pomoću pointera funkcija BiCreate treba biti void kao u skripti (ima više smisla) ili node kao na šalabahteru (ako da, zašto uopće vraćati nešto što je već promjenjeno i u glavnom programu?)?
Zašto se ne provjerava (ne)uspješnost alokacije u skripti? (tražim error kodove, pa..)


I pitanje koje me buni u vezi gradiva Prog2 (valjda zaboravih): zašto u profesorovoj implementaciji u skripti (recimo za tu istu funkciju) piše
Kod:
(*tp)->label=l;

A logikom Prog2 bi bilo ovako:
Kod:
tp->label=l;
(*tp).label=l;

Što sam pomiješao?

EDIT: Imam još pitanja.
Postoji li ikakva razlika između BiLeftSubtree i BiLeftChild iz šalabahtera osim što ovaj jedan vraća preko pokazivača a drugu običnim returnom? Malo mi nema smisla.
I što za ove funkcije koje su nedefinirane, računati da ih neću koristiti ili ih neću (tj netko drugi ko koristi implementaciju) koristiti ili sve ispitivati i zatvarati program na sve nedopušteno uz poruku greške?

Ispada mi najgori dio zadatka napraviti tu implementaciju tipa podataka, tj dešifrirati kako i što bi sve trebalo.
Tipa BiMakeNull ne spominje treba li provjeravati ima li T djece, neke implementacije koje sam vidio ne provjeravaju ali nema mi smisla samo brisati pokazivač i ostaviti memoriju zauzetu ako ima.
[Vrh]
Korisnički profil Pošaljite privatnu poruku
kslaven
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 17. 10. 2010. (18:07:06)
Postovi: (52)16
Spol: muško
Sarma = la pohva - posuda
33 = 36 - 3

PostPostano: 2:26 pon, 25. 11. 2013    Naslov: Citirajte i odgovorite

[quote="Silenoz"]Da li u implementaciji binarnog stabla pomoću pointera funkcija BiCreate treba biti void kao u skripti (ima više smisla) ili node kao na šalabahteru (ako da, zašto uopće vraćati nešto što je već promjenjeno i u glavnom programu?)?[/quote]

Odlučili smo taj izbor prepustiti studentima.

[quote]
I pitanje koje me buni u vezi gradiva Prog2 (valjda zaboravih): zašto u profesorovoj implementaciji u skripti (recimo za tu istu funkciju) piše
[code:1](*tp)->label=l;[/code:1]
[/quote]

tp je ovdje pointer na bin. stablo, tj. [b]pointer na pointer na celltype[/b]. Dakle, na slici 3.16 (v. skripta) tp bi bio kvadratić koji pokazuje na kvadratić koji pokazuje na korijen.

[quote]
A logikom Prog2 bi bilo ovako:
[code:1]tp->label=l;
(*tp).label=l;[/code:1]
Što sam pomiješao?
[/quote]

Gornji kod bi imao smisla kada bi tp bio bin. stablo, tj. [b]pointer na celltype[/b] (što nije).
[quote]
EDIT: Imam još pitanja.
Postoji li ikakva razlika između BiLeftSubtree i BiLeftChild iz šalabahtera osim što ovaj jedan vraća preko pokazivača a drugu običnim returnom? Malo mi nema smisla.
[/quote]

Jedna vraća bin. podstablo, a druga čvor.

[quote]
I što za ove funkcije koje su nedefinirane, računati da ih neću koristiti ili ih neću (tj netko drugi ko koristi implementaciju) koristiti ili sve ispitivati i zatvarati program na sve nedopušteno uz poruku greške?
[/quote]

Ako za neku f-ju piše samo da je za neki ulaz nedefinirana, slobodno preskočite provjeru ispravnosti ulaza.
Silenoz (napisa):
Da li u implementaciji binarnog stabla pomoću pointera funkcija BiCreate treba biti void kao u skripti (ima više smisla) ili node kao na šalabahteru (ako da, zašto uopće vraćati nešto što je već promjenjeno i u glavnom programu?)?


Odlučili smo taj izbor prepustiti studentima.

Citat:

I pitanje koje me buni u vezi gradiva Prog2 (valjda zaboravih): zašto u profesorovoj implementaciji u skripti (recimo za tu istu funkciju) piše
Kod:
(*tp)->label=l;



tp je ovdje pointer na bin. stablo, tj. pointer na pointer na celltype. Dakle, na slici 3.16 (v. skripta) tp bi bio kvadratić koji pokazuje na kvadratić koji pokazuje na korijen.

Citat:

A logikom Prog2 bi bilo ovako:
Kod:
tp->label=l;
(*tp).label=l;

Što sam pomiješao?


Gornji kod bi imao smisla kada bi tp bio bin. stablo, tj. pointer na celltype (što nije).
Citat:

EDIT: Imam još pitanja.
Postoji li ikakva razlika između BiLeftSubtree i BiLeftChild iz šalabahtera osim što ovaj jedan vraća preko pokazivača a drugu običnim returnom? Malo mi nema smisla.


Jedna vraća bin. podstablo, a druga čvor.

Citat:

I što za ove funkcije koje su nedefinirane, računati da ih neću koristiti ili ih neću (tj netko drugi ko koristi implementaciju) koristiti ili sve ispitivati i zatvarati program na sve nedopušteno uz poruku greške?


Ako za neku f-ju piše samo da je za neki ulaz nedefinirana, slobodno preskočite provjeru ispravnosti ulaza.


[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
Silenoz
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 15. 10. 2011. (18:45:11)
Postovi: (4F)16
Spol: zombi
Sarma = la pohva - posuda
= 5 - 3

PostPostano: 13:10 pon, 25. 11. 2013    Naslov: Citirajte i odgovorite

Hvala, dio mi je dosta jasniji. Drugo pitam u pp, da ne pilam puk.
Hvala, dio mi je dosta jasniji. Drugo pitam u pp, da ne pilam puk.
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Popara
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 17. 08. 2012. (19:05:50)
Postovi: (3B)16
Spol: muško
Sarma = la pohva - posuda
= 6 - 2
Lokacija: Zadar/Zagreb

PostPostano: 20:14 pon, 25. 11. 2013    Naslov: Citirajte i odgovorite

Jedno pitanje tehničke prirode: U zadatku mi piše napišite potprogram koji ...
Jeli to znači da ja moram imati neku funkciju koju ću u mainu pozvati da mi napravi to što treba ili mogu to sve u mainu napraviti? (pri tome ne mislim na funkcije vezane za implementaciju te strukture podataka)
Jedno pitanje tehničke prirode: U zadatku mi piše napišite potprogram koji ...
Jeli to znači da ja moram imati neku funkciju koju ću u mainu pozvati da mi napravi to što treba ili mogu to sve u mainu napraviti? (pri tome ne mislim na funkcije vezane za implementaciju te strukture podataka)


[Vrh]
Korisnički profil Pošaljite privatnu poruku
kslaven
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 17. 10. 2010. (18:07:06)
Postovi: (52)16
Spol: muško
Sarma = la pohva - posuda
33 = 36 - 3

PostPostano: 22:40 pon, 25. 11. 2013    Naslov: Citirajte i odgovorite

[quote="Popara"]Jedno pitanje tehničke prirode: U zadatku mi piše napišite potprogram koji ...
Jeli to znači da ja moram imati neku funkciju koju ću u mainu pozvati da mi napravi to što treba ili mogu to sve u mainu napraviti? (pri tome ne mislim na funkcije vezane za implementaciju te strukture podataka)[/quote]

Napišite to kao posebnu funkciju (koju pozivate u mainu). Tako je preglednije. :)
Popara (napisa):
Jedno pitanje tehničke prirode: U zadatku mi piše napišite potprogram koji ...
Jeli to znači da ja moram imati neku funkciju koju ću u mainu pozvati da mi napravi to što treba ili mogu to sve u mainu napraviti? (pri tome ne mislim na funkcije vezane za implementaciju te strukture podataka)


Napišite to kao posebnu funkciju (koju pozivate u mainu). Tako je preglednije. Smile


[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
Popara
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 17. 08. 2012. (19:05:50)
Postovi: (3B)16
Spol: muško
Sarma = la pohva - posuda
= 6 - 2
Lokacija: Zadar/Zagreb

PostPostano: 23:35 pon, 25. 11. 2013    Naslov: Citirajte i odgovorite

[quote="kslaven"][quote="Popara"]Jedno pitanje tehničke prirode: U zadatku mi piše napišite potprogram koji ...
Jeli to znači da ja moram imati neku funkciju koju ću u mainu pozvati da mi napravi to što treba ili mogu to sve u mainu napraviti? (pri tome ne mislim na funkcije vezane za implementaciju te strukture podataka)[/quote]

Napišite to kao posebnu funkciju (koju pozivate u mainu). Tako je preglednije. :)[/quote]

Ok. Još jedno slično pitanje, jeli možemo pretpostaviti da su ulazni podatci istog oblika kao u primjeru tj. npr. da su sve velika slova abecede?
kslaven (napisa):
Popara (napisa):
Jedno pitanje tehničke prirode: U zadatku mi piše napišite potprogram koji ...
Jeli to znači da ja moram imati neku funkciju koju ću u mainu pozvati da mi napravi to što treba ili mogu to sve u mainu napraviti? (pri tome ne mislim na funkcije vezane za implementaciju te strukture podataka)


Napišite to kao posebnu funkciju (koju pozivate u mainu). Tako je preglednije. Smile


Ok. Još jedno slično pitanje, jeli možemo pretpostaviti da su ulazni podatci istog oblika kao u primjeru tj. npr. da su sve velika slova abecede?


[Vrh]
Korisnički profil Pošaljite privatnu poruku
kslaven
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 17. 10. 2010. (18:07:06)
Postovi: (52)16
Spol: muško
Sarma = la pohva - posuda
33 = 36 - 3

PostPostano: 0:12 uto, 26. 11. 2013    Naslov: Citirajte i odgovorite

[quote="Popara"]
Ok. Još jedno slično pitanje, jeli možemo pretpostaviti da su ulazni podatci istog oblika kao u primjeru tj. npr. da su sve velika slova abecede?[/quote]

Kako glase tekst zadatka i taj primjer? Pretpostavljam da ćete, ako ste već uspjeli nešto isprogramirati za velika slova, uspjeti to isto napraviti i za ona mala...
Popara (napisa):

Ok. Još jedno slično pitanje, jeli možemo pretpostaviti da su ulazni podatci istog oblika kao u primjeru tj. npr. da su sve velika slova abecede?


Kako glase tekst zadatka i taj primjer? Pretpostavljam da ćete, ako ste već uspjeli nešto isprogramirati za velika slova, uspjeti to isto napraviti i za ona mala...


[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
white_butterfly
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 14. 10. 2011. (17:44:57)
Postovi: (40)16
Spol: žensko
Sarma = la pohva - posuda
-1 = 1 - 2

PostPostano: 18:03 uto, 26. 11. 2013    Naslov: Citirajte i odgovorite

Imam jedno pitanje. U mojem zadatku moram kao ulazni podatak učitati string koji predstavlja logički izraz, da li moram sama odrediti koja će biti duljina stringa, tj. ograničiti ga?
Imam jedno pitanje. U mojem zadatku moram kao ulazni podatak učitati string koji predstavlja logički izraz, da li moram sama odrediti koja će biti duljina stringa, tj. ograničiti ga?


[Vrh]
Korisnički profil Pošaljite privatnu poruku
frutabella
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 09. 10. 2010. (16:35:36)
Postovi: (24E)16
Sarma = la pohva - posuda
-5 = 42 - 47

PostPostano: 20:01 uto, 26. 11. 2013    Naslov: Citirajte i odgovorite

Pitanje:

vracam se opet na polinome, ulazni podaci su uređeni parovi (c, e), gdje e predstavlja eksponent.
U primjeru ste naveli eksponente po velicini (od najveceg prema najmanjem), da li je potrebno napraviti posebno sort liste po eksponentima, ili nije potrebno (ako ce te nam ulazne podatke vec dati sortirane)?
Pitanje:

vracam se opet na polinome, ulazni podaci su uređeni parovi (c, e), gdje e predstavlja eksponent.
U primjeru ste naveli eksponente po velicini (od najveceg prema najmanjem), da li je potrebno napraviti posebno sort liste po eksponentima, ili nije potrebno (ako ce te nam ulazne podatke vec dati sortirane)?


[Vrh]
Korisnički profil Pošaljite privatnu poruku
kslaven
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 17. 10. 2010. (18:07:06)
Postovi: (52)16
Spol: muško
Sarma = la pohva - posuda
33 = 36 - 3

PostPostano: 20:25 uto, 26. 11. 2013    Naslov: Citirajte i odgovorite

[quote="white_butterfly"]Imam jedno pitanje. U mojem zadatku moram kao ulazni podatak učitati string koji predstavlja logički izraz, da li moram sama odrediti koja će biti duljina stringa, tj. ograničiti ga?[/quote]

Možete sami ograničiti duljinu stringa.

[quote="frutabella"]Pitanje:

vracam se opet na polinome, ulazni podaci su uređeni parovi (c, e), gdje e predstavlja eksponent.
U primjeru ste naveli eksponente po velicini (od najveceg prema najmanjem), da li je potrebno napraviti posebno sort liste po eksponentima, ili nije potrebno (ako ce te nam ulazne podatke vec dati sortirane)?[/quote]

Ako ne piše u zadatku, onda nije potrebno sortirati listu. Ali možete, ako Vam je gušt...
white_butterfly (napisa):
Imam jedno pitanje. U mojem zadatku moram kao ulazni podatak učitati string koji predstavlja logički izraz, da li moram sama odrediti koja će biti duljina stringa, tj. ograničiti ga?


Možete sami ograničiti duljinu stringa.

frutabella (napisa):
Pitanje:

vracam se opet na polinome, ulazni podaci su uređeni parovi (c, e), gdje e predstavlja eksponent.
U primjeru ste naveli eksponente po velicini (od najveceg prema najmanjem), da li je potrebno napraviti posebno sort liste po eksponentima, ili nije potrebno (ako ce te nam ulazne podatke vec dati sortirane)?


Ako ne piše u zadatku, onda nije potrebno sortirati listu. Ali možete, ako Vam je gušt...


[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
frutabella
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 09. 10. 2010. (16:35:36)
Postovi: (24E)16
Sarma = la pohva - posuda
-5 = 42 - 47

PostPostano: 20:38 uto, 26. 11. 2013    Naslov: Citirajte i odgovorite

[quote="kslaven"][quote="white_butterfly"]Imam jedno pitanje. U mojem zadatku moram kao ulazni podatak učitati string koji predstavlja logički izraz, da li moram sama odrediti koja će biti duljina stringa, tj. ograničiti ga?[/quote]

Možete sami ograničiti duljinu stringa.

[quote="frutabella"]Pitanje:

vracam se opet na polinome, ulazni podaci su uređeni parovi (c, e), gdje e predstavlja eksponent.
U primjeru ste naveli eksponente po velicini (od najveceg prema najmanjem), da li je potrebno napraviti posebno sort liste po eksponentima, ili nije potrebno (ako ce te nam ulazne podatke vec dati sortirane)?[/quote]

Ako ne piše u zadatku, onda nije potrebno sortirati listu. Ali možete, ako Vam je gušt...[/quote]

Pocela sam pa sam skuzila da nije bas jednostavno, zato sam i pitala da ne bi bilo iznenađenja... :)
kslaven (napisa):
white_butterfly (napisa):
Imam jedno pitanje. U mojem zadatku moram kao ulazni podatak učitati string koji predstavlja logički izraz, da li moram sama odrediti koja će biti duljina stringa, tj. ograničiti ga?


Možete sami ograničiti duljinu stringa.

frutabella (napisa):
Pitanje:

vracam se opet na polinome, ulazni podaci su uređeni parovi (c, e), gdje e predstavlja eksponent.
U primjeru ste naveli eksponente po velicini (od najveceg prema najmanjem), da li je potrebno napraviti posebno sort liste po eksponentima, ili nije potrebno (ako ce te nam ulazne podatke vec dati sortirane)?


Ako ne piše u zadatku, onda nije potrebno sortirati listu. Ali možete, ako Vam je gušt...


Pocela sam pa sam skuzila da nije bas jednostavno, zato sam i pitala da ne bi bilo iznenađenja... Smile


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 2. godine -> Strukture podataka i algoritmi Vremenska zona: GMT + 01:00.
Idite na 1, 2, 3  Sljedeće
Stranica 1 / 3.

 
Forum(o)Bir:  
Ne možete otvarati nove teme.
Ne možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan