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

problem sa funkcijom
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
endurance
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 14. 01. 2009. (19:29:18)
Postovi: (3)16
Sarma = la pohva - posuda
= 1 - 0

PostPostano: 22:15 ned, 18. 1. 2009    Naslov: problem sa funkcijom Citirajte i odgovorite

Opet imam bjesni zadatak za riješit:

Napišite program koji sa tastature učitava jedno polje od 10 cijelih brojeva iz segmenta [1, 100 000].
Nadalje, sa tastature učitavajte brojeve koje treba pronaći u polju te ispisujte je li traženi broj pronađen i
ako je, indeks na kojem se taj broj na alazi.

Traženje broja u polju implementirajte funkcijom sa sljedećim potpisom:

bool NadiElement(const int *Polje, unsigned int BrojElemenata,
int TrazeniElement, unsigned int *Indeks);


Funkcija vraća true ako je pronašla element TrazeniElement u polju Polje i u tom slučaju upisuje indeks iz polja na kojem je pronađen elemeent u Indeks.
U slučaju da TrazeniElement ne postoji u polju, funkcija vraća false
i u varijablu Indeks se niššta ne zapisuje.

U funkciji pretpostavite da je polje sortirano, te implementirajte binarno pretraživanje (to znači da je potrebno polje prije pretraživanja sortirati).

Za sad sam napravio ovo i ne znam kako ubacit indeks i složit funkciju, u biti teoretski znam ali nikak da dobijem da mi radi :evil:

#include <iostream>
using namespace std;

bool NadiElement(const int *Polje, unsigned int BrojElemenata,
int TrazeniElement, unsigned int *Indeks);

int main() {

//unos polja
int Polje[10];
cout << "Unesi broj (manji od 1 i veci od 100 000 nece biti unesen):" << endl;

for (int i = 0; i <=9; i++) {
do {
cout << "Unesi broj:" << endl;
cin >> Polje[i];
}
while((Polje[i] < 1) || (Polje[i] > 100000));
}

//sortiranje:
int i;
int j;
int pomocni;
for (i=0; i < BrojElemenata; i++) {
for (j=i+1; j< BrojElemenata; j++) {
if (Polje[j]<Polje[i]) {
pomocni = Polje[i];
Polje[i] = Polje[j];
Polje[j] = pomocni;
}
}
}

NadiElement();

return 0;
}

bool NadiElement(){


}



Nadam se da će mi netko znati pomoći :cry:
Opet imam bjesni zadatak za riješit:

Napišite program koji sa tastature učitava jedno polje od 10 cijelih brojeva iz segmenta [1, 100 000].
Nadalje, sa tastature učitavajte brojeve koje treba pronaći u polju te ispisujte je li traženi broj pronađen i
ako je, indeks na kojem se taj broj na alazi.

Traženje broja u polju implementirajte funkcijom sa sljedećim potpisom:

bool NadiElement(const int *Polje, unsigned int BrojElemenata,
int TrazeniElement, unsigned int *Indeks);


Funkcija vraća true ako je pronašla element TrazeniElement u polju Polje i u tom slučaju upisuje indeks iz polja na kojem je pronađen elemeent u Indeks.
U slučaju da TrazeniElement ne postoji u polju, funkcija vraća false
i u varijablu Indeks se niššta ne zapisuje.

U funkciji pretpostavite da je polje sortirano, te implementirajte binarno pretraživanje (to znači da je potrebno polje prije pretraživanja sortirati).

Za sad sam napravio ovo i ne znam kako ubacit indeks i složit funkciju, u biti teoretski znam ali nikak da dobijem da mi radi Evil or Very Mad

#include <iostream>
using namespace std;

bool NadiElement(const int *Polje, unsigned int BrojElemenata,
int TrazeniElement, unsigned int *Indeks);

int main() {

//unos polja
int Polje[10];
cout << "Unesi broj (manji od 1 i veci od 100 000 nece biti unesen):" << endl;

for (int i = 0; i ⇐9; i++) {
do {
cout << "Unesi broj:" << endl;
cin >> Polje[i];
}
while((Polje[i] < 1) || (Polje[i] > 100000));
}

//sortiranje:
int i;
int j;
int pomocni;
for (i=0; i < BrojElemenata; i++) {
for (j=i+1; j< BrojElemenata; j++) {
if (Polje[j]<Polje[i]) {
pomocni = Polje[i];
Polje[i] = Polje[j];
Polje[j] = pomocni;
}
}
}

NadiElement();

return 0;
}

bool NadiElement(){


}



Nadam se da će mi netko znati pomoći Crying or Very sad


[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: 23:55 ned, 18. 1. 2009    Naslov: Re: problem sa funkcijom Citirajte i odgovorite

[quote="endurance"]Opet imam bjesni zadatak za riješit:[/quote]
Nije bijesan :D

Kao prvo, dobro bi bilo kod stavljat u code prozorčiće (ja ću ih sad stavit)

Popravit ću ti učitavanje i sortiranje

[code:1]
#include <iostream>
using namespace std;

bool NadiElement(const int *Polje, unsigned int BrojElemenata,
int TrazeniElement, unsigned int *Indeks);

int main() {

//unos polja
int Polje[10];
int x;
cout << "Unos brojeva, oni manji od 1 i veci od 100000 nece biti uneseni"<<endl;

for (int i = 0; i <=9; i++) {
int ucitan=0;
while( !ucitan)
{
cout << "Unesi broj:" << endl;
cin >> x;
if (x>=1 && x<=100000) { Polje[i]=x; ucitan=1; }
}
}

//sortiranje:
int i;
int j;
int pomocni;
for (i=0; i < 9; i++)
for (j=i+1; j< 10; j++)
if (Polje[j]<Polje[i])
{
pomocni = Polje[i];
Polje[i] = Polje[j];
Polje[j] = pomocni;
}
return 0;
}

bool NadiElement(){


}
[/code:1]

I sad hintovi za fju:

[quote="endurance"]U funkciji pretpostavite da je polje sortirano, te implementirajte binarno pretraživanje (to znači da je potrebno polje prije pretraživanja sortirati). [/quote]
Ova rečenica stvarno nema smisla. Pretp da je polje sortirano pa ga opet sortiraj. Dakle, to nije potrebno.

Fji ćeš poslat 4 elementa:
1. pointer na prvi element polja - u tvoj slučaju Polje.
2. brojElemenata - to je 10 tu kod tebe
3. koji element tražiš - to učitaš sa tipkovnice pa pošalješ fji
4. pointer na int na čiju ćeš adresu spremit index traženog elementa.

poziv bi trebo izgledat ovako:

[code:1]
int index;
int trazen;
bool postoji;

cout<<"Upisi broj: "<<endl;
cin>>trazen;

postoji = NadjiElement(Polje,10,trazen,&index);[/code:1]

Jedini "problem" je binarno traženje, al nije ni to teško, prouči materijale koje imaš... ideja je cijepati dio polja u kojem se traži... ako trebaš pomoć oko toga, reci :D
endurance (napisa):
Opet imam bjesni zadatak za riješit:

Nije bijesan Very Happy

Kao prvo, dobro bi bilo kod stavljat u code prozorčiće (ja ću ih sad stavit)

Popravit ću ti učitavanje i sortiranje

Kod:

#include <iostream>
using namespace std;

bool NadiElement(const int *Polje, unsigned int BrojElemenata,
             int TrazeniElement, unsigned int *Indeks);

int main() {

   //unos polja
    int Polje[10];
    int x;
    cout << "Unos brojeva, oni manji od 1 i veci od 100000 nece biti uneseni"<<endl;

    for (int i = 0; i <=9; i++) {
        int ucitan=0;
        while( !ucitan)
          {
            cout << "Unesi broj:" << endl;
            cin >> x;
            if (x>=1 && x<=100000) { Polje[i]=x; ucitan=1; }
      }
       }
   
   //sortiranje:
        int i;
   int j;
   int pomocni;      
   for (i=0; i < 9; i++)             
      for (j=i+1; j< 10; j++)
                     if (Polje[j]<Polje[i])
                         {
            pomocni = Polje[i];
            Polje[i] = Polje[j];
            Polje[j] = pomocni;
         }
    return 0;
}   

bool NadiElement(){


}


I sad hintovi za fju:

endurance (napisa):
U funkciji pretpostavite da je polje sortirano, te implementirajte binarno pretraživanje (to znači da je potrebno polje prije pretraživanja sortirati).

Ova rečenica stvarno nema smisla. Pretp da je polje sortirano pa ga opet sortiraj. Dakle, to nije potrebno.

Fji ćeš poslat 4 elementa:
1. pointer na prvi element polja - u tvoj slučaju Polje.
2. brojElemenata - to je 10 tu kod tebe
3. koji element tražiš - to učitaš sa tipkovnice pa pošalješ fji
4. pointer na int na čiju ćeš adresu spremit index traženog elementa.

poziv bi trebo izgledat ovako:

Kod:

int index;
int trazen;
bool postoji;

cout<<"Upisi broj: "<<endl;
cin>>trazen;

postoji = NadjiElement(Polje,10,trazen,&index);


Jedini "problem" je binarno traženje, al nije ni to teško, prouči materijale koje imaš... ideja je cijepati dio polja u kojem se traži... ako trebaš pomoć oko toga, reci 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
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: 23:59 ned, 18. 1. 2009    Naslov: Citirajte i odgovorite

U cemu je tocno problem s funkcijom [tt]NadiElement()[/tt]? :-k Trazenje je - za pocetak - jedna [tt]for()[/tt] petlja (binarno je malo teze, ali slozi prvo obicno), a index vratis sa [tt]*Index = i[/tt] (ako si na mjestu [tt]i[/tt] nasao element). 8) Oboje je objasnjeno u zadnja dva poglavlja skripte iz Programiranja 1 (poglavlja o varijabilnim argumentima funkcija i o pretrazivanju nizova). :)

Kad ti to proradi, onda obicno trazenje zamijeni s binarnim (opet u navedenoj skripti, ako se ne varam, zadatak 11.28[i][/i]). 8)
U cemu je tocno problem s funkcijom NadiElement()? Think Trazenje je - za pocetak - jedna for() petlja (binarno je malo teze, ali slozi prvo obicno), a index vratis sa *Index = i (ako si na mjestu i nasao element). Cool Oboje je objasnjeno u zadnja dva poglavlja skripte iz Programiranja 1 (poglavlja o varijabilnim argumentima funkcija i o pretrazivanju nizova). Smile

Kad ti to proradi, onda obicno trazenje zamijeni s binarnim (opet u navedenoj skripti, ako se ne varam, zadatak 11.28). 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
root
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 28. 01. 2009. (00:07:39)
Postovi: (2)16
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 0:23 sri, 28. 1. 2009    Naslov: Citirajte i odgovorite

molio bih informaciju o skripti iz Programiranja 1 gdje nabaviti kopirati slinuti...a do onda bih molio dobre ljude da napisu kod za binarno pretrazivanje i objasne ako nije problem.usput imam i ja jedan bijesan zadatak ako ima zaiiinteresiranih da mi pokusa pomoci oko rijesavanja :).

Napišite program koji sa tastature učitava brojeve, sprema ih u tekstualnu datoteku te ispisuje aritmetičku
sredinu i standardnu devijaciju učitanih brojeva.
Postupak:
Postupak:
1. Učitavajte brojeve tipa double putem tipkovnice (jedan po jedan broj)
2. Svaki učitani broj zapišite u tekstualnu datoteku u zaseban redak
3. Istovremeno s učitavanjem računajte sumu brojeva SumaBrojeva i broj učitanih brojeva BrojUcitanihBrojeva
4. Sami odredite kako ćete prepoznati kraj učitavanja
repoznati
5. Na kraju učitavanja zatvorite datoteku
6. Izračunajte aritmetičku sredinu as:
as = SumaBrojeva / BrojUcitanihBrojeva
(Pazite na tipove podataka)
7. Ponovno otvorite datoteku kao ulaznu
8. Učitavajte brojeve iz datoteke jedan po jedan, ispisujte ih na ekran i izračunajte standardnu
devijaciju StandardnaDevijacija tih brojeva
Standardna devijacija skupa brojeva n1, n2, ..., nk se definira kao drugi korijen
aritmetičke sredine brojeva (n1-as)2, (n2-as) 2, (n3-as) 2, ..., (nk -as) 2, gdje je as gore
izračunata aritmetička sredina.
9. Zatvorite datoteku
10. Ispišite rezultate na konzolu, prema primjeru dijaloga.
molio bih informaciju o skripti iz Programiranja 1 gdje nabaviti kopirati slinuti...a do onda bih molio dobre ljude da napisu kod za binarno pretrazivanje i objasne ako nije problem.usput imam i ja jedan bijesan zadatak ako ima zaiiinteresiranih da mi pokusa pomoci oko rijesavanja Smile.

Napišite program koji sa tastature učitava brojeve, sprema ih u tekstualnu datoteku te ispisuje aritmetičku
sredinu i standardnu devijaciju učitanih brojeva.
Postupak:
Postupak:
1. Učitavajte brojeve tipa double putem tipkovnice (jedan po jedan broj)
2. Svaki učitani broj zapišite u tekstualnu datoteku u zaseban redak
3. Istovremeno s učitavanjem računajte sumu brojeva SumaBrojeva i broj učitanih brojeva BrojUcitanihBrojeva
4. Sami odredite kako ćete prepoznati kraj učitavanja
repoznati
5. Na kraju učitavanja zatvorite datoteku
6. Izračunajte aritmetičku sredinu as:
as = SumaBrojeva / BrojUcitanihBrojeva
(Pazite na tipove podataka)
7. Ponovno otvorite datoteku kao ulaznu
8. Učitavajte brojeve iz datoteke jedan po jedan, ispisujte ih na ekran i izračunajte standardnu
devijaciju StandardnaDevijacija tih brojeva
Standardna devijacija skupa brojeva n1, n2, ..., nk se definira kao drugi korijen
aritmetičke sredine brojeva (n1-as)2, (n2-as) 2, (n3-as) 2, ..., (nk -as) 2, gdje je as gore
izračunata aritmetička sredina.
9. Zatvorite datoteku
10. Ispišite rezultate na konzolu, prema primjeru dijaloga.


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


Pridružen/a: 20. 10. 2005. (13:36:53)
Postovi: (127)16
Spol: žensko
Sarma = la pohva - posuda
15 = 40 - 25
Lokacija: hotel yorba

PostPostano: 3:39 sri, 28. 1. 2009    Naslov: Citirajte i odgovorite

Skoro sam umrla od smijeha kad sam vidjela naslov teme i nick postavljača teme. :rofl: :rofl: :rofl:

p.s. Sorry, morala sam. :rofl:
Skoro sam umrla od smijeha kad sam vidjela naslov teme i nick postavljača teme. Rolling On the Floor Laughing Rolling On the Floor Laughing Rolling On the Floor Laughing

p.s. Sorry, morala sam. Rolling On the Floor Laughing



_________________
If you decide to give up smoking and drinking, you don't actually live longer; it just seems longer.
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
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: 6:00 sri, 28. 1. 2009    Naslov: Citirajte i odgovorite

Sve što ti treba nalazi se :

[url=http://degiorgi.math.hr/prog1/materijali/p1-vjezbe.pdf]TU[/url]
[url=http://degiorgi.math.hr/prog2/materijali/p2-vjezbe.pdf]I TU[/url]

Prouči pa se vrati ako neće ići, makar ti je sve napisano kaj trebaš radit, samo slijedi postupak kak piše...
Sve što ti treba nalazi se :

TU
I TU

Prouči pa se vrati ako neće ići, makar ti je sve napisano kaj trebaš radit, samo slijedi postupak kak piše...



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


Pridružen/a: 28. 01. 2009. (00:07:39)
Postovi: (2)16
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 9:51 sri, 28. 1. 2009    Naslov: Citirajte i odgovorite

puno hvala!ove skripe su melem za moje znanje :).potrudit cu se da sam shvatim,ali ako bas zapnem pisem upomoc!!!pozzz
puno hvala!ove skripe su melem za moje znanje Smile.potrudit cu se da sam shvatim,ali ako bas zapnem pisem upomoc!!!pozzz


[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