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

Rekurzija determinante
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
Manny Callavera
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 17. 02. 2004. (12:40:20)
Postovi: (2D)16
Spol: muško
Sarma = la pohva - posuda
= 8 - 0
Lokacija: Zgb

PostPostano: 13:29 sub, 17. 4. 2004    Naslov: Rekurzija determinante Citirajte i odgovorite

Ako mi netko može napisat potpuni algoritam bio bih zahvalan


Napišite funkciju koja kao argument uzima kvadratnu matricu (dvodimenzionalno polje) i
njenu dimenziju,te vraća determinantu matrice. Najveća dimenzija matrice je 99.
[Uputa:koristiti rekurziju] :?:


zadatak by VŠego
Ako mi netko može napisat potpuni algoritam bio bih zahvalan


Napišite funkciju koja kao argument uzima kvadratnu matricu (dvodimenzionalno polje) i
njenu dimenziju,te vraća determinantu matrice. Najveća dimenzija matrice je 99.
[Uputa:koristiti rekurziju] Question


zadatak by VŠego



_________________
The King Of Kong documentary:

http://www.youtube.com/watch?v=xMJZ-_bJKdI
[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
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:07 sub, 17. 4. 2004    Naslov: Re: Rekurzija determinante Citirajte i odgovorite

[quote="mandark"]zadatak by VŠego[/quote]

Kao i rjesenje... :roll:

[b]Generalno:[/b] Ja dajem rjesenja svojih rokova. Mozete ih dobiti u onoj fotokopiraoni gdje sam ih ostavio skupa s rokovima, kao i skinuti [url=http://web.math.hr/nastava/uur/stari_rokovi.php]s weba[/url]. 8)

Sto se bas tog zadatka tice, malo mi se "omaklo"... :( Mislio sam da ce biti rel. lako, a (iznimno) nisam slozio rjesenja prije ispita, pa sam tek naknadno skuzio da je tesko... :(

Upravo skuzih da webmaster nije uploadao taj rok, iako sam javio gresku. :( Evo copy-paste iz PDFa koji imam doma...

[code:1]funkcija det(int m[99, 99], int n)
int pomocna[99, 99]
ako je n = 1 vrati m[1, 1]
suma ← 0
// predznak (tj. (-1)^i)
p1 ← 1
// razvijamo po prvom stupcu
za i = 1,..., n radi
// slažemo pomocnu matricu – onu koja nastaje od m
// uklanjanjem i-tog retka
za k = 1,..., n – 1 radi
za j = 1,..., i – 1 radi
pomocna[j, k] ← m[j, k + 1]
za j = i,..., n - 1 radi
pomocna[j, k] ← m[j + 1, k + 1]
suma ← suma + p1 * m[i, 1] * det(pomocna, n – 1)
p1 ← p1 * (-1)
vrati suma[/code:1]

Ne garantiram da nema gresaka 8) ali vjerojatno nista jako bitno... :)

:wave:
mandark (napisa):
zadatak by VŠego


Kao i rjesenje... Rolling Eyes

Generalno: Ja dajem rjesenja svojih rokova. Mozete ih dobiti u onoj fotokopiraoni gdje sam ih ostavio skupa s rokovima, kao i skinuti s weba. Cool

Sto se bas tog zadatka tice, malo mi se "omaklo"... Sad Mislio sam da ce biti rel. lako, a (iznimno) nisam slozio rjesenja prije ispita, pa sam tek naknadno skuzio da je tesko... Sad

Upravo skuzih da webmaster nije uploadao taj rok, iako sam javio gresku. Sad Evo copy-paste iz PDFa koji imam doma...

Kod:
funkcija det(int m[99, 99], int n)
  int pomocna[99, 99]
  ako je n = 1 vrati m[1, 1]
  suma ← 0
  // predznak (tj. (-1)^i)
  p1 ← 1
  // razvijamo po prvom stupcu
  za i = 1,..., n radi
    // slažemo pomocnu matricu – onu koja nastaje od m
    // uklanjanjem i-tog retka
    za k = 1,..., n – 1 radi
      za j = 1,..., i – 1 radi
        pomocna[j, k] ← m[j, k + 1]
      za j = i,..., n - 1 radi
        pomocna[j, k] ← m[j + 1, k + 1]
      suma ← suma + p1 * m[i, 1] * det(pomocna, n – 1)
      p1 ← p1 * (-1)
  vrati suma


Ne garantiram da nema gresaka Cool ali vjerojatno nista jako bitno... Smile

Wave



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


Pridružen/a: 17. 02. 2004. (12:40:20)
Postovi: (2D)16
Spol: muško
Sarma = la pohva - posuda
= 8 - 0
Lokacija: Zgb

PostPostano: 10:14 ned, 18. 4. 2004    Naslov: hvala Citirajte i odgovorite

Nadam se da neće biti ovako "preteških" zadataka za 19.04.
thanx za rješenje :D ,jer polako sam gubio kosu :?
Nadam se da neće biti ovako "preteških" zadataka za 19.04.
thanx za rješenje Very Happy ,jer polako sam gubio kosu Confused



_________________
The King Of Kong documentary:

http://www.youtube.com/watch?v=xMJZ-_bJKdI
[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
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:49 ned, 18. 4. 2004    Naslov: Re: hvala Citirajte i odgovorite

[quote="mandark"]Nadam se da neće biti ovako "preteških" zadataka za 19.04.
thanx za rješenje :D ,jer polako sam gubio kosu :?[/quote]

Font 10pt, rjesenja su mi stala na jednu stranicu A4. :shock: Sretan? :D
mandark (napisa):
Nadam se da neće biti ovako "preteških" zadataka za 19.04.
thanx za rješenje Very Happy ,jer polako sam gubio kosu Confused


Font 10pt, rjesenja su mi stala na jednu stranicu A4. Shocked Sretan? Very Happy



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


Pridružen/a: 17. 02. 2004. (12:40:20)
Postovi: (2D)16
Spol: muško
Sarma = la pohva - posuda
= 8 - 0
Lokacija: Zgb

PostPostano: 20:58 ned, 18. 4. 2004    Naslov: .... Citirajte i odgovorite

....hmmm..samo na jedan papir :shock: mora da je nes bolesno i rekurzivno teško....hej daj ono diskretno među nama da nitko ne sazna :) daj mi mejlaj večeras da odmah procijenim kakvi su :wink: .....
:D šalim se, ma ja sam samo smrtnik što se tiče računarstva pa eto nekom lako nekom teško, "ako" prođem zahvalit ću ti se na pristojnim zadačićima.....ako ne....slobodno vrijeme će platiti glavom. :twisted:
....hmmm..samo na jedan papir Shocked mora da je nes bolesno i rekurzivno teško....hej daj ono diskretno među nama da nitko ne sazna Smile daj mi mejlaj večeras da odmah procijenim kakvi su Wink .....
Very Happy šalim se, ma ja sam samo smrtnik što se tiče računarstva pa eto nekom lako nekom teško, "ako" prođem zahvalit ću ti se na pristojnim zadačićima.....ako ne....slobodno vrijeme će platiti glavom. Twisted Evil



_________________
The King Of Kong documentary:

http://www.youtube.com/watch?v=xMJZ-_bJKdI
[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
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: 21:14 ned, 18. 4. 2004    Naslov: Re: .... Citirajte i odgovorite

[quote="mandark"]....hmmm..samo na jedan papir :shock: mora da je nes bolesno i rekurzivno teško....hej daj ono diskretno među nama da nitko ne sazna :) daj mi mejlaj večeras da odmah procijenim kakvi su :wink: .....[/quote]

Sad mi se ne da.... :( Moze sutra na vecer? :twisted: ;)

IMO, rok je ispao prelagan, ali neka... :D Nadoknadit cu na prvom ljetnom roku. :twisted:
mandark (napisa):
....hmmm..samo na jedan papir Shocked mora da je nes bolesno i rekurzivno teško....hej daj ono diskretno među nama da nitko ne sazna Smile daj mi mejlaj večeras da odmah procijenim kakvi su Wink .....


Sad mi se ne da.... Sad Moze sutra na vecer? Twisted Evil Wink

IMO, rok je ispao prelagan, ali neka... Very Happy Nadoknadit cu na prvom ljetnom roku. Twisted Evil



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


Pridružen/a: 17. 02. 2004. (12:40:20)
Postovi: (2D)16
Spol: muško
Sarma = la pohva - posuda
= 8 - 0
Lokacija: Zgb

PostPostano: 21:43 ned, 18. 4. 2004    Naslov: Citirajte i odgovorite

:lol: razumijem sigurno si zauzet večeras...ali svakako sutra navečer.. :D
Laughing razumijem sigurno si zauzet večeras...ali svakako sutra navečer.. Very Happy



_________________
The King Of Kong documentary:

http://www.youtube.com/watch?v=xMJZ-_bJKdI
[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
GauSs_
Moderator
Moderator


Pridružen/a: 28. 01. 2004. (21:01:17)
Postovi: (53C)16
Spol: muško
Sarma = la pohva - posuda
72 = 110 - 38
Lokacija: 231

PostPostano: 13:45 pon, 19. 4. 2004    Naslov: determinanta Citirajte i odgovorite

pod pretpostavkom da je sego pisajuci pseudo kod mislio na:
[code:1]
funkcija det(int m[99, 99], int n){
int pomocna[99, 99]
ako je n = 1 vrati m[1, 1]
suma ← 0
// predznak (tj. (-1)^i)
p1 ← 1
// razvijamo po prvom stupcu
za i = 1,..., n radi {
// slažemo pomocnu matricu – onu koja nastaje od m
// uklanjanjem i-tog retka
za k = 1,..., n – 1 radi {
za j = 1,..., i – 1 radi {
pomocna[j, k] ← m[j, k + 1] }
za j = i,..., n - 1 radi {
pomocna[j, k] ← m[j + 1, k + 1] }
suma ← suma + p1 * m[i, 1] * det(pomocna, n – 1)
p1 ← p1 * (-1)
}
}
vrati suma
}
[/code:1]
zadatak vam nije ispravan, tj. segi!
probelm je u ovom dijelu:
[code:1]
suma ← suma + p1 * m[i, 1] * det(pomocna, n – 1)
p1 ← p1 * (-1)
[/code:1]
koji bi se trebao nalaziti izvan petlje:
[code:1]
za k = 1,..., n – 1 radi
[/code:1]
i pravilno bi glasio:
[code:1]
funkcija det(int m[99, 99], int n){
int pomocna[99, 99]
ako je n = 1 vrati m[1, 1]
suma ← 0
// predznak (tj. (-1)^i)
p1 ← 1
// razvijamo po prvom stupcu
za i = 1,..., n radi {
// slažemo pomocnu matricu – onu koja nastaje od m
// uklanjanjem i-tog retka
za k = 1,..., n – 1 radi {
za j = 1,..., i – 1 radi {
pomocna[j, k] ← m[j, k + 1] }
za j = i,..., n - 1 radi {
pomocna[j, k] ← m[j + 1, k + 1] }
}
suma ← suma + p1 * m[i, 1] * det(pomocna, n – 1)
p1 ← p1 * (-1)
}
vrati suma
}
[/code:1]

ili ako zelite npr. u c-u:
[code:1]
double* determinanta( double **a, int red_matrice){

int i, j, k, predznak;
double *suma, **pomocna;
suma=(double *) malloc(sizeof( double));
if(red_matrice==1) return *a;
*suma=0;
predznak=1;
pomocna=(double **) malloc(red_matrice*(sizeof(void *)));
if(pomocna==NULL){
puts(":>>> Pogreska pri alociranju memorije");
return NULL;
}
for(i=0;i<red_matrice;i++){
pomocna[i]=(double *) malloc(red_matrice*(sizeof(double )));
if(pomocna[i]==NULL){
puts(":>>> Pogreska pri alociranju memorije");
return NULL;
}
}
for(i=0;i<red_matrice;i++){
for(k=0;k<red_matrice-1;k++){
for(j=0;j<i;j++) pomocna[j][k]=a[j][k+1];
for(j=i;j<red_matrice-1;j++) pomocna[j][k]=a[j+1][k+1];
}
(*suma)+=predznak*a[i][0]*(*(determinanta(pomocna, red_matrice-1)));
predznak*=-1;
}
for(i=0;i<red_matrice;i++) free(pomocna[i]);
free(pomocna);
return suma;
}
[/code:1]
:D
pod pretpostavkom da je sego pisajuci pseudo kod mislio na:
Kod:

funkcija det(int m[99, 99], int n){
  int pomocna[99, 99]
  ako je n = 1 vrati m[1, 1]
  suma ← 0
  // predznak (tj. (-1)^i)
  p1 ← 1
  // razvijamo po prvom stupcu
  za i = 1,..., n radi {
    // slažemo pomocnu matricu – onu koja nastaje od m
    // uklanjanjem i-tog retka
    za k = 1,..., n – 1 radi {
      za j = 1,..., i – 1 radi {
        pomocna[j, k] ← m[j, k + 1] }
      za j = i,..., n - 1 radi {
        pomocna[j, k] ← m[j + 1, k + 1] }
      suma ← suma + p1 * m[i, 1] * det(pomocna, n – 1)
      p1 ← p1 * (-1)
    }
  } 
  vrati suma
}

zadatak vam nije ispravan, tj. segi!
probelm je u ovom dijelu:
Kod:

suma ← suma + p1 * m[i, 1] * det(pomocna, n – 1)
p1 ← p1 * (-1)

koji bi se trebao nalaziti izvan petlje:
Kod:

za k = 1,..., n – 1 radi

i pravilno bi glasio:
Kod:

funkcija det(int m[99, 99], int n){
  int pomocna[99, 99]
  ako je n = 1 vrati m[1, 1]
  suma ← 0
  // predznak (tj. (-1)^i)
  p1 ← 1
  // razvijamo po prvom stupcu
  za i = 1,..., n radi {
    // slažemo pomocnu matricu – onu koja nastaje od m
    // uklanjanjem i-tog retka
    za k = 1,..., n – 1 radi {
      za j = 1,..., i – 1 radi {
        pomocna[j, k] ← m[j, k + 1] }
      za j = i,..., n - 1 radi {
        pomocna[j, k] ← m[j + 1, k + 1] }
    }
    suma ← suma + p1 * m[i, 1] * det(pomocna, n – 1)
    p1 ← p1 * (-1)
  } 
  vrati suma
}


ili ako zelite npr. u c-u:
Kod:

double* determinanta( double **a, int red_matrice){

  int i, j, k, predznak;
  double *suma, **pomocna;
  suma=(double *) malloc(sizeof( double));
  if(red_matrice==1) return *a;
  *suma=0;
  predznak=1;
  pomocna=(double **) malloc(red_matrice*(sizeof(void *)));
  if(pomocna==NULL){
    puts(":>>> Pogreska pri alociranju memorije");
    return NULL;
  }
  for(i=0;i<red_matrice;i++){
    pomocna[i]=(double *) malloc(red_matrice*(sizeof(double )));
    if(pomocna[i]==NULL){
      puts(":>>> Pogreska pri alociranju memorije");
      return NULL;
    }
  } 
  for(i=0;i<red_matrice;i++){
    for(k=0;k<red_matrice-1;k++){
      for(j=0;j<i;j++) pomocna[j][k]=a[j][k+1];
      for(j=i;j<red_matrice-1;j++) pomocna[j][k]=a[j+1][k+1];     
    }
    (*suma)+=predznak*a[i][0]*(*(determinanta(pomocna, red_matrice-1)));
    predznak*=-1;
  }
  for(i=0;i<red_matrice;i++) free(pomocna[i]);
  free(pomocna);
  return suma;
}

Very Happy


[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
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: 17:15 pon, 19. 4. 2004    Naslov: Citirajte i odgovorite

Moguce da je Shego samo krivo uvukao kod jer je copy/paste iz PDFa maknuo uvlacenja... :roll: Ne znam, nemam ovdje rjesenje... :(

Bilo kako bilo, hvala na ispravci! 8)
Moguce da je Shego samo krivo uvukao kod jer je copy/paste iz PDFa maknuo uvlacenja... Rolling Eyes Ne znam, nemam ovdje rjesenje... Sad

Bilo kako bilo, hvala na ispravci! 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
GauSs_
Moderator
Moderator


Pridružen/a: 28. 01. 2004. (21:01:17)
Postovi: (53C)16
Spol: muško
Sarma = la pohva - posuda
72 = 110 - 38
Lokacija: 231

PostPostano: 18:23 pon, 19. 4. 2004    Naslov: Citirajte i odgovorite

pa lijepo sam napisao:
"pod pretpostavkom da je sego pisuci pseudo kod mislio na ..."
ako nije, nicija greska :D
pa lijepo sam napisao:
"pod pretpostavkom da je sego pisuci pseudo kod mislio na ..."
ako nije, nicija greska Very Happy


[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
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