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

Funkcije?
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
nemanja065
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 05. 01. 2007. (22:48:40)
Postovi: (23)16
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 19:32 ned, 14. 9. 2008    Naslov: Funkcije? Citirajte i odgovorite

Imam problem sa sledecim zadacima tj. neznam ih uraditi,ako neko zna nek pomogne .... hvala

ZADATAK 1: Napisati funkciju na C-u kojom se vrši rotiranje elemenata niza A dimenzije N za K pozijica u desno. U glavnom programu učitati matricu B, reda P*T, i koristeći formiranu funkciju izvršiti rotiranje elemenata unutar svake vrste za i pozicija u desno, pri čemu je i indeks vrste. Štampati matricu B nakon transformacije.

ZADATAK 2: Napisati program na C-u koji za uneti celi broj računa zbir njegovih cifara korištenjem funkcije SUMA_CIFARA. Funkcija SUMA_CIFARA treba da radi i za negativne brojeve. Npr ., SUMA_CIFARA(-3291) treba da vrati vrednost -15, a SUMA_CIFARA(568) treba da vrati vrednost 19.
Imam problem sa sledecim zadacima tj. neznam ih uraditi,ako neko zna nek pomogne .... hvala

ZADATAK 1: Napisati funkciju na C-u kojom se vrši rotiranje elemenata niza A dimenzije N za K pozijica u desno. U glavnom programu učitati matricu B, reda P*T, i koristeći formiranu funkciju izvršiti rotiranje elemenata unutar svake vrste za i pozicija u desno, pri čemu je i indeks vrste. Štampati matricu B nakon transformacije.

ZADATAK 2: Napisati program na C-u koji za uneti celi broj računa zbir njegovih cifara korištenjem funkcije SUMA_CIFARA. Funkcija SUMA_CIFARA treba da radi i za negativne brojeve. Npr ., SUMA_CIFARA(-3291) treba da vrati vrednost -15, a SUMA_CIFARA(568) treba da vrati vrednost 19.


[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: 20:56 ned, 14. 9. 2008    Naslov: Citirajte i odgovorite

1. ne kužim kaj se tu traži točno... :grebgreb: Učita se matrica pa se radi zamjena redaka/stupaca? Ili?

2. eto ti fja (otprilike):

[code:1]
int SUMA_CIFARA (int n)
{
int predznak, suma=0;
if (n >=0 ) predznak=1;
else { n=-n; predznak=-1;}

while ( n>0)
{
suma+=n%10;
n/=10;
}
return suma*predznak;
}

[/code:1]
1. ne kužim kaj se tu traži točno... Kotacici rade 100 na sat Učita se matrica pa se radi zamjena redaka/stupaca? Ili?

2. eto ti fja (otprilike):

Kod:

int SUMA_CIFARA (int n)
{
     int predznak, suma=0;
     if (n >=0 ) predznak=1;
     else { n=-n; predznak=-1;}

     while ( n>0)
     {
       suma+=n%10;
       n/=10;
      }
   return suma*predznak;
}




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


Pridružen/a: 05. 01. 2007. (22:48:40)
Postovi: (23)16
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 21:31 ned, 14. 9. 2008    Naslov: Citirajte i odgovorite

da da, ucita se matrica izvrsi se rotiranje ,pa se stampa.....
da da, ucita se matrica izvrsi se rotiranje ,pa se stampa.....


[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: 21:54 ned, 14. 9. 2008    Naslov: Citirajte i odgovorite

pa daj napiši točno kaj se traži... :roll: :roll:

Dakle, treba li fja promijeniti matricu iz glavog programa?
Ispis promijenjene matrice unutar fje ili u glavnom programu? (i to odgovara na prethodno pitanje)
Da li treba pazit da nam ta rotacija postoji? (ili znamo da neće bit 2x2 matrica a mi tražimo rotaciju za 17)
Treba li zamijenit stupce ili retke?

Ubuduće, napiši sve detalje zadatka, dobit ćeš bržu i bolju pomoć, a i rješenje će bit točnije...

:D
pa daj napiši točno kaj se traži... Rolling Eyes Rolling Eyes

Dakle, treba li fja promijeniti matricu iz glavog programa?
Ispis promijenjene matrice unutar fje ili u glavnom programu? (i to odgovara na prethodno pitanje)
Da li treba pazit da nam ta rotacija postoji? (ili znamo da neće bit 2x2 matrica a mi tražimo rotaciju za 17)
Treba li zamijenit stupce ili retke?

Ubuduće, napiši sve detalje zadatka, dobit ćeš bržu i bolju pomoć, a i rješenje će bit točnije...

Very Happy



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


Pridružen/a: 30. 11. 2002. (22:17:12)
Postovi: (71A)16
Spol: muško
Sarma = la pohva - posuda
199 = 237 - 38
Lokacija: Heriot-Watt University, Edinburgh

PostPostano: 22:39 ned, 14. 9. 2008    Naslov: Citirajte i odgovorite

[quote="Luuka"]pa daj napiši točno kaj se traži... :roll: :roll:
[/quote]
Pa, jasno je sto se trazi.

[quote]
Dakle, treba li fja promijeniti matricu iz glavog programa?
[/quote]
Da.

[quote]
Ispis promijenjene matrice unutar fje ili u glavnom programu? (i to odgovara na prethodno pitanje)
[/quote]
U glavnom programu.

[quote]
Da li treba pazit da nam ta rotacija postoji? (ili znamo da neće bit 2x2 matrica a mi tražimo rotaciju za 17)
[/quote]
Tko kaze da niz duljine 2 ne mozes rotirati za 17?


[quote]
Treba li zamijenit stupce ili retke?
[/quote]
Lijepo rece covjek: [i]"izvršiti rotiranje elemenata unutar svake vrste"[/i] Ovdje treba napomenuti da [i]vrsta[/i] znaci [i]redak[/i] (sjecate se tjelesnog u osnovnoj - poredajte se u vrstu?)

[quote]
Ubuduće, napiši sve detalje zadatka, dobit ćeš bržu i bolju pomoć, a i rješenje će bit točnije...
[/quote]
Napisao je sve detalje zadatka, samo sto je koristio srpske izraze, pa vas je to zbunilo.

Sto se pomoci tice, ja nemam nikakvu namjeru rjesavati tudje zadace, a ako netko drugi hoce - slobodno.
Luuka (napisa):
pa daj napiši točno kaj se traži... Rolling Eyes Rolling Eyes

Pa, jasno je sto se trazi.

Citat:

Dakle, treba li fja promijeniti matricu iz glavog programa?

Da.

Citat:

Ispis promijenjene matrice unutar fje ili u glavnom programu? (i to odgovara na prethodno pitanje)

U glavnom programu.

Citat:

Da li treba pazit da nam ta rotacija postoji? (ili znamo da neće bit 2x2 matrica a mi tražimo rotaciju za 17)

Tko kaze da niz duljine 2 ne mozes rotirati za 17?


Citat:

Treba li zamijenit stupce ili retke?

Lijepo rece covjek: "izvršiti rotiranje elemenata unutar svake vrste" Ovdje treba napomenuti da vrsta znaci redak (sjecate se tjelesnog u osnovnoj - poredajte se u vrstu?)

Citat:

Ubuduće, napiši sve detalje zadatka, dobit ćeš bržu i bolju pomoć, a i rješenje će bit točnije...

Napisao je sve detalje zadatka, samo sto je koristio srpske izraze, pa vas je to zbunilo.

Sto se pomoci tice, ja nemam nikakvu namjeru rjesavati tudje zadace, a ako netko drugi hoce - slobodno.



_________________
Extraordinary claims require extraordinary evidence. – Carl Sagan
[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
nemanja065
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 05. 01. 2007. (22:48:40)
Postovi: (23)16
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 15:00 pon, 15. 9. 2008    Naslov: Citirajte i odgovorite

main ()
{
int n,SUMA_CIFARA();
printf("unesite broj:\n");
scanf("%d",&n);
printf("zbir cifara je %d",SUMA_CIFARA());
}
int SUMA_CIFARA (int n)
{
int predznak,suma=0;
if (n>=0) predznak=1;
else {n=-n;predznak=-1;}





while (n>0)
{
suma+=n%10;
n/=10;
}
return suma*predznak;

}


ja sam ovako napisao zadatak ,al mi daje rezultat 28,u cemu je problrm...
main ()
{
int n,SUMA_CIFARA();
printf("unesite broj:\n");
scanf("%d",&n);
printf("zbir cifara je %d",SUMA_CIFARA());
}
int SUMA_CIFARA (int n)
{
int predznak,suma=0;
if (n>=0) predznak=1;
else {n=-n;predznak=-1;}





while (n>0)
{
suma+=n%10;
n/=10;
}
return suma*predznak;

}


ja sam ovako napisao zadatak ,al mi daje rezultat 28,u cemu je problrm...


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


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

PostPostano: 16:48 pon, 15. 9. 2008    Naslov: Citirajte i odgovorite

Mozda bi pomoglo da ubacis parametar ovdje:
[tt]printf("zbir cifara je %d",[color=red]SUMA_CIFARA()[/color]);[/tt]
Ovako:
[tt]printf("zbir cifara je %d",SUMA_CIFARA([color=green]n[/color]));[/tt]
;)
Mozda bi pomoglo da ubacis parametar ovdje:
printf("zbir cifara je %d",SUMA_CIFARA());
Ovako:
printf("zbir cifara je %d",SUMA_CIFARA(n));
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
nemanja065
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 05. 01. 2007. (22:48:40)
Postovi: (23)16
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 17:42 pon, 15. 9. 2008    Naslov: Citirajte i odgovorite

jeste to....posle sam provalio,al hvala u svakom slucaju....
jeste to....posle sam provalio,al hvala u svakom slucaju....


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


Pridružen/a: 05. 01. 2007. (22:48:40)
Postovi: (23)16
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 16:11 uto, 16. 9. 2008    Naslov: Citirajte i odgovorite

Nemogu nikako da shvatim sledecu funkciju (u pitanju je razlika 2 skupa A i B)


void razlika (int *a,int *b,int n,int m,int *c,int *k)
{
int i,j,s,l=0;
for(i=0;i<n;i++)
{
j=0;
s=0;
while(j<m && s==0)
{ if(*(a+i)==*(b+j))
s++;
else
j++;
}
if(s==0)
{
*(c+l)=*(a+i);
l++;
}

}
*k=l;
return;

}


Ako neko moze da mi objasni postupak tj. princip rada funkcije.....hvala
Nemogu nikako da shvatim sledecu funkciju (u pitanju je razlika 2 skupa A i B)


void razlika (int *a,int *b,int n,int m,int *c,int *k)
{
int i,j,s,l=0;
for(i=0;i<n;i++)
{
j=0;
s=0;
while(j<m && s==0)
{ if(*(a+i)==*(b+j))
s++;
else
j++;
}
if(s==0)
{
*(c+l)=*(a+i);
l++;
}

}
*k=l;
return;

}


Ako neko moze da mi objasni postupak tj. princip rada funkcije.....hvala


[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: 17:48 uto, 16. 9. 2008    Naslov: Citirajte i odgovorite

Idem ja napisat svoju fju, pa ćemo vidjet koja je ideja...

[code:1]
void razlika (int *A,int *B,int duljinaA,int duljinaB,int *razl, int *razlDuljina)
{
int i,j,brojac=0,k=0;

for (j=0;j<duljinaB; j++)
for (i=0;i<duljinaA;i++)
if ( *(A+i)==*(B+j) ) brojac++;

razl=(int*)malloc((duljinaA-brojac)*sizeof(int));

for (i=0;i<duljinaA; i++)
{
int da=0;
for (j=0;j<duljinaB;j++)
if ( *(A+i)==*(B+j) ) da=1;

if ( !da) { *(razl+k)=*(A+i); k++; }
*razlDuljina=k;
}
}
[/code:1]

Ovo je pisano bez compilera pa su greške moguće...

Ideja: Funkciji šaljemo 2 niza, A i B, njihove duljine i još jedan niz gdje ćemo spremiti razliku.
Najprije prođemo po nizu B i za svaki taj element pogledamo dal je u A. Ako je povećamo brojač. Sada znamo da će nam niz razlika bit dug duljinaA-brojač (imat će sve elemente iz A osim onih koji su i u B). Alociramo memoriju za razl pomoću malloc. (moguće da to nije ni potrebno,uz još poneku pretpostavku, al nek se nađe).
Sad idemo kroz A i za svaki element provjeravamo dal je u B. To će nam reć varijabla "da". Ako taj element nije u B, onda ga ubacimo u razl.
Duljina razlike je k (jer do k dođe upisivanje elemenata)

I to je to.

P.s. Kad ubacuješ kod, stavi ga u kućicu za kod. (klikneš dvaput na "code", pravokutni gumbić ispod naslova posta i onda unutra zaljepiš kod)
Idem ja napisat svoju fju, pa ćemo vidjet koja je ideja...

Kod:

void razlika (int *A,int *B,int duljinaA,int duljinaB,int *razl, int *razlDuljina)
{
    int i,j,brojac=0,k=0;
 
    for (j=0;j<duljinaB; j++)
      for (i=0;i<duljinaA;i++)
       if ( *(A+i)==*(B+j) ) brojac++;

    razl=(int*)malloc((duljinaA-brojac)*sizeof(int));

    for (i=0;i<duljinaA; i++)
    {
      int da=0;
      for (j=0;j<duljinaB;j++)
          if ( *(A+i)==*(B+j) ) da=1;

      if ( !da)  { *(razl+k)=*(A+i); k++; }
      *razlDuljina=k;
    }
}


Ovo je pisano bez compilera pa su greške moguće...

Ideja: Funkciji šaljemo 2 niza, A i B, njihove duljine i još jedan niz gdje ćemo spremiti razliku.
Najprije prođemo po nizu B i za svaki taj element pogledamo dal je u A. Ako je povećamo brojač. Sada znamo da će nam niz razlika bit dug duljinaA-brojač (imat će sve elemente iz A osim onih koji su i u B). Alociramo memoriju za razl pomoću malloc. (moguće da to nije ni potrebno,uz još poneku pretpostavku, al nek se nađe).
Sad idemo kroz A i za svaki element provjeravamo dal je u B. To će nam reć varijabla "da". Ako taj element nije u B, onda ga ubacimo u razl.
Duljina razlike je k (jer do k dođe upisivanje elemenata)

I to je to.

P.s. Kad ubacuješ kod, stavi ga u kućicu za kod. (klikneš dvaput na "code", pravokutni gumbić ispod naslova posta i onda unutra zaljepiš kod)



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


Pridružen/a: 05. 01. 2007. (22:48:40)
Postovi: (23)16
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 16:02 pet, 19. 9. 2008    Naslov: Citirajte i odgovorite

Zna li neko mozda sta znaci sledeca naredna

while(!feof(a))

u pitanju je tekstualna datoteka "a"
Zna li neko mozda sta znaci sledeca naredna

while(!feof(a))

u pitanju je tekstualna datoteka "a"


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


Pridružen/a: 29. 05. 2006. (22:51:14)
Postovi: (121)16
Sarma = la pohva - posuda
23 = 34 - 11

PostPostano: 17:26 pet, 19. 9. 2008    Naslov: Citirajte i odgovorite

Zna; vrti while petlju dok se ne dojde do kraja datoteke.
Stocereci, u samoj petlji se moras setati po datoteci (inace imas endless loop).
Zna; vrti while petlju dok se ne dojde do kraja datoteke.
Stocereci, u samoj petlji se moras setati po datoteci (inace imas endless loop).



_________________
1 2 3 4
[Vrh]
Korisnički profil Pošaljite privatnu poruku
nemanja065
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 05. 01. 2007. (22:48:40)
Postovi: (23)16
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 14:59 sub, 20. 9. 2008    Naslov: Citirajte i odgovorite

Ako neko zna kako da napravim funkciju za uniju 2 skupa

npr. C=A unija B

Hvala (Izvinjavam se sto malo dosadjujem ali sta cu uciti se mora..... )
Ako neko zna kako da napravim funkciju za uniju 2 skupa

npr. C=A unija B

Hvala (Izvinjavam se sto malo dosadjujem ali sta cu uciti se mora..... )


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


Pridružen/a: 29. 05. 2006. (22:51:14)
Postovi: (121)16
Sarma = la pohva - posuda
23 = 34 - 11

PostPostano: 19:01 sub, 20. 9. 2008    Naslov: Citirajte i odgovorite

Zna;
[code:1]void set_copy( char* a, char* c, unsigned int _len_a){ // kopira skup a u skup c
// pretpostavka je da je kardinalitet od c >= kardinalitetu od a.
// elemeti skupa c bivaju prepisani
unsigned int i=0;
for(;i<_len_a;++i)
c[i]=a[i];
}

void element_in_set( char element, char* a, unsigned int _len_a, char* c, unsigned int *_len_c ){
// prima element i provjerava nalazi li se u skupu a
// ukoliko se ne nalazi, tada ga 'ubacuje' u skup c
// i skupu c povecava kardinalitet
unsigned int i=0;
for(;i<_len_a;++i)
if( a[i]==element ) // element se nalazi u skupu a, a samim time se nalazi i u skupu c...
return;
c[(*_len_c)++]=element; // jos smo u funkciji, dakle element se ne nalazi u skupu a
// pa ga ubacujemo u skup c
}

unsigned int unija( char* a, char* b, unsigned int _len_a, unsigned int _len_b, char **c)
// prima dva skupa (o ovom slucaju su to char-ovi, ali moze biti bilosto),
// a i b, njihove duljine, te pointer na skup koji ce sadrzati uniju.
// funkcija vraca (efektivnu) duljinu rezultantnog skupa
{
unsigned int i=0, _len_c;
*c=malloc( (_len_a+_len_b)*sizeof(char) ); // alociramo memoriju za rezultantni skup
// u grubo kao kardinalitet prvog i drugog skupa; vece od tog ne moze biti
set_copy(a,c,_len_a); // kopiramo prvi skup u rezultantni
_len_c = _len_a; // sad skup c sadrzi sve elemente koje sadrzi i skup a
// pa su im kardinaliteti jednaki
for(;i<_len_b;++i) // u ovoj petlji kopiramo drugi skup u rezultantni
element_in_set( b[i], a, _len_a, c, &_len_c ); // kopiramo samo one elemente iz drugog
// skupa koji nisu vec ubaceni, tj. koji nisu u prvom skupu, jer je
// A U B = A U (B\A)
return _len_c; // vratimo efektivnu duljinu rezultantnog skupa
}[/code:1]
Nisam provjeravao dal radi, ako ne radi... vici!
Zna;
Kod:
void set_copy( char* a, char* c, unsigned int _len_a){ // kopira skup a u skup c
    // pretpostavka je da je kardinalitet od c >= kardinalitetu od a.
    // elemeti skupa c bivaju prepisani
  unsigned int i=0;
  for(;i<_len_a;++i)
    c[i]=a[i];
}

void element_in_set( char element, char* a, unsigned int _len_a, char* c, unsigned int *_len_c ){
     // prima element i provjerava nalazi li se u skupu a
     // ukoliko se ne nalazi, tada ga 'ubacuje' u skup c
     // i skupu c povecava kardinalitet
  unsigned int i=0;
  for(;i<_len_a;++i)
    if( a[i]==element ) // element se nalazi u skupu a, a samim time se nalazi i u skupu c...
      return;
  c[(*_len_c)++]=element; // jos smo u funkciji, dakle element se ne nalazi u skupu a
      // pa ga ubacujemo u skup c
}

unsigned int unija( char* a, char* b, unsigned int _len_a, unsigned int _len_b, char **c)
// prima dva skupa (o ovom slucaju su to char-ovi, ali moze biti bilosto),
// a i b, njihove duljine, te pointer na skup koji ce sadrzati uniju.
// funkcija vraca (efektivnu) duljinu rezultantnog skupa
{
  unsigned int i=0, _len_c;
  *c=malloc( (_len_a+_len_b)*sizeof(char) ); // alociramo memoriju za rezultantni skup
      // u grubo kao kardinalitet prvog i drugog skupa; vece od tog ne moze biti
  set_copy(a,c,_len_a); // kopiramo prvi skup u rezultantni
  _len_c = _len_a; // sad skup c sadrzi sve elemente koje sadrzi i skup a
      // pa su im kardinaliteti jednaki
  for(;i<_len_b;++i) // u ovoj petlji kopiramo drugi skup u rezultantni
    element_in_set( b[i], a, _len_a, c, &_len_c ); // kopiramo samo one elemente iz drugog
      // skupa koji nisu vec ubaceni, tj. koji nisu u prvom skupu, jer je
      // A U B = A U (B\A)
  return _len_c; // vratimo efektivnu duljinu rezultantnog skupa
}

Nisam provjeravao dal radi, ako ne radi... vici!



_________________
1 2 3 4
[Vrh]
Korisnički profil Pošaljite privatnu poruku
nemanja065
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 05. 01. 2007. (22:48:40)
Postovi: (23)16
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 9:32 ned, 21. 9. 2008    Naslov: Citirajte i odgovorite

Imam poslednji zadatak koji vas moram pitati,s obzirom da je sutra ispit.....

ZADATAK : Napisati program na C-u kojim se čitanjem iz binarne datoteke IMENIK kreira tekstualna datoteka MARIC.txt. U binarnoj datoteci IMENIK nalaze se imena, prezimena, adrese i brojevi telefona stanovnika jednog grada. U datoteci MARIC.txt treba da se nalaze informacije o svim stanovnicima čije je prezime MARIC. Program treba da sadrži deo za formiranje binarne datoteke IMENIK i deo u kojem se čitanjem iz nje formira datoteka MARIC.txt.

funkciju za kreiranje datoteke znam napraviti createdat(), jedino neznam kako napraviti taj dio gdje se citanjem izbinarne datoteke IMENIK forimira datoteka MARIC.txt......(samo sto jednostavnije ako moze)

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

Imam poslednji zadatak koji vas moram pitati,s obzirom da je sutra ispit.....

ZADATAK : Napisati program na C-u kojim se čitanjem iz binarne datoteke IMENIK kreira tekstualna datoteka MARIC.txt. U binarnoj datoteci IMENIK nalaze se imena, prezimena, adrese i brojevi telefona stanovnika jednog grada. U datoteci MARIC.txt treba da se nalaze informacije o svim stanovnicima čije je prezime MARIC. Program treba da sadrži deo za formiranje binarne datoteke IMENIK i deo u kojem se čitanjem iz nje formira datoteka MARIC.txt.

funkciju za kreiranje datoteke znam napraviti createdat(), jedino neznam kako napraviti taj dio gdje se citanjem izbinarne datoteke IMENIK forimira datoteka MARIC.txt(tu su svi podaci stanovnika sa prezimenom MARIC tj. ime prezime adresa broj telefona)......(samo sto jednostavnije ako moze)
Imam poslednji zadatak koji vas moram pitati,s obzirom da je sutra ispit.....

ZADATAK : Napisati program na C-u kojim se čitanjem iz binarne datoteke IMENIK kreira tekstualna datoteka MARIC.txt. U binarnoj datoteci IMENIK nalaze se imena, prezimena, adrese i brojevi telefona stanovnika jednog grada. U datoteci MARIC.txt treba da se nalaze informacije o svim stanovnicima čije je prezime MARIC. Program treba da sadrži deo za formiranje binarne datoteke IMENIK i deo u kojem se čitanjem iz nje formira datoteka MARIC.txt.

funkciju za kreiranje datoteke znam napraviti createdat(), jedino neznam kako napraviti taj dio gdje se citanjem izbinarne datoteke IMENIK forimira datoteka MARIC.txt......(samo sto jednostavnije ako moze)

Added after 1 minutes:

Imam poslednji zadatak koji vas moram pitati,s obzirom da je sutra ispit.....

ZADATAK : Napisati program na C-u kojim se čitanjem iz binarne datoteke IMENIK kreira tekstualna datoteka MARIC.txt. U binarnoj datoteci IMENIK nalaze se imena, prezimena, adrese i brojevi telefona stanovnika jednog grada. U datoteci MARIC.txt treba da se nalaze informacije o svim stanovnicima čije je prezime MARIC. Program treba da sadrži deo za formiranje binarne datoteke IMENIK i deo u kojem se čitanjem iz nje formira datoteka MARIC.txt.

funkciju za kreiranje datoteke znam napraviti createdat(), jedino neznam kako napraviti taj dio gdje se citanjem izbinarne datoteke IMENIK forimira datoteka MARIC.txt(tu su svi podaci stanovnika sa prezimenom MARIC tj. ime prezime adresa broj telefona)......(samo sto jednostavnije ako moze)


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


Pridružen/a: 05. 01. 2007. (22:48:40)
Postovi: (23)16
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 0:39 čet, 25. 9. 2008    Naslov: Citirajte i odgovorite

U 1 zadatku na pocetku teme,imamo funkciju za pomjeranje elemenata niza za k pozicija u desno,koja glasi:(napisacu samo osnovnu formulu)

a[i]=a[(i+n-k)%n]
gdje je n broj elemenata,zna li neko formulu ako bi niz pomjerali za k pozicija u lijevo
U 1 zadatku na pocetku teme,imamo funkciju za pomjeranje elemenata niza za k pozicija u desno,koja glasi:(napisacu samo osnovnu formulu)

a[i]=a[(i+n-k)%n]
gdje je n broj elemenata,zna li neko formulu ako bi niz pomjerali za k pozicija u lijevo


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


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

PostPostano: 1:03 čet, 25. 9. 2008    Naslov: Citirajte i odgovorite

Nagadjam: onaj "[tt]-k[/tt]" se zamijeni sa "[tt]+k[/tt]"? :gg:

C'mon, nije to formuletina za bubanje napamet, nego zapisi niz od - recimo - 5 elemenata na papir i probaj ga, prema svojoj formuli, pomaknuti za 2 mjesta u desno i bit ce ti jasno kako to radi. 8) Nakon toga razmisli kako bi islo u lijevo... 8)

Nikakva korist od ucenja na pamet ako ti nije jasno. :( Recimo, mogu ti reci da pomaknes samo svaki drugi element za [tt]k[/tt] mjesta... sto ces onda ako samo znas formulu na pamet, ali ju zapravo ne razumijes? :-k

(Hint za ovo zadnje: mijenja se petlja u kojoj pozivas svoju "formulu")
Nagadjam: onaj "-k" se zamijeni sa "+k"? Mr Green being very Greeen indeed

C'mon, nije to formuletina za bubanje napamet, nego zapisi niz od - recimo - 5 elemenata na papir i probaj ga, prema svojoj formuli, pomaknuti za 2 mjesta u desno i bit ce ti jasno kako to radi. Cool Nakon toga razmisli kako bi islo u lijevo... Cool

Nikakva korist od ucenja na pamet ako ti nije jasno. Sad Recimo, mogu ti reci da pomaknes samo svaki drugi element za k mjesta... sto ces onda ako samo znas formulu na pamet, ali ju zapravo ne razumijes? Think

(Hint za ovo zadnje: mijenja se petlja u kojoj pozivas svoju "formulu")



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


Pridružen/a: 05. 01. 2007. (22:48:40)
Postovi: (23)16
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 14:12 pet, 3. 10. 2008    Naslov: Citirajte i odgovorite

#include<stdio.h>
#include<string.h>
main()
{
struct student
{
char ime[20];
char prezime[20];
int brind;
char smer[20];
}ulaz,izlaz;
FILE *dat1,*dat2;
int i,n,postoji=0;
dat2=fopen("EE.txt","w+");
if((dat1=fopen("STUDENTI.txt","r+"))==NULL)
{
dat1=fopen("STUDENTI.txt","w+");
printf("koliko studenata upisujete?\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("unesite podatke o %d. studentu\n",i+1);
scanf("%s %s %d %s",ulaz.ime,ulaz.prezime,&ulaz.brind,ulaz.smer);
fprintf(dat1,"%s% s% d %s",ulaz.ime,ulaz.prezime,ulaz.brind,ulaz.smer);
}
rewind(dat1);
}
while(!feof(dat1))
{
fscanf(dat1,"%s %s %d %s",ulaz.ime,ulaz.prezime,&ulaz.brind,ulaz.smer);
if(strcmp(ulaz.smer,"ee")==0)
{
izlaz=ulaz;
fprintf(dat2,"%s %s %d",izlaz.ime,izlaz.prezime,izlaz.brind);
postoji=1;
}

}
if(postoji==0){
printf("\nnema studenta sa EE odseka");
}
fclose(dat1);
fclose(dat2);
}


Ovaj zadatak treba da iz dat student.txt nadje i kopira studente sa odseka EE u dat ee.txt

Sad neznam u cemu je problem pa program nece da radi kako treba....
#include<stdio.h>
#include<string.h>
main()
{
struct student
{
char ime[20];
char prezime[20];
int brind;
char smer[20];
}ulaz,izlaz;
FILE *dat1,*dat2;
int i,n,postoji=0;
dat2=fopen("EE.txt","w+");
if((dat1=fopen("STUDENTI.txt","r+"))==NULL)
{
dat1=fopen("STUDENTI.txt","w+");
printf("koliko studenata upisujete?\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("unesite podatke o %d. studentu\n",i+1);
scanf("%s %s %d %s",ulaz.ime,ulaz.prezime,&ulaz.brind,ulaz.smer);
fprintf(dat1,"%s% s% d %s",ulaz.ime,ulaz.prezime,ulaz.brind,ulaz.smer);
}
rewind(dat1);
}
while(!feof(dat1))
{
fscanf(dat1,"%s %s %d %s",ulaz.ime,ulaz.prezime,&ulaz.brind,ulaz.smer);
if(strcmp(ulaz.smer,"ee")==0)
{
izlaz=ulaz;
fprintf(dat2,"%s %s %d",izlaz.ime,izlaz.prezime,izlaz.brind);
postoji=1;
}

}
if(postoji==0){
printf("\nnema studenta sa EE odseka");
}
fclose(dat1);
fclose(dat2);
}


Ovaj zadatak treba da iz dat student.txt nadje i kopira studente sa odseka EE u dat ee.txt

Sad neznam u cemu je problem pa program nece da radi kako treba....


[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:19 pet, 3. 10. 2008    Naslov: Citirajte i odgovorite

[quote="nemanja065"]
izlaz=ulaz;
[/quote]


Ne, ne... C ne zna to sam pridružit... Tu imaš jedna_struktura=druga_struktura, a to u C-u ne ide... trebaš ručno sve... dakle, ime, prezime preko strcpy, onaj int obično... tak bi trebalo bit ok. :D Eventualno tamo di upisuješ studente u dat1, tamo imaš % s (razdvojeno), možda i to zeza, a možda i prolazi, to nisam siguran.

i daj please stavi kod u kućicu (ispod naslova teme na vrhu posta imaš kvadratić code, to dvaput i onda unutar toga zalijepiš kod), onda je puno preglednije...
nemanja065 (napisa):

izlaz=ulaz;



Ne, ne... C ne zna to sam pridružit... Tu imaš jedna_struktura=druga_struktura, a to u C-u ne ide... trebaš ručno sve... dakle, ime, prezime preko strcpy, onaj int obično... tak bi trebalo bit ok. Very Happy Eventualno tamo di upisuješ studente u dat1, tamo imaš % s (razdvojeno), možda i to zeza, a možda i prolazi, to nisam siguran.

i daj please stavi kod u kućicu (ispod naslova teme na vrhu posta imaš kvadratić code, to dvaput i onda unutar toga zalijepiš kod), onda je puno preglednije...



_________________
"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
vsego
Site Admin
Site Admin


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

PostPostano: 14:45 pet, 3. 10. 2008    Naslov: Citirajte i odgovorite

Posto su stringovi nizovi, a ne pointeri, mislim da ovakvo kopiranje dobro radi. :)

Greska je ovdje:
[tt]fprintf(dat1,"%s[bg=red]% [/bg]s[bg=red]% [/bg]d %s",ulaz.ime,ulaz.prezime,ulaz.brind,ulaz.smer);[/tt]
Treba biti:
[tt]fprintf(dat1,"%s[bg=lime] %[/bg]s[bg=lime] %[/bg]d %s[bg=lime]\n[/bg]",ulaz.ime,ulaz.prezime,ulaz.brind,ulaz.smer);[/tt]
(skok u novi red da se izbjegne da se slijepe smjer i-tog i ime (i+1)-og studenta. 8)

Dodatno, u izlazu ce zadnji student biti dva puta. :? Treba
[code:1]while(!feof(dat1))
{
fscanf(dat1,"%s %s %d %s",ulaz.ime,ulaz.prezime,&ulaz.brind,ulaz.smer);
...
}[/code:1]
zamijeniti sa
[code:1]fscanf(dat1,"%s %s %d %s",ulaz.ime,ulaz.prezime,&ulaz.brind,ulaz.smer);
while(!feof(dat1))
{
...
fscanf(dat1,"%s %s %d %s",ulaz.ime,ulaz.prezime,&ulaz.brind,ulaz.smer);
}[/code:1]
ili
[code:1]while(1)
{
fscanf(dat1,"%s %s %d %s",ulaz.ime,ulaz.prezime,&ulaz.brind,ulaz.smer);
if (feof(dat1)) break;
...
}[/code:1]
I ovdje bi bilo dobro na kraj formata dodati [tt]\n[/tt]. 8)

8)
Posto su stringovi nizovi, a ne pointeri, mislim da ovakvo kopiranje dobro radi. Smile

Greska je ovdje:
fprintf(dat1,"%s% s% d %s",ulaz.ime,ulaz.prezime,ulaz.brind,ulaz.smer);
Treba biti:
fprintf(dat1,"%s %s %d %s\n",ulaz.ime,ulaz.prezime,ulaz.brind,ulaz.smer);
(skok u novi red da se izbjegne da se slijepe smjer i-tog i ime (i+1)-og studenta. Cool

Dodatno, u izlazu ce zadnji student biti dva puta. Confused Treba
Kod:
while(!feof(dat1))
{
  fscanf(dat1,"%s %s %d %s",ulaz.ime,ulaz.prezime,&ulaz.brind,ulaz.smer);
  ...
}

zamijeniti sa
Kod:
fscanf(dat1,"%s %s %d %s",ulaz.ime,ulaz.prezime,&ulaz.brind,ulaz.smer);
while(!feof(dat1))
{
  ...
  fscanf(dat1,"%s %s %d %s",ulaz.ime,ulaz.prezime,&ulaz.brind,ulaz.smer);
}

ili
Kod:
while(1)
{
  fscanf(dat1,"%s %s %d %s",ulaz.ime,ulaz.prezime,&ulaz.brind,ulaz.smer);
  if (feof(dat1)) break;
  ...
}

I ovdje bi bilo dobro na kraj formata dodati \n. Cool

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
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