
Programiranje u C++-u - pitanja i odgovori


Imam knjigu u pdf "Naučite c++ u 21 dan" i sad knjiga jako dobro objasnjava i sve al jednostavno svaki primjer(kod) koji unesem dobiem error
evo jedan kod :
#include <iostream>
int main()
{
int x = 5;
int y = 7;
cout"\n";
cout << x + y << " " << x " y;
cout"\n";
return 0;
}
Taj kod će sigurno raditi ovako:
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int x = 5,y = 5;
cout<<endl;
cout << x<< "+"<< y <<"=" << x + y<<endl;
system("PAUSE");
return 0;
}
i preporučujem ti knjigu c++ programiranje za apsolutne početnike, kad ju pročitaš onda demistificirani c++

Imam knjigu u pdf "Naučite c++ u 21 dan"
Toliko. :D
ovo vodi paradoksu ;D

poz , moze li mi netko tko ima vremena pomoci da ako nije problem uradi ova 2 zadatka u c++, unaprijed hvala :)
1.Napisati program koji unosi recenicu i onda ispisuje sve rijeci te recenice i ako je pokedina rijec palindrom ispise pokraj nje palindrom , inace ispise nije palindrom.
2.Napisi program koji unosi znakove sve dok neki znak ne unesemo cetiri puta, a zatim u posebnim funkcijama nalazi znak sa najmanjim ascii kodom, prosjek ascii kodova unesenih znakova i sortira znakove.

A što će ti, ti zadaci, nemaš ništa od toga ako ti mi to uradimo, probaj početi pisati zadatak. I ako zapne pitaj.

hitno mi je , molim ako znas da mi uradis sto prije ,,, treba mi to do nedjelje , trenutno nemam vremena da sad ucim c++, ali cu ga prijeci , ugl ako mozes pomozi... unaprijed hvala

hitno mi je , molim ako znas da mi uradis sto prije ,,, treba mi to do nedjelje , trenutno nemam vremena da sad ucim c++, ali cu ga prijeci , ugl ako mozes pomozi... unaprijed hvala
Nemoj se uvridit ali tvoja prica jednostavno nedrzi vodu. Do nedilje se da naucit i rjesit 100x teze zadatke.
BTW Ovi biseri forumasa reganih 1-5 dana i price da se nema vrimena su gluposti. Ajd mi ti dokazi da od jucer kad si posta pa do nedilje kad vec to imas preat ti nemas vrimena to rjesit i ja cu ti rjesevata svaki zadatak do kraja tvog skolovanj(?)

hitno mi je , molim ako znas da mi uradis sto prije ,,, treba mi to do nedjelje , trenutno nemam vremena da sad ucim c++, ali cu ga prijeci , ugl ako mozes pomozi... unaprijed hvala
ako pronađem vremena možda ti uradim 1. zadatak

Evo, uradio sam ti 1. zadatak, da nebude da ti radim zadaće, pokušaj sam napraviti provjeru dali je rijeć palindrom:
#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
int main()
{
string rec;
int x,i,N;
cout<<"Unesite recenicu: "<<endl;
getline(cin,rec);
N=rec.size();
char *niz = (char*)rec.c_str();
for(x=0; x<N; x=x+1){
if(niz[x] == ' '){
cout<<endl;
}
else{
cout<<niz[x];
}
}
cout<<endl;
system("PAUSE");
return 0;
}

Pozdrav svima,
evo u ove ljetne dane malo sam počeo učiti c++... evo zapeo sam na jednom zadatku, tj. znam kako ga riješiti ali mi program ne izabacuje ono što bi trebao... radi se o jednostavnom kalkulatoru gdje korisnik odabire računsku operaciju.. i sve mi šljaka osim djeljenja.. znači deklarirao sam kolicnik kao double ( znači realni broj) ali mi program uporno kao riješenje ispisuje cijeli broj, a ne decimalni. ( npr. unesem 3 i 2 i izbaci mi rješenje 1) kako to riješiti?
P.S. znam da se ovo riješavo pomoču kolekcija, ali to je još uvjek prenapredno za mene ... kad malo bolje svladam kolekcije onda ću ga tako pokušati riješiti.
P.P.S. bug mi neda da kopiram kod, a kad "poništim oblikovanje" onda je nepregledno, pa evo slika.
btw. ne količnik neg kvocjent :/ , ustvari to je isto

zato sta su ti broj1 & broj2 tipa int. Barem jedan od njih 2 ti treba bit tipa double da bi ti rezultat bia tocan.
rez = broj1 / broj2 zamjeni sa rez = (double)broj1 / broj2 //i rezultat ce ti bit tipa double onda
Mislim cak da bi ti se program treba srusit kad ides ucitat double broj u int.

Pozdrav svima,
evo u ove ljetne dane malo sam počeo učiti c++... evo zapeo sam na jednom zadatku, tj. znam kako ga riješiti ali mi program ne izabacuje ono što bi trebao... radi se o jednostavnom kalkulatoru gdje korisnik odabire računsku operaciju.. i sve mi šljaka osim djeljenja.. znači deklarirao sam kolicnik kao double ( znači realni broj) ali mi program uporno kao riješenje ispisuje cijeli broj, a ne decimalni. ( npr. unesem 3 i 2 i izbaci mi rješenje 1) kako to riješiti?
P.S. znam da se ovo riješavo pomoču kolekcija, ali to je još uvjek prenapredno za mene ... kad malo bolje svladam kolekcije onda ću ga tako pokušati riješiti.
Djeljenje dva cjelobrojna (integer) broja, kao rezultat daje samo cijeli broj. Kako bi postigao ono sto zelis deklariraj jednu od brojcanih varijabli kao float, ili castaj pri djeljenju u float.
Recimo:
kolicnik = broj1 / (float)broj2;
btw. koji su vrag kolekcije? :D
EDIT: dok ja pisem i glupiram se, drugi me prestignu... -.-'

zato sta su ti broj1 & broj2 tipa int. Barem jedan od njih 2 ti treba bit tipa double da bi ti rezultat bia tocan.
rez = broj1 / broj2 zamjeni sa rez = (double)broj1 / broj2 //i rezultat ce ti bit tipa double onda
Mislim cak da bi ti se program treba srusit kad ides ucitat double broj u int.
hvala radi... količnik sam deklarirao kao double, al kad sam tu ubacio broj1 i broj2 onda mi je izbacio grešku da ta varijabla već postoji u tipu int... nisam znao da se ovako može... hvala puno

sorry možda zvuči glupo ali koja je razlika između double i float.. double= realni brojevi , a float??

sorry možda zvuči glupo ali koja je razlika između double i float.. double= realni brojevi , a float??
double zauzima vise memorije ( 8 bajta ako se ne varam), a zbog toga mu je raspon veći i može bilježit veći broj decimala

Double ti je double precision float, a float se jos zove i single precision float.
Ukratko za float se koristi 32 bita (4 bajta memorije), dok za double 64 bita tj (8 bajtova)

btw. koji su vrag kolekcije? :D
Valjda misli na collections (queue, stack ...)

btw. koji su vrag kolekcije? :D
Valjda misli na collections (queue, stack ...)
I kako bi se to trebalo upotrijebit na onaj zadatak?

Valjda misli na collections (queue, stack ...)
E pa tako reci. To vec znam sto znaci.

Imam knjigu u pdf "Naučite c++ u 21 dan" i sad knjiga jako dobro objasnjava i sve al jednostavno svaki primjer(kod) koji unesem dobiem error
evo jedan kod :
#include <iostream>
int main()
{
int x = 5;
int y = 7;
cout"\n";
cout << x + y << " " << x " y;
cout"\n";
return 0;
}
Taj kod će sigurno raditi ovako:
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int x = 5,y = 5;
cout<<endl;
cout << x<< "+"<< y <<"=" << x + y<<endl;
system("PAUSE");
return 0;
}
i preporučujem ti knjigu c++ programiranje za apsolutne početnike, kad ju pročitaš onda demistificirani c++
e bas to treba preporucit svim pocetnicima

pozdrav, evo opet ja sa svojim pitanjima ( već sam sam sebi dosadan)
zanima me kako u zadatku koristiti korijen i potencije??
kad napišem a=√3 ovako:
a = 3^(1/2);
izbaci grešku, a kad napišem ovako a= sqrt(3); također izbaci grešku.
pošto sad nisam kod kuće radim u dev-u inaće radim u visual studiu.
jel trebam nešto include-ati ili?
LP

pozdrav, evo opet ja sa svojim pitanjima ( već sam sam sebi dosadan)
zanima me kako u zadatku koristiti korijen i potencije??
kad napišem a=√3 ovako:
a = 3^(1/2);
izbaci grešku, a kad napišem ovako a= sqrt(3); također izbaci grešku.
pošto sad nisam kod kuće radim u dev-u inaće radim u visual studiu.
jel trebam nešto include-ati ili?
LP
Ovo a = 3^(1/2); ti sigurno neće raditi je c++ sam podražava samo 5 operacija(zbrajanje, množenje, dijeljenje, oduzimanje i modulo). Zbog toga se moraju koristiti funkcije koje nisu direktno dio c++-a. Takava je funkcija sqrt() koja je dio standardne biblioteke cmath koju moraš uključiti u zaglavlju. Budući da je standardna biblioteka nju ti mora imati svaki IDE.
Pomoglo bi nam i to da nam kažeš koji ti error izbacuje

Ovo a = 3^(1/2); ti sigurno neće raditi je c++ sam podražava samo 5 operacija(zbrajanje, množenje, dijeljenje, oduzimanje i modulo). Zbog toga se moraju koristiti funkcije koje nisu direktno dio c++-a. Takava je funkcija sqrt() koja je dio standardne biblioteke cmath koju moraš uključiti u zaglavlju. Budući da je standardna biblioteka nju ti mora imati svaki IDE.
Pomoglo bi nam i to da nam kažeš koji ti error izbacuje
e puno ti hvala RADI

Čitam knjigu,Demifisticirani C++,došao sam do odjeljka s pokazivačima.Znam ih koristiti,ali mi svejedno nije jasno za što služe pokazivači.

Pokazivaci pokazuju na neku memorijsku adresu. Tj. u njima je spremljena adresa neke varijable odnosno komada memorije.
Namjena im je stvarno raznolika. Recimo pri dinamickoj alokaciji memorije ces ih uvijek koristiti. Mozes ih koristiti i za proslijedivanje argumenata funkcijama da bi ustedio na stack prostoru (u slucaju ogromnih struktura i dubokih rekurzija) ili da bi funkcija mogla mijenjati varijable koje su joj proslijedene kao argument...
Najbolje da ne razbijas glavu time previse, sve do jednog trenutka kada ti budu najbolje rjesenje za neki problem pa ih budes koristio, onda ces dozivjeti svojevrsni "a ha!" trenutak.

Još jedno pitanje.Ako skinem knjigu Visual Studio,to jest zapravo C++?

Visual Studio je samo razvojno okruženje(IDE) u kojem razvijaš program/pišeš kod. On je IDE više programskih jezika(dakle ne samo za C++).
Dakle to ti nije knjiga o cpp-u. Radije nabavi Demistificirani c++.

#include<iostream>
#define MAX 5
using namespace std;
int main()
{
int i, j, pom, polje[MAX] = {4, 5, 8, 2, 3};
for (i = 1; i<MAX; i++)
pom = polje[i];
for(j = i; j>=1 && polje[j-1] > pom; j--)
polje[j] = polje[j-1];
polje[j] = pom;
for(i = 0; i<MAX; i++)
cout<< polje[i] <<"\t";
char a;
cin>>a;
return 0;
}
zbunjuje me jedna linija koda pa ako bi mi ju netko mogao pojasniti kako radi ili to nije potrebno?
for(j = i; j>=1 && polje[j-1] > pom; j--)

Prvi indeks polja je 0,a ne 1.

ovo je prepisano iz knjige...
Imam knjigu u pdf "Naučite c++ u 21 dan"
Toliko. :D