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

Kolokvij 09/10 (pomoć oko zadatka)
WWW:
Idite na 1, 2  Sljedeće
Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
wrathchild
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 09. 07. 2010. (21:25:00)
Postovi: (31)16
Sarma = la pohva - posuda
= 11 - 8

PostPostano: 17:13 sri, 30. 5. 2012    Naslov: Kolokvij 09/10 (pomoć oko zadatka) Citirajte i odgovorite

Link na kolokvij http://degiorgi.math.hr/prog2/kolokviji/p2-kolokvij-0910-2.pdf
Nije mi baš najjasniji 3. zadatak. Ja san to nekako shvatija dosta jednostavnije nego li je napravljeno u rješenju, pa me zanima gdje griješim.
[code:1]int nadji(FILE *f, const char *naziv){
rewind(f); //vracamo se na pocetak;
int cnt=-1; //cnt je -1 jer brojanje krece od 0 prema zadatku, odma u for petlji se podigne na 0;
Ponuda ponuda;
while(fread(&ponuda, sizeof(Ponuda), 1, f)==1){
//ucitavam jednu po jednu ponudu i povecavam broj
cnt++;
if(strcmp(ponuda->naziv, naziv)==0){
//ako su nazivi jednaki, od mjesta do kojeg sam stigao vratim se za jednu ponudu unazad, kako bi pokazivao na pocetak moje ponude, vratim broj ponude cnt i to je to
fseek(f, -sizeof(ponuda), SEEK_SET);
return cnt;
}
}
return EOF;
}[/code:1]

Sad, što sam krivo shvatio? :)
Link na kolokvij http://degiorgi.math.hr/prog2/kolokviji/p2-kolokvij-0910-2.pdf
Nije mi baš najjasniji 3. zadatak. Ja san to nekako shvatija dosta jednostavnije nego li je napravljeno u rješenju, pa me zanima gdje griješim.
Kod:
int nadji(FILE *f, const char *naziv){
    rewind(f); //vracamo se na pocetak;
    int cnt=-1; //cnt je -1 jer brojanje krece od 0 prema zadatku, odma u for petlji se podigne na 0;
    Ponuda ponuda;
    while(fread(&ponuda, sizeof(Ponuda), 1, f)==1){
       //ucitavam jednu po jednu ponudu i povecavam broj
            cnt++;
        if(strcmp(ponuda->naziv, naziv)==0){
      //ako su nazivi jednaki, od mjesta do kojeg sam stigao vratim se za jednu ponudu unazad, kako bi pokazivao na pocetak moje ponude, vratim broj ponude cnt i to je to
            fseek(f, -sizeof(ponuda), SEEK_SET);
            return cnt;
        }
    }
    return EOF;
}


Sad, što sam krivo shvatio? Smile


[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: 17:57 sri, 30. 5. 2012    Naslov: Citirajte i odgovorite

Ovo tvoje nema optimalnu slozenost jer ne koristis sortiranost datoteke. Drugim rijecima, radis sekvencijalno, a ne binarno trazenje.
Ovo tvoje nema optimalnu slozenost jer ne koristis sortiranost datoteke. Drugim rijecima, radis sekvencijalno, a ne binarno trazenje.



_________________
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
wrathchild
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 09. 07. 2010. (21:25:00)
Postovi: (31)16
Sarma = la pohva - posuda
= 11 - 8

PostPostano: 18:05 sri, 30. 5. 2012    Naslov: Citirajte i odgovorite

Dobro, ali ovaj dio koda je ispravan, npr. ovo je za onih 7 bodova?
Dobro, ali ovaj dio koda je ispravan, npr. ovo je za onih 7 bodova?


[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: 22:07 sri, 30. 5. 2012    Naslov: Citirajte i odgovorite

Izgleda tocno.
Izgleda tocno.



_________________
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
wrathchild
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 09. 07. 2010. (21:25:00)
Postovi: (31)16
Sarma = la pohva - posuda
= 11 - 8

PostPostano: 17:45 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

Imam jos jedno pitanje.
Treba učitavati podatke iz datoteke, slagati ih u listu ali da podaci u listi budu u istom poretku kao i u datoteci.
Zanima me jel moja ideja dobra.

(Nakon što sam učitao prvi element liste dio koda ide ovako)
[code:1]while(p->next) p=p->next;
p->next=novi;
novi->next=NULL;[/code:1]
Znaci sa pointerom p dodem do kraja liste i samo stavim da mi p->next pokazuje na novog (novi je vec alociran). I još dodam novi->next=NULL jer je to sada kraj liste.
Imam jos jedno pitanje.
Treba učitavati podatke iz datoteke, slagati ih u listu ali da podaci u listi budu u istom poretku kao i u datoteci.
Zanima me jel moja ideja dobra.

(Nakon što sam učitao prvi element liste dio koda ide ovako)
Kod:
while(p->next) p=p->next;
   p->next=novi;
   novi->next=NULL;

Znaci sa pointerom p dodem do kraja liste i samo stavim da mi p→next pokazuje na novog (novi je vec alociran). I još dodam novi→next=NULL jer je to sada kraj liste.


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


Pridružen/a: 22. 11. 2011. (20:18:49)
Postovi: (6F)16
Sarma = la pohva - posuda
20 = 22 - 2

PostPostano: 17:50 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

[b]podzadatak kaže :D[/b]
Napisite funkciju deset(element *first, element second), gdje je first pokazivac na prvi element liste, koja ubacuje element second u listu first i to nakon desetog elementa liste. Ako lista ima manje od deset elementa, funkcija ne radi nista.

[code:1]element* deset(element *first, element second)
{
element *p;
int i=0;

for(p=first;p!=NULL;p=p->next)
{
i++;
if(i==10){
second->next=p->next;
p->next=*second;
return first;
}
}
return first;
}
[/code:1]

zanima me sao dali mi radi kod kako treba, tj sumljiv mi je ovaj [b] p->next=*second;[/b]

unapijed jedno veliko HVALA! 8)
podzadatak kaže Very Happy
Napisite funkciju deset(element *first, element second), gdje je first pokazivac na prvi element liste, koja ubacuje element second u listu first i to nakon desetog elementa liste. Ako lista ima manje od deset elementa, funkcija ne radi nista.

Kod:
element* deset(element *first, element second)
{
    element *p;
    int i=0;
   
    for(p=first;p!=NULL;p=p->next)
    {
        i++;
        if(i==10){
            second->next=p->next;
            p->next=*second;
            return first;
        }
    }
    return first;
}


zanima me sao dali mi radi kod kako treba, tj sumljiv mi je ovaj p→next=*second;

unapijed jedno veliko HVALA! Cool




Zadnja promjena: aj_ca_volin_te; 18:40 čet, 31. 5. 2012; ukupno mijenjano 2 put/a.
[Vrh]
Korisnički profil Pošaljite privatnu poruku
quark
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 22. 10. 2011. (16:47:39)
Postovi: (DA)16
Spol: muško
Sarma = la pohva - posuda
20 = 26 - 6

PostPostano: 18:31 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

[tt]second[/tt] ti je lokalna varijabla :wink:
Ali svejedno mi[tt]*second[/tt] nije jasan :?
second ti je lokalna varijabla Wink
Ali svejedno mi*second nije jasan Confused


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


Pridružen/a: 22. 11. 2011. (20:18:49)
Postovi: (6F)16
Sarma = la pohva - posuda
20 = 22 - 2

PostPostano: 18:41 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

haha...meni sada nista nije jasno :?
haha...meni sada nista nije jasno Confused


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


Pridružen/a: 22. 10. 2011. (16:47:39)
Postovi: (DA)16
Spol: muško
Sarma = la pohva - posuda
20 = 26 - 6

PostPostano: 18:52 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

[quote="aj_ca_volin_te"]haha...meni sada nista nije jasno :?[/quote]

Dakle, tebi u funkciju dolazi neka varijabla tipa [tt]struct[/tt]; dakle, lokalnog je tipa. Ti tu manipuliraš s njezinom adresom, ali kad izađeš iz funkcije ta će varijabla nestati i lista će se raspasti. Potrebno je alocirati novo mjesto u memoriji, dobro ga spojiti i prekopirati sadržaj iz varijable [tt]second[/tt] na to novo mjesto pazeći na [tt].[/tt] i [tt]->[/tt]
aj_ca_volin_te (napisa):
haha...meni sada nista nije jasno Confused


Dakle, tebi u funkciju dolazi neka varijabla tipa struct; dakle, lokalnog je tipa. Ti tu manipuliraš s njezinom adresom, ali kad izađeš iz funkcije ta će varijabla nestati i lista će se raspasti. Potrebno je alocirati novo mjesto u memoriji, dobro ga spojiti i prekopirati sadržaj iz varijable second na to novo mjesto pazeći na . i


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


Pridružen/a: 22. 11. 2011. (20:18:49)
Postovi: (6F)16
Sarma = la pohva - posuda
20 = 22 - 2

PostPostano: 18:58 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

dada fala puno pogleda sam u sluzbenim rjesenjima i sada mi je jasno, mislia sam da jednostavno mogu izbjeci maloc ali nece ici tako izgleda :D
dada fala puno pogleda sam u sluzbenim rjesenjima i sada mi je jasno, mislia sam da jednostavno mogu izbjeci maloc ali nece ici tako izgleda Very Happy


[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: 19:13 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

@wrathchild: Da, to bi bilo dodavanje jednog elementa na kraj liste. No, ako ih dodajes vise (cijelu datoteku!) onda neces stalno traziti kraj, nego ces valjda imati pomocnu varijablu [tt]last[/tt], [tt]zadnji[/tt] ili tako nekako. Radili smo to i na vjezbama i na predavanjima.

[quote="aj_ca_volin_te"]zanima me sao dali mi radi kod kako treba,[/quote]

Svasta... :ajme: Pa, probaj! :prodike: Ni ja ne pisem programe tako da ih nakucam, pa "valjda rade". Treba isprobati stvar. Ovo tvoje, da si samo probao compilirati, pljunulo bi ti gresku jer dereferenciras [tt]struct[/tt].

Kao i svake godine, tkogod misli uciti programirati na papiru, umjesto na racunalu, nece se dobro provesti... :(
@wrathchild: Da, to bi bilo dodavanje jednog elementa na kraj liste. No, ako ih dodajes vise (cijelu datoteku!) onda neces stalno traziti kraj, nego ces valjda imati pomocnu varijablu last, zadnji ili tako nekako. Radili smo to i na vjezbama i na predavanjima.

aj_ca_volin_te (napisa):
zanima me sao dali mi radi kod kako treba,


Svasta... Ajme, majko! Pa, probaj! Drzim prodike Ni ja ne pisem programe tako da ih nakucam, pa "valjda rade". Treba isprobati stvar. Ovo tvoje, da si samo probao compilirati, pljunulo bi ti gresku jer dereferenciras struct.

Kao i svake godine, tkogod misli uciti programirati na papiru, umjesto na racunalu, nece se dobro provesti... Sad



_________________
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
aj_ca_volin_te
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 22. 11. 2011. (20:18:49)
Postovi: (6F)16
Sarma = la pohva - posuda
20 = 22 - 2

PostPostano: 20:59 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

...ja ne ucim programirati na papiru :evil: na njemu rjesavam stvari koje mislim da znam rjesiti 8)
...ja ne ucim programirati na papiru Evil or Very Mad na njemu rjesavam stvari koje mislim da znam rjesiti Cool


[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: 21:14 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

[quote="aj_ca_volin_te"]...ja ne ucim programirati na papiru :evil: na njemu rjesavam stvari koje mislim da znam rjesiti 8)[/quote]

...a onda te "zanima [color=silver]me[/color] samo da li [color=silver]mi[/color] radi kod kako treba", jer na papiru ne mozes isprobati. :lol:
aj_ca_volin_te (napisa):
...ja ne ucim programirati na papiru Evil or Very Mad na njemu rjesavam stvari koje mislim da znam rjesiti Cool


...a onda te "zanima me samo da li mi radi kod kako treba", jer na papiru ne mozes isprobati. Laughing



_________________
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
aj_ca_volin_te
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 22. 11. 2011. (20:18:49)
Postovi: (6F)16
Sarma = la pohva - posuda
20 = 22 - 2

PostPostano: 21:18 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

a dobro, nemorate biti tako okrutni :cry:
a dobro, nemorate biti tako okrutni 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: 22:52 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

[quote="aj_ca_volin_te"]a dobro, nemorate biti tako okrutni :cry:[/quote]

Nisam ja okrutan, nego je okrutno ono sto se desi ekipi koja "uci" programirati na papiru. Ja pokusavam sprijeciti da vas to snadje. ;) Pogledajte samo koliko postova imam u zadnja 2-3 dana (a mailova i PMova je jos toliko). No, ja mogu samo pomoci, ne i poloziti umjesto vas.
aj_ca_volin_te (napisa):
a dobro, nemorate biti tako okrutni Crying or Very sad


Nisam ja okrutan, nego je okrutno ono sto se desi ekipi koja "uci" programirati na papiru. Ja pokusavam sprijeciti da vas to snadje. Wink Pogledajte samo koliko postova imam u zadnja 2-3 dana (a mailova i PMova je jos toliko). No, ja mogu samo pomoci, ne i poloziti umjesto vas.



_________________
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
aj_ca_volin_te
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 22. 11. 2011. (20:18:49)
Postovi: (6F)16
Sarma = la pohva - posuda
20 = 22 - 2

PostPostano: 23:27 čet, 31. 5. 2012    Naslov: Citirajte i odgovorite

evo zasto pisem stvari koje mislim da znam na papiru(na ovome nebi sada gubio uru, skoro dvi vremena i mislio bi da znam ovo... nemogu naci gresku), compailer mi ne javlja nikakve greske a nemogu ga pokrenuti preko kom line(to sam sam tek tako stavia)...zadatak je od prosle god ja mislim GRUPA D 3.zadatak .... http://degiorgi.math.hr/prog2/kolokviji/p2-kolokvij-1011-2.pdf
http://degiorgi.math.hr/prog2/kolokviji/p2-kolokvij-1011-2.pdf
[code:1]#include<stdio.h>
#include<stdlib.h>

struct Titl{
char s[2001];
int i,j;
};
typedef struct Titl titl;

int broj_rijeci(char *s){
int i,br=0;
for(i=0;s[i]!='\0';++i){
if(s[i]==' ')br++;
}
return br;
}

void funkcija(char ime[],FILE *out){
int j,i,br=0,k,min=1000000000;
titl *tekst;
FILE *in;

in=fopen("tekst.txt","r");
if(in==NULL){
printf("Greska pri otaranju datoteke %s", ime);
exit(1);

}
while(fscanf(in,"%*[^:]%*d-%*d")>EOF) br++;

rewind(in);
tekst=(titl*)malloc(br*sizeof(titl));
for(i=0;i<br;i++){
fscanf(in,"%[^:]%d-%d",tekst[i].s,&tekst[i].i,&tekst[i].j);
if(min>(tekst[i].j-tekst[i].i)){
min=tekst[i].j-tekst[i].i;
k=i;
}}
printf("Najkraci titl: %s\n", tekst[k].s);

for(i=0;i<br-1;i++){
for(j=i+1;j<br;j++){
if(broj_rijeci(tekst[i].s)<broj_rijeci(tekst[j].s))
{
titl s=tekst[i];
tekst[i]=tekst[j];
tekst[j]=s;
}
}
}
for(i=0;i<br;i++){
fprintf(out,"%s : %d-%d\n",tekst[i].s,tekst[i].i,tekst[i].j);
}
fclose(in);
fclose(out);
free(tekst);
}

int main(int argc, char**argv){

FILE *out;
if(argc!=2){
printf("Unesite tocno jedno ime ulazne datoteke");
exit(1);
}
out=fopen("izlaz.txt","w");
if(out==NULL){
printf("Nije uspjelo otvoriti datoteku za citanje");
exit(1);
}
funkcija(argv[1],out);

return 0;
}
[/code:1]
evo zasto pisem stvari koje mislim da znam na papiru(na ovome nebi sada gubio uru, skoro dvi vremena i mislio bi da znam ovo... nemogu naci gresku), compailer mi ne javlja nikakve greske a nemogu ga pokrenuti preko kom line(to sam sam tek tako stavia)...zadatak je od prosle god ja mislim GRUPA D 3.zadatak .... http://degiorgi.math.hr/prog2/kolokviji/p2-kolokvij-1011-2.pdf
http://degiorgi.math.hr/prog2/kolokviji/p2-kolokvij-1011-2.pdf
Kod:
#include<stdio.h>
#include<stdlib.h>

struct Titl{
    char s[2001];
    int i,j;
};
typedef struct Titl titl;

int broj_rijeci(char *s){
    int i,br=0;
    for(i=0;s[i]!='\0';++i){
        if(s[i]==' ')br++;
    }
return br;
}

void funkcija(char ime[],FILE *out){
    int j,i,br=0,k,min=1000000000;
    titl *tekst;
    FILE *in;

    in=fopen("tekst.txt","r");
    if(in==NULL){
        printf("Greska pri otaranju datoteke %s", ime);
        exit(1);

    }
    while(fscanf(in,"%*[^:]%*d-%*d")>EOF) br++;

    rewind(in);
    tekst=(titl*)malloc(br*sizeof(titl));
    for(i=0;i<br;i++){
        fscanf(in,"%[^:]%d-%d",tekst[i].s,&tekst[i].i,&tekst[i].j);
        if(min>(tekst[i].j-tekst[i].i)){
            min=tekst[i].j-tekst[i].i;
            k=i;
    }}
    printf("Najkraci titl: %s\n", tekst[k].s);

    for(i=0;i<br-1;i++){
        for(j=i+1;j<br;j++){
            if(broj_rijeci(tekst[i].s)<broj_rijeci(tekst[j].s))
            {
                titl s=tekst[i];
                tekst[i]=tekst[j];
                tekst[j]=s;
            }
        }
    }
    for(i=0;i<br;i++){
        fprintf(out,"%s : %d-%d\n",tekst[i].s,tekst[i].i,tekst[i].j);
    }
    fclose(in);
    fclose(out);
    free(tekst);
}

int main(int argc, char**argv){

    FILE *out;
    if(argc!=2){
        printf("Unesite tocno jedno ime ulazne datoteke");
        exit(1);
    }
    out=fopen("izlaz.txt","w");
    if(out==NULL){
        printf("Nije uspjelo otvoriti datoteku za citanje");
        exit(1);
    }
    funkcija(argv[1],out);

    return 0;
}


[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: 0:20 pet, 1. 6. 2012    Naslov: Citirajte i odgovorite

Nisam shvatio zasto bi bilo bolje da si to radio na papiru i cemu uopce sluzi rjesavanje kod kojeg ne mozes provjeriti da znas napisati stvar, ali ako tebe to veseli...

Rijec je o 2. zadatku grupe C, a kriv ti je format u oba [tt]fscanf[/tt]. Umjesto
[tt]"%*[^:]%*d-%*d"[/tt]
treba biti
[tt]"[bg=red][color=white] [/color][/bg]%*[^:][bg=red][color=white]:[/color][/bg]%*d-%*d"[/tt]
(drugi, jasno, ide bez zvjezdica, no ista je greska).

Dodatno, otvaras krivu datoteku.
Nisam shvatio zasto bi bilo bolje da si to radio na papiru i cemu uopce sluzi rjesavanje kod kojeg ne mozes provjeriti da znas napisati stvar, ali ako tebe to veseli...

Rijec je o 2. zadatku grupe C, a kriv ti je format u oba fscanf. Umjesto
"%*[^:]%*d-%*d"
treba biti
" %*[^:]:%*d-%*d"
(drugi, jasno, ide bez zvjezdica, no ista je greska).

Dodatno, otvaras krivu datoteku.



_________________
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
quark
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 22. 10. 2011. (16:47:39)
Postovi: (DA)16
Spol: muško
Sarma = la pohva - posuda
20 = 26 - 6

PostPostano: 0:38 pet, 1. 6. 2012    Naslov: Citirajte i odgovorite

Imitacija (doduše, neuspješna) klasičnog sorta ali structova na jednoj binarnoj datoteci po nekom bezveznom kriteriju; meni datoteku oblika

[code:1]3 2
2 0
1 3[/code:1]

ostavi netaknutu:

[code:1]
typedef struct _vektor
{
int x,y;
} vektor;

int main()
{
long duljina, i, j;
FILE *fp;
vektor pom1, pom2, temp;

if((fp=fopen("vektori.txt", "rb+"))==NULL)
exit(-1);

fseek(fp, 0L, SEEK_END);
duljina=ftell(fp)/sizeof(vektor);

for(i=0L;i<duljina;i+=sizeof(vektor))
for(j=i+sizeof(vektor);i<duljina;j+=sizeof(vektor))
{
fseek(fp, i, SEEK_SET);
if(fread(&pom1, sizeof(vektor), 1, fp)!=1) break;
fseek(fp, j, SEEK_SET);
if(fread(&pom2, sizeof(vektor), 1, fp)!=1) break;
if(pom1.x>pom2.x)
{
fseek(fp, i, SEEK_SET);
if(fwrite(&pom2, sizeof(vektor), 1, fp)!=1) exit(-2);
fseek(fp, j, SEEK_SET);
if(fwrite(&pom1, sizeof(vektor), 1, fp)!=1) exit(-3);
}

}

return 0;
}[/code:1]

P.S. vsegi ćemo svi mi "pomagaj u 2 ujutro" morati kupiti neku veliku čokoladu... :P
Imitacija (doduše, neuspješna) klasičnog sorta ali structova na jednoj binarnoj datoteci po nekom bezveznom kriteriju; meni datoteku oblika

Kod:
3 2
2 0
1 3


ostavi netaknutu:

Kod:

typedef struct _vektor
{
    int x,y;
} vektor;

int main()
{
    long duljina, i, j;
    FILE *fp;
    vektor pom1, pom2, temp;

    if((fp=fopen("vektori.txt", "rb+"))==NULL)
        exit(-1);

    fseek(fp, 0L, SEEK_END);
    duljina=ftell(fp)/sizeof(vektor);

    for(i=0L;i<duljina;i+=sizeof(vektor))
        for(j=i+sizeof(vektor);i<duljina;j+=sizeof(vektor))
        {
            fseek(fp, i, SEEK_SET);
            if(fread(&pom1, sizeof(vektor), 1, fp)!=1) break;
            fseek(fp, j, SEEK_SET);
            if(fread(&pom2, sizeof(vektor), 1, fp)!=1) break;
            if(pom1.x>pom2.x)
            {
                fseek(fp, i, SEEK_SET);
                if(fwrite(&pom2, sizeof(vektor), 1, fp)!=1) exit(-2);
                fseek(fp, j, SEEK_SET);
                if(fwrite(&pom1, sizeof(vektor), 1, fp)!=1) exit(-3);
            }

        }

    return 0;
}


P.S. vsegi ćemo svi mi "pomagaj u 2 ujutro" morati kupiti neku veliku čokoladu... Razz


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


Pridružen/a: 22. 11. 2011. (20:18:49)
Postovi: (6F)16
Sarma = la pohva - posuda
20 = 22 - 2

PostPostano: 0:55 pet, 1. 6. 2012    Naslov: Citirajte i odgovorite

@vsego:
kada na papiru pisem puno manje vremena gubim :wink:
probleem je u tome sto vise ovaj kod uopce ne lici na pocetni jer je sad sve izmjenjeno....
ps. sada vidim da mi taj razmak i : ne fale na papiru.... :D

HVALA PUNO :P
@vsego:
kada na papiru pisem puno manje vremena gubim Wink
probleem je u tome sto vise ovaj kod uopce ne lici na pocetni jer je sad sve izmjenjeno....
ps. sada vidim da mi taj razmak i : ne fale na papiru.... Very Happy

HVALA PUNO Razz


[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:18 pet, 1. 6. 2012    Naslov: Citirajte i odgovorite

@quark: Pazi, petlje ti idu do duljine (sto je 3), a varijable pomices za [tt]sizeof(vektor)[/tt] (sto je 8[i][/i]). ;)

P.S. :pc: O:)

[size=9][color=#999999]Added after 1 minutes:[/color][/size]

Usput, kad radis s datotekama, ipak je bolje uzeti neki sort s manje zamjena. Recimo, varijantu klasicnog sorta koja je radjena na predavanjima.
@quark: Pazi, petlje ti idu do duljine (sto je 3), a varijable pomices za sizeof(vektor) (sto je 8). Wink

P.S. Pravi cevapi Angel

Added after 1 minutes:

Usput, kad radis s datotekama, ipak je bolje uzeti neki sort s manje zamjena. Recimo, varijantu klasicnog sorta koja je radjena na predavanjima.



_________________
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
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2 Vremenska zona: GMT + 01:00.
Idite na 1, 2  Sljedeće
Stranica 1 / 2.

 
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