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

Zad sa popravnog kolikvija lani (datoteke) (zadatak)
WWW:

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


Pridružen/a: 11. 09. 2006. (18:07:56)
Postovi: (C1)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
= 9 - 8

PostPostano: 11:47 pon, 30. 6. 2008    Naslov: Citirajte i odgovorite

Jel mi netko može pojasniti kako da sortiram učitane sate i minute oblika 00:45 npr, bune me ove nule ispred -zadatak iz popravnog[http://degiorgi.math.hr/prog2/kolokviji.php][/url]

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

i još nekaj kaj mi ne radi pa ako može tko pojasniti

[code:1]struct tocka{
double x;
double y;
}t;

void sort (tocka niz[],int n){
int i,j;
double temp;


for (i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(((1-niz[i])*(1-niz[i])+(2-niz[i+1])*(2-niz[i+1]))<((1-niz[j])*(1-niz[j])+(2-niz[j+1])*(2-niz[j+1]))){
temp=niz[i];
niz[i]=niz[j];
niz[j]=temp;
}
for (i=0;i<n;i++)
printf("%lf",niz[i]);
}

int main(void){

int i;
tocka t={3,4,5,6};

for(i=0;i<3;i++)
printf("%lf",t[i]);

}[/code:1]
Jel mi netko može pojasniti kako da sortiram učitane sate i minute oblika 00:45 npr, bune me ove nule ispred -zadatak iz popravnog[http://degiorgi.math.hr/prog2/kolokviji.php][/url]

Added after 54 minutes:

i još nekaj kaj mi ne radi pa ako može tko pojasniti

Kod:
struct tocka{
double x;
double y;
}t;

void sort (tocka niz[],int n){
   int i,j;
   double temp;
   

   for (i=0;i<n-1;i++)
      for(j=i+1;j<n;j++)
         if(((1-niz[i])*(1-niz[i])+(2-niz[i+1])*(2-niz[i+1]))<((1-niz[j])*(1-niz[j])+(2-niz[j+1])*(2-niz[j+1]))){
            temp=niz[i];
            niz[i]=niz[j];
            niz[j]=temp;
         }
   for (i=0;i<n;i++)
      printf("%lf",niz[i]);
}

int main(void){
      
   int i;
   tocka t={3,4,5,6};

      for(i=0;i<3;i++)
         printf("%lf",t[i]);

}


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


Pridružen/a: 13. 02. 2007. (20:34:54)
Postovi: (925)16
Spol: muško
Sarma = la pohva - posuda
188 = 301 - 113
Lokacija: Hakuna Matata

PostPostano: 11:53 pon, 30. 6. 2008    Naslov: Citirajte i odgovorite

Mislim da te nule ne smetaju...

moja je ideja radit strukturu koja u sebi sadrži 2 int-a, koji predstavljaju sate i minute (.sat i .minuta ).
ako je učitavanje oblika "%d:%d", i spremaš to u .sat i .minuta , neće bit problema, tj 00 će spremit kao 0 i sl. (valjda)
Svaku strukturu spremiš u polje, koje dinamički alociraš (i realociraš po potrebi, recimo da alociraš blok od 10, pa kad se popuni još 10 itd). Kad si sve pročitao iz satovi.in, radiš sort, najprije po satima, ako imaju iste sate, onda gledaš minute. Tamo gdje je jednoznamenkast broj, samo u ispisu staviš da stavi dodatnu nulu ispred.

Moguće da može jednostavnije... vsego? :D

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

[quote="Blah"]
tocka t={3,4,5,6};
[/quote]

Ne, ne, ne, ne, ne... To ne može tak... točka je struktura koja ima 2 člana, a ovo bi trebalo bit polje točaka, ili? Ovak izgleda kao polje int ova, a nit to čak, jer ne piše *t={...}

edit: u gornjem programu nema ni returna u mainu...
Mislim da te nule ne smetaju...

moja je ideja radit strukturu koja u sebi sadrži 2 int-a, koji predstavljaju sate i minute (.sat i .minuta ).
ako je učitavanje oblika "%d:%d", i spremaš to u .sat i .minuta , neće bit problema, tj 00 će spremit kao 0 i sl. (valjda)
Svaku strukturu spremiš u polje, koje dinamički alociraš (i realociraš po potrebi, recimo da alociraš blok od 10, pa kad se popuni još 10 itd). Kad si sve pročitao iz satovi.in, radiš sort, najprije po satima, ako imaju iste sate, onda gledaš minute. Tamo gdje je jednoznamenkast broj, samo u ispisu staviš da stavi dodatnu nulu ispred.

Moguće da može jednostavnije... vsego? Very Happy

Added after 2 minutes:

Blah (napisa):

tocka t={3,4,5,6};


Ne, ne, ne, ne, ne... To ne može tak... točka je struktura koja ima 2 člana, a ovo bi trebalo bit polje točaka, ili? Ovak izgleda kao polje int ova, a nit to čak, jer ne piše *t={...}

edit: u gornjem programu nema ni returna u mainu...



_________________
"Bolje bi prolazio na faxu da sam na drogama nego na netu" - by a friend of mine
"Poslije spavanja doma spavanje bilo di mi je najdraža stvar" - by the same guy Very Happy
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
Blah
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 11. 09. 2006. (18:07:56)
Postovi: (C1)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
= 9 - 8

PostPostano: 13:05 pon, 30. 6. 2008    Naslov: Citirajte i odgovorite

Ovak piše na predavanjima


struct tocka{
int x;
int y;
} t, ishodiste={0,0}; npr.
Ovak piše na predavanjima


struct tocka{
int x;
int y;
} t, ishodiste={0,0}; npr.


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


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

PostPostano: 13:13 pon, 30. 6. 2008    Naslov: Citirajte i odgovorite

Sto je [tt]1-niz[i][/tt] (i slicne konstrukcije) ako je [tt]niz[i][/tt] tipa [tt]tocka[/tt]? :-k Kako se to racuna? :-k

Ovo s predavanja je [b]jedna[/b] tocka, a ne niz tocaka! :tso: Ti imas cetiri tocke (vidljivo iz [tt]for()[/tt]-petlje) s ukupno 4 koordinate... je l' to samo meni cudno? :-k

[tt]tocka niz[] = {{1,2}, {3,4}, {5,6}, {7,8}};[/tt]

8)
Sto je 1-niz[i] (i slicne konstrukcije) ako je niz[i] tipa tocka? Think Kako se to racuna? Think

Ovo s predavanja je jedna tocka, a ne niz tocaka! Trudim Se Objasniti... Ti imas cetiri tocke (vidljivo iz for()-petlje) s ukupno 4 koordinate... je l' to samo meni cudno? Think

tocka niz[] = {{1,2}, {3,4}, {5,6}, {7,8}};

Cool



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


Pridružen/a: 11. 09. 2006. (18:07:56)
Postovi: (C1)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
= 9 - 8

PostPostano: 13:45 pon, 30. 6. 2008    Naslov: Citirajte i odgovorite

Ma da bedasta,uopće nisam čitala zad kak spada.
ovo sad valja(treba doradit po zadatku) al to je to. Hvala!

# include <stdio.h>

typedef struct{
double x;
double y;
}tocka;

void sort (tocka niz[],int n){

int i,j;

for (i=0;i<n-1;i++)
for (j=i+1;j<n;j++)
if (niz [i].x < niz [j].x) {
tocka temp = niz [i] ;
niz [i] =niz[j] ;
niz [j] = temp ;
}
for (i=0;i<n;i++)
printf("%lf %lf\n",niz[i].x,niz[i].y);
}

int main(void){

tocka niz[] = {{1,2}, {3,4}, {5,6}, {7,8}}; ;

sort(niz,4);
}
Ma da bedasta,uopće nisam čitala zad kak spada.
ovo sad valja(treba doradit po zadatku) al to je to. Hvala!

# include <stdio.h>

typedef struct{
double x;
double y;
}tocka;

void sort (tocka niz[],int n){

int i,j;

for (i=0;i<n-1;i++)
for (j=i+1;j<n;j++)
if (niz [i].x < niz [j].x) {
tocka temp = niz [i] ;
niz [i] =niz[j] ;
niz [j] = temp ;
}
for (i=0;i<n;i++)
printf("%lf %lf\n",niz[i].x,niz[i].y);
}

int main(void){

tocka niz[] = {{1,2}, {3,4}, {5,6}, {7,8}}; ;

sort(niz,4);
}


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


Pridružen/a: 13. 02. 2007. (20:34:54)
Postovi: (925)16
Spol: muško
Sarma = la pohva - posuda
188 = 301 - 113
Lokacija: Hakuna Matata

PostPostano: 14:32 pon, 30. 6. 2008    Naslov: Citirajte i odgovorite

[quote="vsego"]Sto je [tt]1-niz[i][/tt] (i slicne konstrukcije) ako je [tt]niz[i][/tt] tipa [tt]tocka[/tt]? :-k Kako se to racuna? :-k
[/quote]

Hm, sličan problem javlja se [url=http://web.math.hr/nastava/difraf/int/pred/p_o19.pdf]TU[/url], gdje se od k-dimenzionalnog kvadra oduzima točka. Al to je ok :?

@vsego sorry na offtopic, al moro sam komentirat 8)
vsego (napisa):
Sto je 1-niz[i] (i slicne konstrukcije) ako je niz[i] tipa tocka? Think Kako se to racuna? Think


Hm, sličan problem javlja se TU, gdje se od k-dimenzionalnog kvadra oduzima točka. Al to je ok Confused

@vsego sorry na offtopic, al moro sam komentirat Cool



_________________
"Bolje bi prolazio na faxu da sam na drogama nego na netu" - by a friend of mine
"Poslije spavanja doma spavanje bilo di mi je najdraža stvar" - by the same guy Very Happy
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
Blah
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 11. 09. 2006. (18:07:56)
Postovi: (C1)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
= 9 - 8

PostPostano: 9:56 uto, 1. 7. 2008    Naslov: Citirajte i odgovorite

Zašto mi ovdje ne radi dobro realokacija mem?[code:1]

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

int main (void){

FILE *f;
int satn=0,minn=0,i=0,j,k,temp;
int *niz;

if ((f=fopen("satoviin.txt","r"))==NULL){
printf("Error");
exit(0);
}

niz=(int*) malloc (sizeof (int));
while (fscanf(f,"%d:%d\n", &satn, &minn)==2){

minn+=satn*60;
niz[i]=minn;
niz= (int*) realloc (niz, ++i * sizeof (int));
minn=0;

}
fclose(f);
for(j=0;j<i;j++)
printf("%d\n",niz[j]); TU NEĆE ISPISATI NIZ KAKO SPADA
}...[/code:1]
Zašto mi ovdje ne radi dobro realokacija mem?
Kod:


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

int main (void){

   FILE *f;
   int satn=0,minn=0,i=0,j,k,temp;
   int *niz;

   if ((f=fopen("satoviin.txt","r"))==NULL){
      printf("Error");
      exit(0);
   }
   
   niz=(int*) malloc (sizeof (int));
   while (fscanf(f,"%d:%d\n", &satn, &minn)==2){
   
      minn+=satn*60;
      niz[i]=minn;
      niz= (int*) realloc (niz, ++i * sizeof (int));
      minn=0;
   
}   
fclose(f);   
   for(j=0;j<i;j++)
      printf("%d\n",niz[j]); TU NEĆE ISPISATI NIZ KAKO SPADA
      }...


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


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

PostPostano: 15:12 uto, 1. 7. 2008    Naslov: Citirajte i odgovorite

Zato sto prvo pises po memoriji, a tek onda ju (re)alociras:
[code:1] niz[i]=minn;
niz= (int*) realloc (niz, ++i * sizeof (int));[/code:1]
Dakle, ako [tt]realloc()[/tt] ne uspije prosiriti zauzetu memoriju, on ce sve skupa negdje preseliti (pogledaj objasnjenje u vjezbama i/ili predavanjima) i tada nece pokupiti ovo sto je zapisano iza alocirane memorije. :(

Preporuka:
[code:1] niz = NULL;
while (fscanf(f, " %d:%d", &satn, &minn) == 2) {
niz = (int*)realloc(niz, ++i * sizeof(int));
niz[i-1] = 60 * satn + minn;
}[/code:1]

P.S. Onaj [tt]minn=0;[/tt] na kraju prve petlje je cisti tehnoloski visak. ;)
Zato sto prvo pises po memoriji, a tek onda ju (re)alociras:
Kod:
      niz[i]=minn;
      niz= (int*) realloc (niz, ++i * sizeof (int));

Dakle, ako realloc() ne uspije prosiriti zauzetu memoriju, on ce sve skupa negdje preseliti (pogledaj objasnjenje u vjezbama i/ili predavanjima) i tada nece pokupiti ovo sto je zapisano iza alocirane memorije. Sad

Preporuka:
Kod:
   niz = NULL;
   while (fscanf(f, " %d:%d", &satn, &minn) == 2) {
      niz = (int*)realloc(niz, ++i * sizeof(int));
      niz[i-1] = 60 * satn + minn;
   }


P.S. Onaj minn=0; na kraju prve petlje je cisti tehnoloski visak. Wink



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


Pridružen/a: 11. 09. 2006. (18:07:56)
Postovi: (C1)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
= 9 - 8

PostPostano: 18:52 uto, 1. 7. 2008    Naslov: Citirajte i odgovorite

PUUUUUUNO HVALA! :wink:
PUUUUUUNO HVALA! Wink


[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.
Stranica 1 / 1.

 
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