Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
nuala Forumaš(ica)
Pridružen/a: 20. 02. 2011. (14:26:29) Postovi: (33)16
|
|
[Vrh] |
|
Gost
|
|
[Vrh] |
|
kkarlo Forumaš(ica)
Pridružen/a: 19. 05. 2010. (08:43:59) Postovi: (1B2)16
Spol:
|
Postano: 9:38 sub, 30. 3. 2013 Naslov: |
|
|
Dosta ljudi ne zna za stranicu od Čačića, a tamo ima nekih zadataka, istina od prošle godine, no svejedno, isti su slideovi, i ima primjer kolokvija, pa pogledajte:
https://sites.google.com/site/mathnastava/home/racunarski-praktikum-1
Dosta ljudi ne zna za stranicu od Čačića, a tamo ima nekih zadataka, istina od prošle godine, no svejedno, isti su slideovi, i ima primjer kolokvija, pa pogledajte:
https://sites.google.com/site/mathnastava/home/racunarski-praktikum-1
|
|
[Vrh] |
|
Tomislav Forumaš(ica)
Pridružen/a: 04. 10. 2010. (20:18:25) Postovi: (181)16
Spol:
|
|
[Vrh] |
|
Gost
|
|
[Vrh] |
|
moni_poni Forumaš(ica)
Pridružen/a: 25. 01. 2010. (19:48:19) Postovi: (49)16
|
Postano: 20:29 uto, 2. 4. 2013 Naslov: |
|
|
Evo kolokvij od prošle godine:
Evo kolokvij od prošle godine:
Description: |
|
Filesize: |
312.48 KB |
Viewed: |
759 Time(s) |
|
Description: |
|
Filesize: |
517.34 KB |
Viewed: |
672 Time(s) |
|
|
|
[Vrh] |
|
aj_ca_volin_te Forumaš(ica)
Pridružen/a: 22. 11. 2011. (20:18:49) Postovi: (6F)16
|
|
[Vrh] |
|
mala_narancasta Forumaš(ica)
Pridružen/a: 26. 05. 2012. (16:38:26) Postovi: (18)16
Spol:
|
|
[Vrh] |
|
aj_ca_volin_te Forumaš(ica)
Pridružen/a: 22. 11. 2011. (20:18:49) Postovi: (6F)16
|
|
[Vrh] |
|
student21 Gost
|
|
[Vrh] |
|
mala_narancasta Forumaš(ica)
Pridružen/a: 26. 05. 2012. (16:38:26) Postovi: (18)16
Spol:
|
Postano: 10:15 pet, 7. 6. 2013 Naslov: |
|
|
[quote="student21"]Može li netko tu staviti rješenja prvog kolokvija od prošle godine, mislim na ono što se radilo na zadnjim vježbama prije ovogodišnjeg prvog kolokvija. Zahvaljujem.[/quote]
[code:1]#include <iostream>
#include <string>
using namespace std;
struct Vrt
{
int kolicina[10];
string povrce[10];
// STL: vector <pair<string,int> > sadnice;
int brojSadnica, zec, ukupnoMrkve;
Vrt(int n, string ime, int x)
{
zec=0;
brojSadnica=n;
ukupnoMrkve=0;
for (int i=0; i<n; i++)
{
kolicina[i]=x;
povrce[i]=ime;
}
zecJede();
//sadnice.resize(n); ili sadnice=vector(n,pair(ime,x));
}
~Vrt()
{
for (int i=0; i<brojSadnica; i++)
{
if (zec == i) cout << "[" << povrce[i] << "," << kolicina[i] << ", z]";
else cout << "[" << povrce[i] << "," << kolicina[i] << "]";
}
cout << endl;
}
void presadi (int i, string ime, int x)
{
kolicina[i]=x;
povrce[i]=ime;
//sadnice[i].first=ime; sadnice[i].second=x;
}
void zecJede ()
{
if (povrce[zec]=="mrkva")
{
ukupnoMrkve += kolicina[zec];
kolicina[zec]=0;
}
}
int idi (int x)
{
if(x==0 && zec!=0) zec--;
if(x==1 && zec!=brojSadnica-1) zec++;
zecJede();
return ukupnoMrkve;
}
string najvise ()
{
int maxKolicina=kolicina[0];
string maxIme=povrce[0];
for (int i=0; i<brojSadnica; i++)
{
int suma=0;
for (int j=i; j<brojSadnica; j++)
if(povrce[i] == povrce[j]) suma += kolicina[j];
if (suma >= maxKolicina)
{
maxKolicina=suma;
maxIme=povrce[i];
}
}
return maxIme;
}
void kradja (Vrt *v)
{
for(int i=0; i < v->brojSadnica ; i++)
for(int j=0; j<brojSadnica; j++)
if(v->povrce[i] == povrce[j])
{
kolicina[j] += v->kolicina[i];
v->kolicina[i]=0;
}
zecJede();
}
};
int main ()
{
Vrt V(4, "mrkva", 3);
Vrt V1(4, "kupus", 3);
V1.presadi (1,"mrkva",2);
V1.presadi (2,"mrkva",3);
V1.presadi (3,"luk",3);
V.presadi(2, "kupus", 5);
cout << V.idi(0) << endl;
cout << V.idi(1) << endl;
//cout << V.idi(1) << endl;
cout << V.najvise() << endl;
V.kradja(&V1);
return 0;
}[/code:1]
[size=9][color=#999999]Added after 2 minutes:[/color][/size]
[code:1]#include <iostream>
#include <map>
#include <list>
#include <set>
#include <string>
using namespace std;
int main()
{
string ime;
int cijena;
map <string, list<int> > artikli;
map <string,int> minCijena;
map <string,float> avgCijena;
//map<string,pair<int,float> > Cijena;
multiset <string> kosarica;
while(true)
{
cin >> ime;
if (ime=="kraj") break;
while (true)
{
cin >> cijena;
if (cijena == 0) break;
artikli[ime].push_back(cijena);
}
}
while(true)
{
cin >> ime;
if (ime == "kraj") break;
kosarica.insert(ime);
}
map <string, list<int> >::iterator mi;
list <int>::iterator li;
for (mi=artikli.begin(); mi!=artikli.end(); mi++)
{
float suma=0;
int min = mi->second.front();
for(li = mi->second.begin(); li!=mi->second.end(); li++)
{
suma += *li;
if (*li < min) min=*li;
}
minCijena[mi->first] = min;
avgCijena[mi->first] = suma / (mi->second.size());
}
multiset<string>::iterator si;
int ukupnaCijena=0;
for (si=kosarica.begin();si!=kosarica.end();si++)
{
ukupnaCijena += minCijena[*si];
}
cout << ukupnaCijena << endl;
map<string, float>::iterator mii;
for(mii=avgCijena.begin(); mii!=avgCijena.end(); mii++)
cout << mii->first << " " << mii->second << endl;
return 0;
}
[/code:1]
evo... prvi i drugi zadatak.. :)
student21 (napisa): | Može li netko tu staviti rješenja prvog kolokvija od prošle godine, mislim na ono što se radilo na zadnjim vježbama prije ovogodišnjeg prvog kolokvija. Zahvaljujem. |
Kod: | #include <iostream>
#include <string>
using namespace std;
struct Vrt
{
int kolicina[10];
string povrce[10];
// STL: vector <pair<string,int> > sadnice;
int brojSadnica, zec, ukupnoMrkve;
Vrt(int n, string ime, int x)
{
zec=0;
brojSadnica=n;
ukupnoMrkve=0;
for (int i=0; i<n; i++)
{
kolicina[i]=x;
povrce[i]=ime;
}
zecJede();
//sadnice.resize(n); ili sadnice=vector(n,pair(ime,x));
}
~Vrt()
{
for (int i=0; i<brojSadnica; i++)
{
if (zec == i) cout << "[" << povrce[i] << "," << kolicina[i] << ", z]";
else cout << "[" << povrce[i] << "," << kolicina[i] << "]";
}
cout << endl;
}
void presadi (int i, string ime, int x)
{
kolicina[i]=x;
povrce[i]=ime;
//sadnice[i].first=ime; sadnice[i].second=x;
}
void zecJede ()
{
if (povrce[zec]=="mrkva")
{
ukupnoMrkve += kolicina[zec];
kolicina[zec]=0;
}
}
int idi (int x)
{
if(x==0 && zec!=0) zec--;
if(x==1 && zec!=brojSadnica-1) zec++;
zecJede();
return ukupnoMrkve;
}
string najvise ()
{
int maxKolicina=kolicina[0];
string maxIme=povrce[0];
for (int i=0; i<brojSadnica; i++)
{
int suma=0;
for (int j=i; j<brojSadnica; j++)
if(povrce[i] == povrce[j]) suma += kolicina[j];
if (suma >= maxKolicina)
{
maxKolicina=suma;
maxIme=povrce[i];
}
}
return maxIme;
}
void kradja (Vrt *v)
{
for(int i=0; i < v->brojSadnica ; i++)
for(int j=0; j<brojSadnica; j++)
if(v->povrce[i] == povrce[j])
{
kolicina[j] += v->kolicina[i];
v->kolicina[i]=0;
}
zecJede();
}
};
int main ()
{
Vrt V(4, "mrkva", 3);
Vrt V1(4, "kupus", 3);
V1.presadi (1,"mrkva",2);
V1.presadi (2,"mrkva",3);
V1.presadi (3,"luk",3);
V.presadi(2, "kupus", 5);
cout << V.idi(0) << endl;
cout << V.idi(1) << endl;
//cout << V.idi(1) << endl;
cout << V.najvise() << endl;
V.kradja(&V1);
return 0;
} |
Added after 2 minutes:
Kod: | #include <iostream>
#include <map>
#include <list>
#include <set>
#include <string>
using namespace std;
int main()
{
string ime;
int cijena;
map <string, list<int> > artikli;
map <string,int> minCijena;
map <string,float> avgCijena;
//map<string,pair<int,float> > Cijena;
multiset <string> kosarica;
while(true)
{
cin >> ime;
if (ime=="kraj") break;
while (true)
{
cin >> cijena;
if (cijena == 0) break;
artikli[ime].push_back(cijena);
}
}
while(true)
{
cin >> ime;
if (ime == "kraj") break;
kosarica.insert(ime);
}
map <string, list<int> >::iterator mi;
list <int>::iterator li;
for (mi=artikli.begin(); mi!=artikli.end(); mi++)
{
float suma=0;
int min = mi->second.front();
for(li = mi->second.begin(); li!=mi->second.end(); li++)
{
suma += *li;
if (*li < min) min=*li;
}
minCijena[mi->first] = min;
avgCijena[mi->first] = suma / (mi->second.size());
}
multiset<string>::iterator si;
int ukupnaCijena=0;
for (si=kosarica.begin();si!=kosarica.end();si++)
{
ukupnaCijena += minCijena[*si];
}
cout << ukupnaCijena << endl;
map<string, float>::iterator mii;
for(mii=avgCijena.begin(); mii!=avgCijena.end(); mii++)
cout << mii->first << " " << mii->second << endl;
return 0;
}
|
evo... prvi i drugi zadatak..
|
|
[Vrh] |
|
BlameGame Forumaš(ica)
Pridružen/a: 14. 09. 2011. (19:17:53) Postovi: (6C)16
|
|
[Vrh] |
|
relax Forumaš(ica)
Pridružen/a: 01. 02. 2014. (20:23:33) Postovi: (1E)16
Spol:
|
Postano: 23:50 čet, 1. 5. 2014 Naslov: |
|
|
[quote="BlameGame"]Ako bi netko htio objasniti zasto u drugom zadaku radi:
for (si=kosarica.begin();si!=kosarica.end();si++)
{
ukupnaCijena += minCijena[*si];
}
sto nije da u te uglate zagrade trebamo staviti kljuc mape, tj. bi li to radilo da smo umjesto *si stavili si->first?[/quote]
[u]minCijena[/u] je [b]map [/b]sa [i]key[/i]-em [b]string[/b], znaci da mozemo preko uglatih zagrada pristupati njegovim elementima ([b]int[/b]-ovima) dok god je u uglatim zagradama [b]string[/b], sto u ovom slucaju je
[code:1]
int main()
{
string ime;
int cijena;
map <string, list<int> > artikli;
map <string,int> minCijena; [/code:1]
[u]si[/u] je iterator od [b]multiseta [/b]koji sadrzi [b]string[/b]-ove pa je [u]*si[/u] tipa [b]string [/b]i zato moze u uglate zagrade :D
[code:1]multiset<string>::iterator si; [/code:1]
BlameGame (napisa): | Ako bi netko htio objasniti zasto u drugom zadaku radi:
for (si=kosarica.begin();si!=kosarica.end();si++)
{
ukupnaCijena += minCijena[*si];
}
sto nije da u te uglate zagrade trebamo staviti kljuc mape, tj. bi li to radilo da smo umjesto *si stavili si→first? |
minCijena je map sa key-em string, znaci da mozemo preko uglatih zagrada pristupati njegovim elementima (int-ovima) dok god je u uglatim zagradama string, sto u ovom slucaju je
Kod: |
int main()
{
string ime;
int cijena;
map <string, list<int> > artikli;
map <string,int> minCijena; |
si je iterator od multiseta koji sadrzi string-ove pa je *si tipa string i zato moze u uglate zagrade
Kod: | multiset<string>::iterator si; |
|
|
[Vrh] |
|
|