Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
endurance Forumaš(ica)

Pridružen/a: 14. 01. 2009. (19:29:18) Postovi: (3)16
|
Postano: 19:39 sri, 14. 1. 2009 Naslov: Spajanje polja |
|
|
evo dobio sam ovakav zadatak a ne znam ni kak počet, pa ak ima koja dobra duša da mi pomogne
Napišite program koji sa tastature učitava dva polja od po 10 cijelih brojeva iz segmenta [1,1000]. Napišite
funkciju koja kao parametre uzima pokazivače na ta dva polja, dužine tih polja te pokazivač i dužinu ciljnog
polja u koje treba prekopirati brojeve iz prva dva polja. Potpis funkcije je
void SpojiPolja( int *Polje1, int Velicina1,
int *Polje2, int Velicina 2,
int *CiljnoPolje, int Velicina3);
Funkcija treba prekopirati elemente iz proslijeđenih polja Polje1 i Polje2u ciljno polje CiljnoPolje i
to tako da ciljno polje sadrži elemente sortirano uzlazno.
evo dobio sam ovakav zadatak a ne znam ni kak počet, pa ak ima koja dobra duša da mi pomogne
Napišite program koji sa tastature učitava dva polja od po 10 cijelih brojeva iz segmenta [1,1000]. Napišite
funkciju koja kao parametre uzima pokazivače na ta dva polja, dužine tih polja te pokazivač i dužinu ciljnog
polja u koje treba prekopirati brojeve iz prva dva polja. Potpis funkcije je
void SpojiPolja( int *Polje1, int Velicina1,
int *Polje2, int Velicina 2,
int *CiljnoPolje, int Velicina3);
Funkcija treba prekopirati elemente iz proslijeđenih polja Polje1 i Polje2u ciljno polje CiljnoPolje i
to tako da ciljno polje sadrži elemente sortirano uzlazno.
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
Postano: 21:12 sri, 14. 1. 2009 Naslov: |
|
|
To se radi u drugom semestru, pa baci oko u materijale iz predavanja i vjezbi. :) Ako bas trazis gotovo rjesenje, trazi po Mrezi insertion sort, pa onda tako ubacuj u novi niz prvo elemente prvog, a onda elemente drugog niza. 8)
I drugi put se potrudi oko subjecta, da ga ne moraju moderatori editirati... :?
Usput, ako znas da su [tt]Polje1[/tt] i [tt]Polje2[/tt] duljine 10 (pa je [tt]Polje3[/tt] duljine 20), ne kuzim cemu ti sluze varijable [tt]Velicina1[/tt], [tt]Velicina2[/tt] i [tt]Velicina3[/tt]. :? Ako duljine polja [tt]Polje1[/tt] i [tt]Polje2[/tt] mogu varirati, onda se [tt]Velicina3[/tt] racuna, pa ta varijabla mora biti pointer na [tt]int[/tt]. :)
P.S. "duzina" je najkraca spojnica dvije tocke; "duljina" je broj elemenata polja. ;)
To se radi u drugom semestru, pa baci oko u materijale iz predavanja i vjezbi. Ako bas trazis gotovo rjesenje, trazi po Mrezi insertion sort, pa onda tako ubacuj u novi niz prvo elemente prvog, a onda elemente drugog niza.
I drugi put se potrudi oko subjecta, da ga ne moraju moderatori editirati...
Usput, ako znas da su Polje1 i Polje2 duljine 10 (pa je Polje3 duljine 20), ne kuzim cemu ti sluze varijable Velicina1, Velicina2 i Velicina3. Ako duljine polja Polje1 i Polje2 mogu varirati, onda se Velicina3 racuna, pa ta varijabla mora biti pointer na int.
P.S. "duzina" je najkraca spojnica dvije tocke; "duljina" je broj elemenata polja.
_________________ 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. 
|
|
[Vrh] |
|
Luuka Forumaš(ica)


Pridružen/a: 13. 02. 2007. (20:34:54) Postovi: (925)16
Spol: 
Lokacija: Hakuna Matata
|
Postano: 21:14 sri, 14. 1. 2009 Naslov: Re: PROBLEMI |
|
|
[quote="endurance"]evo dobio sam ovakav zadatak a ne znam ni kak počet, pa ak ima koja dobra duša da mi pomogne
Napišite program koji sa tastature učitava dva polja od po 10 cijelih brojeva iz segmenta [1,1000]. Napišite
funkciju koja kao parametre uzima pokazivače na ta dva polja, dužine tih polja te pokazivač i dužinu ciljnog
polja u koje treba prekopirati brojeve iz prva dva polja. Potpis funkcije je
void SpojiPolja( int *Polje1, int Velicina1,
int *Polje2, int Velicina 2,
int *CiljnoPolje, int Velicina3);
Funkcija treba prekopirati elemente iz proslijeđenih polja Polje1 i Polje2u ciljno polje CiljnoPolje i
to tako da ciljno polje sadrži elemente sortirano uzlazno.[/quote]
Evo ovako, naprije par hintova pa ako ne uspiješ, budemo kodirali ;)
1. u glavnom programu učitati 2 niza Polje1 i Polje2, svaki po 10 elemenata (to valjda znaš).
2. ova veličina ciljnog polja (a i velicina1 i velicina2) mi se čini potrebno samo ako se u svakom polju mora nalazit svaki element točno jednom. Inače je veličina ciljnog polja 20. Provjeri još to pa reci jel imaš koju pretpostavku. Dat ću hint za lakši slučaj, kada je ciljno polje veličine 20.
3. alociraj memoriju za Ciljno polje na 20 intova.
4. pozovi fju SpojiPolja.
5. U toj fji prvo sa for petljom ubaci elemente iz Polje1 pa iz polje2, npr:
[code:1]int k=0,i;
for (i=0;i<duljina1;i++) {Ciljnopolje[k]=Polje1[i];k++;}
for (i=0;i<duljina2;i++) {Ciljnopolje[k]=Polje2[i];k++;}[/code:1]
6. nakon toga sortiraš Ciljnopolje.
Ako nešto nije jasno pitaj. :D
p.s. Nemoj da te pointeri bune, ista je sintaxa... ;)
endurance (napisa): | evo dobio sam ovakav zadatak a ne znam ni kak počet, pa ak ima koja dobra duša da mi pomogne
Napišite program koji sa tastature učitava dva polja od po 10 cijelih brojeva iz segmenta [1,1000]. Napišite
funkciju koja kao parametre uzima pokazivače na ta dva polja, dužine tih polja te pokazivač i dužinu ciljnog
polja u koje treba prekopirati brojeve iz prva dva polja. Potpis funkcije je
void SpojiPolja( int *Polje1, int Velicina1,
int *Polje2, int Velicina 2,
int *CiljnoPolje, int Velicina3);
Funkcija treba prekopirati elemente iz proslijeđenih polja Polje1 i Polje2u ciljno polje CiljnoPolje i
to tako da ciljno polje sadrži elemente sortirano uzlazno. |
Evo ovako, naprije par hintova pa ako ne uspiješ, budemo kodirali
1. u glavnom programu učitati 2 niza Polje1 i Polje2, svaki po 10 elemenata (to valjda znaš).
2. ova veličina ciljnog polja (a i velicina1 i velicina2) mi se čini potrebno samo ako se u svakom polju mora nalazit svaki element točno jednom. Inače je veličina ciljnog polja 20. Provjeri još to pa reci jel imaš koju pretpostavku. Dat ću hint za lakši slučaj, kada je ciljno polje veličine 20.
3. alociraj memoriju za Ciljno polje na 20 intova.
4. pozovi fju SpojiPolja.
5. U toj fji prvo sa for petljom ubaci elemente iz Polje1 pa iz polje2, npr:
Kod: | int k=0,i;
for (i=0;i<duljina1;i++) {Ciljnopolje[k]=Polje1[i];k++;}
for (i=0;i<duljina2;i++) {Ciljnopolje[k]=Polje2[i];k++;} |
6. nakon toga sortiraš Ciljnopolje.
Ako nešto nije jasno pitaj.
p.s. Nemoj da te pointeri bune, ista je sintaxa...
_________________ "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 
|
|
[Vrh] |
|
endurance Forumaš(ica)

Pridružen/a: 14. 01. 2009. (19:29:18) Postovi: (3)16
|
|
[Vrh] |
|
|