printf("%f", elementi[29][17]);
Programiranje u C++-u - pitanja i odgovori
- poruka: 7.284
- |
- čitano: 1.976.841
- |
- moderatori:
XXX-Man
- +/- sve poruke
- ravni prikaz
- starije poruke gore
Zna neko kako da char pretvorim u int, u smislu da mogu radit racunske operacije i da ce mi ispisat dobar broj? 
char znak = 'a';
std::cout << static_cast<int>(znak);
char tip već i jest cijeli broj, i to 8 bitni broj. Dakle već sada možeš raditi računske operacije s njime. Ali ne možeš u njega nagurati broj veći od 255 pa to imaj na umu.
char X = 'A' + (11 * 2 + 1);
makni ; iza for petlje.
S tim ti se prazna petlja vrti 13 puta i onda se ispiše Hi
Moze pomoc pocetniku?
upisi jedan troznamenkasti broj, ispisati broj njegovih znamenki...
imat ces jedinice , desetice i stotice
jedinice = broj % 10;
stotice = broj / 100;
desetice = (broj - stotice*100) / 10;
Nikako da ga rijesim, mi mozes cijeli rijesiti ako nije problem?
Bio bih ti jako zahvalan...
Pa mogao si napisati program i pogledati što se događa...
static void Main(string[] args)
{
int i, j, k;
i = j = k = 0;
int counter = 0; // broj prolaze, neovisan o zadatku
Console.WriteLine("Start");
for (i = 10; i < 0; i--)
{
j = i;
k++;
Console.WriteLine(String.Format("Prolaz {0}", counter));
Console.WriteLine("---------------------");
Console.WriteLine("Trenutne vrijednosti (i, j, k)");
Console.WriteLine(i.ToString() + " " + j.ToString() + " " + k.ToString());
Console.WriteLine("---------------------");
counter++;
}
Console.WriteLine("Kraj petlje");
Console.WriteLine(i.ToString() + " " + j.ToString() + " " + k.ToString());
Console.WriteLine(String.Format("Broj prolaza - {0}", counter));
Console.ReadKey();
}
I rezultat:
Moze neko objasnit? hvala
Prije same petlje 'i', 'j', 'k' su inicijalizirani na 0.
Na početku, pri inicijalizaciji petlje se varijabla 'i' postavi na vrijednost 10. Uvjet petlje kaže da se petlja treba ponavljati tako dugo dok je 'i' manji od nule, kako je 'i' veći od nule (10), tijelo petlje se neće niti jednom izvršiti. Dakle 'j' i 'k' ostaju 0, a 'i' ostaje 10.
Moze neko objasnit? hvala
Prije same petlje 'i', 'j', 'k' su inicijalizirani na 0.
Na početku, pri inicijalizaciji petlje se varijabla 'i' postavi na vrijednost 10. Uvjet petlje kaže da se petlja treba ponavljati tako dugo dok je 'i' manji od nule, kako je 'i' veći od nule (10), tijelo petlje se neće niti jednom izvršiti. Dakle 'j' i 'k' ostaju 0, a 'i' ostaje 10.
Hvala puno, kuzim :)
moze ovaj neko sada?
A da probas sam napisati/prepisati program i pogledati rezultat ???
Ili uzeti papir i olovku i rjesavati step-by-step dok ne shvatis,
jer ovako nikad neces naucit.
Hvala puno, kuzim :)
moze ovaj neko sada?
Osnovne matematičke operacije. Probaj sam pa ćemo vidjet di si zapeo...
Ne brinite pokusao sam ja to rjesiti vise puta, problem je u tome sta nisam siguran, jer kad predam ovaj probni test, ne pokazuje da li je točno ili netočno, pa nisam siguran.
Buni me to jer nisam bas siguran s ovim ++ i -- ispred varijable. Ja sam dobio ovako: 0.5 -2.5 2 6 9
Hvala!
edit: dodana slika za jos 1 zadatak
printf("%f", elementi[29][17]);
u pitanju je double tako da treba napisat %lf
char tip već i jest cijeli broj, i to 8 bitni broj. Dakle već sada možeš raditi računske operacije s njime. Ali ne možeš u njega nagurati broj veći od 255 pa to imaj na umu.
char X = 'A' + (11 * 2 + 1);
char je osmobitni označeni cijeli broj tako da prima vrijednosti od -128 do 127, ako hoćeš od 0 do 255 koristi unsigned char
Ne brinite pokusao sam ja to rjesiti vise puta, problem je u tome sta nisam siguran, jer kad predam ovaj probni test, ne pokazuje da li je točno ili netočno, pa nisam siguran.
Buni me to jer nisam bas siguran s ovim ++ i -- ispred varijable. Ja sam dobio ovako: 0.5 -2.5 2 6 9
Hvala!
edit: dodana slika za jos 1 zadatak
3, 4, 6 su cijeli brojevi tako da je i rezultat cijeli broj
(3+4)/6 = 7/6 = 1
ali
(3.0+4)/6 = 7.0/6 = 1.66666
(ovdje je 3 predstavljen kao realni tip)
u pitanju je double tako da treba napisat %lf
'f' specifikator nije za float nego za double, ne postoji specifikator za float, sve float vrijednosti su promovirane u double. 'l' specifkator u kombinaciji sa 'f' specifikatorom ne radi baš ništa i ignorira se.
Mea culpa.
Tako je, sve su cijelobrojne vrijednosti pri deklaraciji po defaultu označene, potrebno je eksplicitno zatražiti neoznačeni tip kako bi se dobio neoznačeni tip.
for petlja ima ovakvu anatomiju:
for (izraz1; izraz2; izraz3)
izraz1 se izvršava samo jednom, i to na ulasku u petlju
izraz2 se izvršava svaki puta prije izvršavanja tijela petlje, ako je izraz istinit tijelo petlje će se izvršiti, ako izraz nije istinit tijelo petlje se neće izvršiti i petlja se prekida
izraz3 se izvršava svaki puta nakon što se izvrši tijelo petlje
Sada kad smo to probavili, idemo korak po korak kroz program:
i = 0
j = 0
k = 0
početak petlje, 'i' se inicijalizira na -10
-10 je manje od nula, tijelo petlje se izvršava
j = i -> j = -10
k++ -> k = 1
i++ -> i = -9
-9 je manje od nula, tijelo petlje se izvršava
j = i -> j = -9
k++ -> k = 2
i++ -> i = -8
-8 je manje od nula, tijelo petlje se izvršava
j = i -> j = -8
k++ -> k = 3
i++ -> i = -7
-7 je manje od nula, tijelo petlje se izvršava
j = i -> j = -7
k++ -> k = 4
i++ -> i = -6
-6 je manje od nula, tijelo petlje se izvršava
j = i -> j = -6
k++ -> k = 5
i++ -> i = -5
-5 je manje od nula, tijelo petlje se izvršava
j = i -> j = -5
k++ -> k = 6
i++ -> i = -4
-4 je manje od nula, tijelo petlje se izvršava
j = i -> j = -4
k++ -> k = 7
i++ -> i = -3
-3 je manje od nula, tijelo petlje se izvršava
j = i -> j = -3
k++ -> k = 8
i++ -> i = -2
-2 je manje od nula, tijelo petlje se izvršava
j = i -> j = -2
k++ -> k = 9
i++ -> i = -1
-1 je manje od nula, tijelo petlje se izvršava
j = i -> j = -1
k++ -> k = 10
i++ -> i = 0
0 nije manje od nula, petlja se prekida
stanje po izlasku iz petlje:
i = 0
j = -1
k = 10
Nauči koristiti debugger i ići korak po korak kroz kod.
Stvarno si se potrudio za ovo sve ispisati, hvala ti puno, cini mi se da sada shvacam. 
Rijesio sam onaj zadatak, pametniji sam nego sto sam mislio, no na dodatnoj sam dobio zadatak u kojem moram koristiti <fstream>
kako da upisem da mi otvori u cpp txt document?
Rijesio sam onaj zadatak, pametniji sam nego sto sam mislio, no na dodatnoj sam dobio zadatak u kojem moram koristiti <fstream>
kako da upisem da mi otvori u cpp txt document?
Nisi ti glup nego si teška lijenčina.
gledao sam al ne kuim input... i da lijencina sam, priznajem :P
Rijesio sam onaj zadatak, pametniji sam nego sto sam mislio, no na dodatnoj sam dobio zadatak u kojem moram koristiti <fstream>
kako da upisem da mi otvori u cpp txt document?
Za upis:
ifstream fin("naziv.txt");
//primjer upisa
int a, b, c;
fin >> a >> b >> c;
Za ispis:
ofstream fout("naziv.txt");
//primjer ispisa
fout << "test" << endl;
Ako ti je potrebno vise od ovoga, pogledaj ovdje:
Ja radim jedan program o pitagorinom počku. Pitanjce : napravio sam da na kraju pita "želite li još nešto izračunati " i sad neznam kak napravit da ako je odgovor "da" ode na početak programa. Ja sam tek novi u ovome tak da plz dont troll me.
Unaprijed hvala
Ja radim jedan program o pitagorinom počku. Pitanjce : napravio sam da na kraju pita "želite li još nešto izračunati " i sad neznam kak napravit da ako je odgovor "da" ode na početak programa. Ja sam tek novi u ovome tak da plz dont troll me.
Unaprijed hvala
Ovo bi u BASIC-u bio klasican primjer GOTO naredbe. No, goto se u C/C++-u i opcenito u programiranju danas izbjegava gotovo pod svaku cijenu.
Napravi ovako, neka ti se cijeli program vrti u glavnoj petlji, znaci:
int main()
{
while (1)
{
// tvoj program
// ovdje pitas zeli li korisnik jos racunati
if (odgovor == "NE") // ovdje provjeravas odgovor, ako NE izadi iz petlje, ako DA, if se ne izvrsava, vraca se na pocetak petlje i program ide ispocetka
{
break;
}
}
}Otprilike tako nesto.
E fallaaa puno. Drito to me zanimalo kak bi i c++ napravi to sa goto.Tnx 
Ili da je u while uvjet neka globalna bool varijabla koju na kraju petlje postaviš na false...
P.S. While unutar kojeg se sve vrti je najčešće u igrama. while (alive == true) { game(); }
Jep, glavni game loop.
Ili u GUI aplikacijama. Npr. u Qt-u kad u main-u program dode do return app.exec(); (samo primjer, ne mora se objekt zvati app), tada se kontrola aplikacije predaje Qt-u i program ulazi u event loop. Nisi eksplicitno napisao while petlju, ali... ;)
Pozdrav!
Kako biste ovo riješili?
Kazna za prebrzu vožnju u nekom gradu je 200 kn za prekoračenje brzine plus 20 kn za svaki kilometar na sat preko ograničenja. Za vožnju preko 90 km/h dodatno se plada kazna od 300 kn. Napisati program koji za unesenu brzinu vožnje ispisuje ili poruku da je brzina unutar dozvoljenog područja ili iznos kazne koju treba platiti za prekoračenje brzine. (Ograničenje brzine vožnje u gradu je 50 km/h).
Imaš problema s implementacijom ili s algoritmom?
Ovo je stvarno trivijalan zadatak, evo probat ću ti opisat algoritam pa ti reci ako ti nesto od implementacije nije jasno.
Znači prvo i osnovno, trebas unos trenutne brzine vožnje, tu varijablu cu zvati BRZINA.
Trebat ćeš još jednu varijablu koju ću zvati KAZNA
I sad provjeriš jel BRZINA manja ili jednaka od 50, ako je ispiši poruku da je vozilo unutar dozvoljenog područja i zavrsi program, a ako nije varijabli KAZNA dodaj 200.
Sad provjeriš jeli BRZINA veća od 90, ako je dodaj varijabli KAZNA 300kn.
Sad oduzmeš 50 od BRZINA (to je ograničenje koje ne ide u računanje prekoračenja) te pomnožiš taj broj s 20. Sad to samo dodas varijabli KAZNA.
Preostalo ti je samo da ispišeš poruku, cijena kazne je u varijabli KAZNA.
