hvala sto si se potrudio ali i ovdje uvijek mi ispise niz je rastuci
To ovisi šta unosiš, unosi slijedno niz, recimo po jedan manje:
hvala sto si se potrudio ali i ovdje uvijek mi ispise niz je rastuci
To ovisi šta unosiš, unosi slijedno niz, recimo po jedan manje:
unio sam ovako i opet pise da je rastuci
Nemoguce, evo sam stavio na pastebin kôd, kopiraj od tamo.
http://pastebin.com/LNbcfLGm
Gledajuci ovaj dio koda (najbitniji, jel):
for(int i=0; i<10; i++)
{
if(niz[i]<=niz[i+1])
{
jeste=1;
break;
}
}
vidimo da se for petlja prekida cim naide na prvi broj koji je veci od prethodnog. Ako imas 1, 2, 3, petlja ce provjerit 1 i 2, 1 jest manje od 2 i petlja se breaka i to je to. Ista stvar je i za 1, 3, 2 recimo. Problem je ovdje ako se ne varam i ovaj sam uvjet provjere. Ako imamo recimo 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 ovu zadnju 0 ce usporedivati s necim na indexu [10] koji zapravo ne postoji te imamo overflow u ovom slucaju.
Dalo bi se to bolje napraviti.
EDIT: Malo je zadatak blesav, jer nitko ne mora staviti tocno silazni ili uzlazni niz, vec moze mijesati brojeve, ali pretpostavimo da su nam dovoljna prva dva broja za odrediti kakav je niz, tad je dovoljno u ovoj for petlji staviti da ide do 9 recimo (da sprijecimo overflow i rijesimo taj bug).
ja sma to sad nesto malo prepravljo i to sad izgleda ovako i sad radi
#include<iostream>
#include<conio.h>
using namespace std;
int main (){
int jeste=true;
int niz[10],i;
for( i=1; i<=10; i++)
cin>>niz[i];
for( i=1; i<=9; i++)
if(niz[i]>=niz[i+1])
jeste=false;
if(jeste==true)
cout<<"Niz je rastuci!"<<endl;
else
cout<<"Niz nije rastuci"<<endl;
getch ();
}
Da, pogrješio sam u breaku što se izlaska tiče.
Pa kako bi rješili problem sa zadnjim članom?
if(niz[i]>=niz[i+1])
Ponovo ostaje problem overflowa.
ne ostaje zato sto sam stavio do 9 , a ne do 10 .
ja sma to sad nesto malo prepravljo i to sad izgleda ovako i sad radi
#include<iostream>
#include<conio.h>
using namespace std;
int main (){
int jeste=true;
int niz[10],i;
for( i=1; i<=10; i++)
cin>>niz[i];
for( i=1; i<=9; i++)
if(niz[i]>=niz[i+1])
jeste=false;
if(jeste==true)
cout<<"Niz je rastuci!"<<endl;
else
cout<<"Niz nije rastuci"<<endl;
getch ();
}
Ako ti je varijabla jeste tipa int, onda i stavi integer, a ne boolean. Zapravo ti ovdje kompajler sam napravi konverziju tipa ako se ne varam ili C++ to dopusta, ne znam, treba Tracera pitati.
Znaci:
int jeste = 1; ili ako hoces boolean onda bool jeste = true;
isto tako
int jeste = 0 ili bool jeste = false;
int jeste = false; -> nikako
I pobogu daj to formatiraj malo, stavi viticaste zagrade da se zna sto spada u koji scope, a ne ovako...
Boldano: opet imas overflow. Stavi strogo manje, a ne manje-jednako.
Ponovo ostaje problem overflowa.
Pogledaj moj EDIT gore.
ne ostaje zato sto sam stavio do 9 , a ne do 10 .
i će biti 9, prema i+1, to znači 9+1=10, i[10]?
EDIT:
Npr., kod mene i[10] je -858993460
evo,jel sad ok ?
#include<iostream>
#include<conio.h>
using namespace std;
int main (){
int jeste=1;
int niz[10],i;
for( i=1; i<=10; i++){
cin>>niz[i];
}
for( i=1; i<=9; i++){
if(niz[i]>=niz[i+1]){
jeste=0;
}
}
if(jeste==true){
cout<<"Niz je rastuci!"<<endl;
}
else{
cout<<"Niz nije rastuci"<<endl;
}
getch ();
}
Sad vidim, ti i kod unosa radis overflow... Indexi krecu od NULE ne od 1. Ispravi to.
evo,jel sad ok ?
E jesi ga ispravio, svaka ti dala...
Jedino da te editor ne zahebava?
Imam mali problemčić. Novi sam u C++-u, tek sam počeo, na Hello World razini sam :)
Ovo mi je kod:
#include <iostream>
using namespace std;
int main(void)
{
cout << "Hello World!";
return 0;
}
Kad idem debugati, kompajlira se ok i onda na djelic sekunde vidim konzolu (praznu) i ovaj error:
'Hello World.exe': Loaded 'C:\Users\HDM\Documents\Visual Studio 2010\Projects\Hello World\Debug\Hello World.exe', Symbols loaded.
'Hello World.exe': Loaded 'C:\Windows\SysWOW64\ntdll.dll', Cannot find or open the PDB file
'Hello World.exe': Loaded 'C:\Windows\SysWOW64\kernel32.dll', Cannot find or open the PDB file
'Hello World.exe': Loaded 'C:\Windows\SysWOW64\KernelBase.dll', Cannot find or open the PDB file
'Hello World.exe': Loaded 'C:\Windows\SysWOW64\msvcp100d.dll', Symbols loaded.
'Hello World.exe': Loaded 'C:\Windows\SysWOW64\msvcr100d.dll', Symbols loaded.
The program '[2136] Hello World.exe: Native' has exited with code 0 (0x0).
Gdje je problem?
Koristim Visual Studio 2010 Express.
Da li program pokrećeš preko Debug (F5) ili preko Start Without Debugging (Ctrl+F5) ?, pokreći sa Ctrl+F5, debugging ti u ovom slučaju nije potreban.
Ispod cout-a, stavi system("PAUSE");, da ti pauzira program nakon izvršavanja, ali to bi Visual Studio sâm trebao dodati.
Nakon cout-a, prije ; dodaj <<endl, time ćeš preći u novi red.
I ne treba ti void u zagradama maina.
Nisu mi baš najjasniji ti errori, probaj pokrenuti ovako kako sam ti rekao, dakle:
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World!"<<endl;
system("PAUSE");
return 0;
}
Moze malo da mi pojasnite sta je taj bool i true i false i gdje se koriste ??
Moze malo da mi pojasnite sta je taj bool i true i false i gdje se koriste ??
ovdje ti se nalazi neki jednostavniji kod gdje je to objašnjeno - http://codepad.org/MUk8UFYb
bool ti se koristi za provjeru nekih vrijednosti, recimo ovdje se koristi za autorizaciju
u osnovi napraviš neku metodu sa kojom provjeravaš istinitost, i ona vraća true ili false - i kada kasnije sa nekim objektom pristupaš toj metodi, tako da njegove konstruktore ubaciš u nju - onda će se tek izvršiti ono ispod njega
EDIT: ovdje treba malo bolje napraviti ova prava pristupa - public, private i sl., da bi bilo ozbiljnije, ali, to ovdje nije bitno sada
Koristi što više STL C++-a.Ovdje imaš svoju verziju sorta , kontejner kroz matricu ... , program radi i daje neki rezultat. ali može to sigurnije , brže , preglednije ... kroz STL C++-a. On je sastavni dio jezika i lupaj po njemu što više i u sve svrhe. Nećeš biti zakinut za "ispod haube znanje" jer učenjem STL-a naučit ćeš sve homemade verzije čega se god sjetiš ali izvedene na najbži i najoptimizarniji način a u pozadini svakog #include // stdTempLib C++ leži low-level.
http://www.java2s.com/Tutorial/Cpp/0100__Development/ABubblesort.htm ovo tu bi bio "standardni" bubble sort?
Sva literatura koju koristim je na engleskom pa pretpostavljam da je matrica isto sto i array?
Za STL sam nasao ovo http://www.cplusplus.com/reference/algorithm/ pa cu poceti uciti to polako.
Znam da je post malo duzi ali ako netko moze odvojiti malo vremena i pogledati kod puno bi mi pomoglo.
Evo i druga verzija programa; u biti tvoja + jos neke stvari i par promjena:
#include <iostream>
using namespace std;
class Monster
{
private:
string m_Name;
int m_Health;
int m_Strenght;
public:
Monster () { cout << "Building a Monster." << endl; }
~Monster () { cout << "Destroying a Monster." << endl; }
string GetName () { return m_Name; }
void SetName (string x) { m_Name = x; }
int GetHealth () { return m_Health; }
void SetHealth (int x) { m_Health = x; }
int GetStrenght () { return m_Strenght; }
void SetStrenght (int x) { m_Strenght = x;}
};
class Dragon : public Monster
{
public:
Dragon () { cout << "Building a Dragon." << endl; }
~Dragon () { cout << "Destroying a Dragon." << endl; }
void Fire()
{
cout << "Dragon breathing fire!" << endl;
}
};
//---------------------------------------------------------------------------//
void Health(Dragon *array, int *size, bool (*pComparison)(int, int))
{
bool swap = true;
while(swap)
{
swap = false;
int yTMP;
int zTMP;
string strTMP;
for (int iii=0; iii<*size-1; iii++)
{
if(pComparison(array[iii].GetHealth(), array[iii+1].GetHealth() ))
{
strTMP = array[iii].GetName();
array[iii].SetName(array[iii+1].GetName());
array[iii+1].SetName (strTMP);
yTMP = array[iii].GetHealth();
array[iii].SetHealth (array[iii+1].GetHealth());
array[iii+1].SetHealth (yTMP);
zTMP = array[iii].GetStrenght();
array[iii].SetStrenght (array[iii+1].GetStrenght());
array[iii+1].SetStrenght (zTMP);
swap = true;
}
}
}
}
void Strenght(Dragon *array, int *size, bool (*pComparison)(int, int))
{
bool swap = true;
while(swap)
{
swap = false;
int yTMP;
int zTMP;
string strTMP;
for (int iii=0; iii<*size-1; iii++)
{
if(pComparison(array[iii].GetStrenght(), array[iii+1].GetStrenght() ))
{
strTMP = array[iii].GetName();
array[iii].SetName(array[iii+1].GetName());
array[iii+1].SetName (strTMP);
yTMP = array[iii].GetHealth();
array[iii].SetHealth (array[iii+1].GetHealth());
array[iii+1].SetHealth (yTMP);
zTMP = array[iii].GetStrenght();
array[iii].SetStrenght (array[iii+1].GetStrenght());
array[iii+1].SetStrenght (zTMP);
swap = true;
}
}
}
}
bool Ascending(int nX, int nY)
{
return nY < nX;
}
bool Descending(int nX, int nY)
{
return nY > nX;
}
//---------------------------------------------------------------------------//
void Print(Dragon *array, int *size)
{
for(int iii=0 ; iii<*size ; iii++)
{
cout << endl;
cout << "Name: " << array[iii].GetName() << endl;
cout << "Health: " << array[iii].GetHealth() << endl;
cout << "Strenght: " << array[iii].GetStrenght() << endl;
cout << endl;
}
}
//---------------------------------------------------------------------------//
int main()
{
cout << "Enter the number of dragons you want to create:" << endl;
int *size = new int;
cin >> *size;
Dragon* array = new Dragon[*size];
for (int iii=0; iii<*size; iii++)
{
cout << "Enter the name of the " << iii+1 << ". dragon:" << endl;
string name;
cin>> name;
cout << "Enter " << name << "'s health:" << endl;
int x;
cin >> x;
cout << "Enter " << name << "'s strenght:" << endl;
int y;
cin>> y;
array[iii].SetName(name);
array[iii].SetHealth(x);
array[iii].SetStrenght(y);
}
Print(array, size);
char * YN = new char;
cout << "Would you like to sort the array? <Y/N>" << endl;
do
{
cin >> *YN;
if (*YN != 'y' && *YN != 'Y' && *YN != 'n' && *YN != 'N')
{
cout << "Invalid input." << endl;
}
} while ( *YN != 'y' && *YN != 'Y' && *YN != 'n' && *YN != 'N' );
if( *YN == 'n' || *YN == 'N' )
exit(1);
int *aaa = new int;
cout << "Sort by: " << endl;
cout << "1. Health" << endl;
cout << "2. Strenght" << endl;
do
{
cin >> *aaa;
if (*aaa != 1 && *aaa != 2)
{
cout << "Invalid input." << endl;
}
} while ( *aaa != 1 && *aaa != 2);
int * bbb = new int;
cout << "Sort in:" << endl;
cout << "1. Ascending order" << endl;
cout << "2. Descending order" << endl;
do
{
cin >> *bbb;
if (*bbb != 1 && *bbb != 2)
{
cout << "Invalid input." << endl;
}
} while ( *bbb != 1 && *bbb != 2);
if( *aaa == 1 && *bbb ==1 )
{
Health(array, size, Ascending);
Print(array, size);
}
else if ( *aaa ==1 && *bbb == 2 )
{
Health(array, size, Descending);
Print(array, size);
}
else if ( *aaa ==2 && *bbb == 1 )
{
Strenght(array, size, Ascending);
Print(array, size);
}
else if ( *aaa ==2 && *bbb == 2 )
{
Strenght(array, size, Descending);
Print(array, size);
}
delete []array;
delete size;
delete YN;
delete aaa;
delete bbb;
system("pause");
return 0;
}
Dodao sam Print funkciju, vecinu toga stavio na heap (koristim englesku literaturu, ne znam nas naziv), dodao sam exit funkciju kod onoga gdje pita da li zelimo sortirati podatke (sto sam prije zaboravio). Onaj cin.ignore() sam morao vratiti jer inace program pri unosu razmaka izbaci SVE cout-ove u programu i dode na kraj. Vec sam bio pitao tu na forumu za taj problem i nista, i dalje koristim taj ignore.
Imam jos nekoliko pitanja:
1. U "drugom dijelu", gdje su dvije funkcije za sortiranje, Health i Strenght, se moze to nekako elegantnije napisati? Ne mislim na sam algoritam sortiranja vec da li se moze to nekako spojiti bez pretjeranog kompliciranja?
2. Pretpostavljam da bi zbog preglednosti bilo dobro ovaj kod napisati u vise fajlova? U jedan staviti klase, u drugi sortiranje itd.?
3. Po ovom tutorialu
cout << "Enter the number of dragons you want to create:" << endl;
int * size = new int;
cin >> *size;
Dragon *array[*size];
for(int iii=0; iii<*size; iii++)
{
array[iii] = new Dragon();
}
Ali, kada to ubacim u svoj program se javljaju dva problema:
1. Iako je to sada na heapu, van glavne funkcije u kojoj je to i proglaseno ne prihvaca -> nego se mora koristiti tocka. Zasto?
2. Ako prilagodim kod tome, i program se pokrene znaci sto se tice sintakse sve je ok, cim pozove Print funkciju program se srusi. Isto tako ako se odabere silazno (descending) sortiranje. Evo i ta verzija (osim gore navedenoga, identicna je onoj prvoj, koja radi bez greske):
#include <iostream>
using namespace std;
class Monster
{
private:
string m_Name;
int m_Health;
int m_Strenght;
public:
Monster () { cout << "Building a Monster." << endl; }
~Monster () { cout << "Destroying a Monster." << endl; }
string GetName () { return m_Name; }
void SetName (string x) { m_Name = x; }
int GetHealth () { return m_Health; }
void SetHealth (int x) { m_Health = x; }
int GetStrenght () { return m_Strenght; }
void SetStrenght (int x) { m_Strenght = x;}
};
class Dragon : public Monster
{
public:
Dragon () { cout << "Building a Dragon." << endl; }
~Dragon () { cout << "Destroying a Dragon." << endl; }
void Fire()
{
cout << "Dragon breathing fire!" << endl;
}
};
//---------------------------------------------------------------------------//
void Health(Dragon *array, int *size, bool (*pComparison)(int, int))
{
bool swap = true;
while(swap)
{
swap = false;
int yTMP;
int zTMP;
string strTMP;
for (int iii=0; iii<*size-1; iii++)
{
if(pComparison(array[iii].GetHealth(), array[iii+1].GetHealth() ))
{
strTMP = array[iii].GetName();
array[iii].SetName(array[iii+1].GetName());
array[iii+1].SetName (strTMP);
yTMP = array[iii].GetHealth();
array[iii].SetHealth (array[iii+1].GetHealth());
array[iii+1].SetHealth (yTMP);
zTMP = array[iii].GetStrenght();
array[iii].SetStrenght (array[iii+1].GetStrenght());
array[iii+1].SetStrenght (zTMP);
swap = true;
}
}
}
}
void Strenght(Dragon *array, int *size, bool (*pComparison)(int, int))
{
bool swap = true;
while(swap)
{
swap = false;
int yTMP;
int zTMP;
string strTMP;
for (int iii=0; iii<*size-1; iii++)
{
if(pComparison(array[iii].GetStrenght(), array[iii+1].GetStrenght() ))
{
strTMP = array[iii].GetName();
array[iii].SetName(array[iii+1].GetName());
array[iii+1].SetName (strTMP);
yTMP = array[iii].GetHealth();
array[iii].SetHealth (array[iii+1].GetHealth());
array[iii+1].SetHealth (yTMP);
zTMP = array[iii].GetStrenght();
array[iii].SetStrenght (array[iii+1].GetStrenght());
array[iii+1].SetStrenght (zTMP);
swap = true;
}
}
}
}
bool Ascending(int nX, int nY)
{
return nY < nX;
}
bool Descending(int nX, int nY)
{
return nY > nX;
}
//---------------------------------------------------------------------------//
void Print(Dragon *array, int *size)
{
for(int iii=0 ; iii<*size ; iii++)
{
cout << "Name: " << array[iii].GetName() << endl;
cout << "Health: " << array[iii].GetHealth() << endl;
cout << "Strenght: " << array[iii].GetStrenght() << endl;
cout << endl;
}
}
//---------------------------------------------------------------------------//
int main()
{
cout << "Enter the number of dragons you want to create:" << endl;
int * size = new int;
cin >> *size;
Dragon *array[*size];
for(int iii=0; iii<*size; iii++)
{
array[iii] = new Dragon();
}
for (int iii=0; iii<*size; iii++)
{
cout << "Enter the name of the " << iii+1 << ". dragon:" << endl;
string name;
cin.ignore();
getline(cin, name);
cout << "Enter " << name << "'s health:" << endl;
int x;
cin >> x;
cout << "Enter " << name << "'s strenght:" << endl;
int y;
cin>> y;
array[iii]->SetName(name);
array[iii]->SetHealth(x);
array[iii]->SetStrenght(y);
}
//Print(*array, size);
for (int iii = 0; iii<*size; iii++)
{
cout << endl;
cout << "Name: " << array[iii] -> GetName() << endl;
cout << "Health: " << array[iii] -> GetHealth() << endl;
cout << "Strenght: " << array[iii] -> GetStrenght() << endl;
cout << endl;
}
char * YN = new char;
cout << "Would you like to sort the array? <Y/N>" << endl;
do
{
cin >> *YN;
if (*YN != 'y' && *YN != 'Y' && *YN != 'n' && *YN != 'N')
{
cout << "Invalid input." << endl;
}
} while ( *YN != 'y' && *YN != 'Y' && *YN != 'n' && *YN != 'N' );
if( *YN == 'n' || *YN == 'N' )
exit(1);
int *aaa = new int;
cout << "Sort by: " << endl;
cout << "1. Health" << endl;
cout << "2. Strenght" << endl;
do
{
cin >> *aaa;
if (*aaa != 1 && *aaa != 2)
{
cout << "Invalid input." << endl;
}
} while ( *aaa != 1 && *aaa != 2);
int * bbb = new int;
cout << "Sort in:" << endl;
cout << "1. Ascending order" << endl;
cout << "2. Descending order" << endl;
do
{
cin >> *bbb;
if (*bbb != 1 && *bbb != 2)
{
cout << "Invalid input." << endl;
}
} while ( *bbb != 1 && *bbb != 2);
if( *aaa == 1 && *bbb ==1 )
{
Health(*array, size, Ascending);
//Print(*array, size);
}
else if ( *aaa ==1 && *bbb == 2 )
{
Health(*array, size, Descending);
//Print(*array, size);
}
else if ( *aaa ==2 && *bbb == 1 )
{
Strenght(*array, size, Ascending);
//Print(*array, size);
}
else if ( *aaa ==2 && *bbb == 2 )
{
Strenght(*array, size, Descending);
//Print(*array, size);
}
for (int iii = 0; iii<*size; iii++)
{
cout << endl;
cout << "Name: " << array[iii] -> GetName() << endl;
cout << "Health: " << array[iii] -> GetHealth() << endl;
cout << "Strenght: " << array[iii] -> GetStrenght() << endl;
cout << endl;
}
delete size;
delete [] array;
delete YN;
delete aaa;
delete bbb;
system("pause");
return 0;
}
Tu sam iskomentirao te pozive za Print jer inace ne bi ni doslo do sortiranja.
Sto se tice ovoga:
...program radi i daje neki rezultat. ali može to sigurnije , brže , preglednije ... kroz STL C++-a. On je sastavni dio jezika i lupaj po njemu što više i u sve svrhe. Nećeš biti zakinut za "ispod haube znanje" jer učenjem STL-a naučit ćeš sve homemade verzije čega se god sjetiš ali izvedene na najbži i najoptimizarniji način a u pozadini svakog #include // stdTempLib C++ leži low-level.
Sta tocno se moze izvesti sigurnije, brze i preglednije? Ne trazim napisan kod, samo na koji dio mog koda se to odnosi i kako to napraviti. Dalje cu se snac googlanjem, a ako zapnem cu opet pitat ovdje. Namjeravam ove godine upisati informatiku tako da kad vec ucim nesto sto ce mi trebati, da ucim sve redom, bez preskakanja.
Hvala. :)
@Rattner
Pišem s posla i gibam za par min. pa samo ukratko o jednom dijelu i to u par riječi.
/*Sta tocno se moze izvesti sigurnije, brze i preglednije? Ne trazim napisan kod, samo na koji dio mog koda se to odnosi i kako to napraviti. Dalje cu se snac googlanjem, a ako zapnem cu opet pitat ovdje. Namjeravam ove godine upisati informatiku tako da kad vec ucim nesto sto ce mi trebati, da ucim sve redom, bez preskakanja. */
Koristi STL kontejnere , vidi koji ti paše , imaš na novom standardu c++11 jo 6 novih , +stari = 17 kontejnera. Trpaj podatke u njih , uzmi jedan npr list , prouči manipulaciju iteratorima -> imaš daleko sigurniji i jednostavniji rad nego baratajući s golim matricama (array).
Dakle goli stari array , ne C++11 novi STL kontejner <array>. Vidi u <algorithm> sort , malo prokontaj kako radi , samo ubaci kondicije kroz func.object ili još bolje razradi kroz C++11 lambdu i to spojeno s c++ kontejnerom će ti skkratiti kod za dosta linija (brže) , alokacija putem STL-a brine za tebe o dinamičkom širenju i sužavanju kontejnera + rad s iteratorima (sigurnije) = bit će čitljivije i preglednije.
Sad gibam.
Jedno pitanje - zašto koristite te besmislene (aaa) nazive varijabli? Šta nije pametnije dati joj normalan naziv a ne a, b, c, x, y...?
Jedno pitanje - zašto koristite te besmislene (aaa) nazive varijabli? Šta nije pametnije dati joj normalan naziv a ne a, b, c, x, y...?
A to su ti novaci :D, tek uce ;)
Kad kodiram, jedine su mi "slovne" varijable i u for petlji i eventualno ako je ugnjezdena petlja jos i k, ostalo su sve opisna imena, sva sreca na completionu inace bi poludio da moram stalno utipkavati tolike dugacke nazive...
Jedno pitanje - zašto koristite te besmislene (aaa) nazive varijabli? Šta nije pametnije dati joj normalan naziv a ne a, b, c, x, y...?
Zato što tako piše u osnovama pisanja neodrživog koda:
If you call your variables a, b, c, then it will be impossible to search for instances of them using a simple text editor. Further, nobody will be able to guess what they are for. If anyone even hints at breaking the tradition honoured since FØRTRAN of using i, j, and k for indexing variables, namely replacing them with ii, jj and kk, warn them about what the Spanish Inquisition did to heretics.
If you call your variables a, b, c, then it will be impossible to search for instances of them using a simple text editor. Further, nobody will be able to guess what they are for. If anyone even hints at breaking the tradition honoured since FØRTRAN of using i, j, and k for indexing variables, namely replacing them with ii, jj and kk, warn them about what the Spanish Inquisition did to heretics.
Meni je ovo najdraze:
Åccented LettersUse accented characters on variable names. E.g.
where the second ínt's í is actually i-acute. With only a simple text editor, it's nearly impossible to distinguish the slant of the accent mark.
Pozdrav
Radim neke zadatke u C++ i zastadoh na jednom zadatku, nemogu da ga rijesim, pa ako moze pomoci neko ili ako ima neki primjer uradjen ovome slican :)
Zadatak je: Razviti klasu vektor za rad sa jednodimenzionalnim matricama te klasu matrix za rad sa matricama.
Hvala.
Pogledao sam taj list i ne ide mi bas
#include <iostream>
#include <list>
using namespace std;
int main()
{
list<int> myList(5,0);
list<int>::iterator it = myList.begin();
cout << "In which element do you want to store a value?" << endl;
int x;
cin >> x;
advance(it, x);
cout << "Enter the value you wish to store in it: " << endl;
cin >> *it;
list<int>::iterator output;
cout << "The list:" << endl;
for(output = myList.begin(); output != myList.end(); output++)
{
cout << *output << endl;
}
system("pause");
return 0;
}
Evo, do ovdje sam uspio shvatiti. Mene zanima kako umjesto liste integera napraviti listu nekih klasa. Npr. ako imam ovo
class Monster
{
private:
string name;
int health;
int strenght;
public:
Monster () { cout << "Building a Monster." << endl; }
~Monster () { cout << "Destroying a Monster." << endl; }
string getName () { return name; }
void setName (string x) { name = x; }
int getHealth () { return health; }
void setHealth (int x) { health = x; }
int getStrenght () { return strenght; }
void setStrenght (int x) { strenght = x;}
};
deklaracija liste bi bila list<ime klase> nekoIme;?
Ako netko moze napisati kod kako bih preko liste od npr. 5 Dragon objekata spremio broj u health varijablu treceg objekta.
Hvala.
umm neznam gdje sam napravio gresku
#include <iostream>
#include <cmath>
#include <cstdlib>
int main(){
using namespace std;
double x;
x = pow(3, 3);
cout << x;
cout << endl;
cin.get();
return 0;
}
ma sta probao uvijek mi kaze da je x=pow(3,3); greska
umm neznam gdje sam napravio gresku
#include <iostream>
#include <cmath>
#include <cstdlib>
int main(){
using namespace std;
double x;
x = pow(3, 3);
cout << x;
cout << endl;
cin.get();
return 0;
}
ma sta probao uvijek mi kaze da je x=pow(3,3); greska
#include <iostream.h>
#include <math.h>
using namespace std;
int main(){
double x = pow(3,3);
cout << x<<endl;
system("PAUSE");
return 0;
}
umm neznam gdje sam napravio gresku
#include <iostream>
#include <cmath>
#include <cstdlib>
int main(){
using namespace std;
double x;
x = pow(3, 3);
cout << x;
cout << endl;
cin.get();
return 0;
}
ma sta probao uvijek mi kaze da je x=pow(3,3); greska
#include <iostream.h>
#include <math.h>
using namespace std;
int main(){
double x = pow(3,3);
cout << x<<endl;
system("PAUSE");
return 0;
}
hvala.
Kako je njemu to radilo onda
#include <iostream>
#include <cmath>
#include <cstdlib>
using namespace std;
int main()
{
double x;
double baza=3;
x = pow(baza, 3);
cout << x;
cout << endl;
cin.get();
return 0;
}
#include <iostream>
#include <cmath>
#include <cstdlib>
using namespace std;
int main()
{
double x;
double baza=3;
x = pow(baza, 3);
cout << x;
cout << endl;
cin.get();
return 0;
}
hvala
nego zasto rand stalno daje broj 41?