Programiranje u C++-u - pitanja i odgovori izdvojena tema

poruka: 7.283
|
čitano: 1.505.531
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
10 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori

@VirtualRiot34

 

Uvažavajući što je kolega rekao, te što će ti netko još od kolega reći(slažem se kaj vele kolege, inače).

Daj sam sebi neki izazov. Aplikacije kroz Visual od MS možeš razvijati u kojem skoro god želiš jeziku. Međutim, ak' baš želiš odaberi onda srednji put, ak' ti nije C++ po ćefu, te uzmi C#.Nasuprot Javi. Mada kako se budeš razvijao, ak buš pravi programer, bit' če ti svejedno koji jezik koristiš, ak' baš ne buš imao sam problema sa  samim sobom u vezi sintakse programskog jezika.

 

Probaj naučiti sve "gradivne" elemente nekog jezika. Jednom kada to čovjek sa vlada, onda je puno lakše.

Učiti proučavajući tuđi kod. Možeš krenuti sa Demisticirani C++ ili pak recimo Professional C++ od M. Gregoire. ili pak preko video tutoriala. Il' predavan preko weba. Učenje možda po programu nekog kolegija sa fakulteta vezano za programiranje...ima više načinaučenja, al' ti biraš sam svoj put.

Možda sudjelovanje u nekome open source projektu...il prati oglase za posao, pa pronađeš neki posao, gdje ćeš učiti i raditi, te još biti plaćen za to. To je ono najbolje. Radiš kaj voliš, te još dobiš nelošu lovu za to.

 Praktički ,dojdeš se na posao odmarati.

 

Svatko ima svoju krivulju učenja. Posveti se sebi, budi uporan...Drugim riječima, budi fanatik za ono kaj radiš, te ne može da ne izostane rezultat.

Computjere i programiranje i sve vezano za to moraš voljeti, a lova ne smije biti nikako primarni faktor(čak ni sekundarni) u svemu tome. Međutim, ipak čovjek treba od nečega živjeti, pa se ne buni kad ti daju plaću.

 

Suerte!

Panzerkampfwagen.Dinamo Zagreb.TMATIJA1.Leaving or dead, always ahead...
11 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
PzKpfw kaže...

 

 

 Legenda si. Respect

youtube.com/summercroatia http://steamcommunity.com/profiles/76561197984431248
8 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Pozdrav ljudi, zadatak iz C++ mi glasi ovako

 

Korisnik unosi 10 različitih slova u polje. Ukoliko korisnik unese 2 puta isto slovo
potrebno je unos poništiti i zatražiti ponovni unos slova.

 

Kod mi ne izbacuje greske, ali ne radi kako treba kada unesem 2 ista slova

 

Bio bih Vam zahvalan ako mi mozete predloziti ili me ispraviti kako treba kod funkcionirati

 

#include <iostream>
#include <cstdlib>

 

using namespace std;

 

 

int main()
{
   char a[10];

   int i = 0;

  

   cout << "unesi znak :" << i <<": ";
   cin >> a[i];

  

   int j = 1;
   bool nadjen;

 

 

do
{
   do
   {
     cout << "unesi znak " << j <<" :";
     cin >> a[j];

     bool nadjen = false;
     int k = 0;
   while(!nadjen && k < j)
   {
      if(a[k] == a[j]) nadjen = true;
      else k++;
   }

 

   }while(nadjen == true);

  

   j++;
}while(j < 10);

 

system("pause");
return 0;
}

Carry on
 
0 0 hvala 0
12 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Jel ovo ok?

edit

 

 

#include <iostream>
#include <cstdlib>

using namespace std;


int main()
{
char a[10];
int i = 0;

cout << "unesi znak :" << i <<": ";
cin >> a[i];

int j = 1;
bool nadjen;


do
{
cout << "unesi znak " << j <<" :";
cin >> a[j];
bool nadjen = false;
int k = 0;
while(!nadjen && k < j)
{
if(a[k] == a[j]) nadjen = true;
else k++;
}
if(nadjen){
cout << "isti znak, ponovi unos" << endl;
}else{
j++;
}
}while(j < 10);

system("pause");
return 0;
}

Poruka je uređivana zadnji put sri 9.8.2017 16:38 (Ajmodaj).
Moj PC  
0 0 hvala 1
11 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

A jesi si stvarno zakomplicirao život. Rađe koristi for petlju ako već znaš koliko ti je veliko polje jer tvoj kod je praktički nečitljiv.

 

#include <iostream>
using namespace std;

int main() {
  char polje[10];
  for (int i = 0; i < 10; i++) {
    cin >> polje[i];
    for (int j = 0; j < i; j++)
     if (polje[j] == polje[i])
       return 0;
  }

system("pause");
return 0;
}

samo nešto struže..
Moj PC  
2 0 hvala 0
6 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
baso533 kaže...

A jesi si stvarno zakomplicirao život. Rađe koristi for petlju ako već znaš koliko ti je veliko polje jer tvoj kod je praktički nečitljiv.

 

#include <iostream>
using namespace std;

int main() {
  char polje[10];
  for (int i = 0; i < 10; i++) {
    cin >> polje[i];
    for (int j = 0; j < i; j++)
     if (polje[j] == polje[i])
       return 0;
  }

system("pause");
return 0;
}

 Ja isto za takve slučajeve preferiram for petlju radi preglednosti, ali na koncu, bitno je rješenje i kreativnost 

Trust nobody, become the best !
16 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Jest on malo zakomplicirao, ali je riješio, ovaj dvostruki for ne rješava zadatak, unosa može biti više od brojača vanjske for petlje a program ne bi trebao završavati kod unosa duplikata nego omoguđiti ponovni unos.

 
3 0 hvala 1
6 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
Nisam duze vrijeme koristia bool u c++, znam da je glupo pitanje , kako bi mi objasnili rijecima sto program radi, ovo gdje je while(!bool....) i if(bool), stvarno sam u dilemi haha
Trust nobody, become the best !
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Mr.ddevil kaže...
Nisam duze vrijeme koristia bool u c++, znam da je glupo pitanje , kako bi mi objasnili rijecima sto program radi, ovo gdje je while(!bool....) i if(bool), stvarno sam u dilemi haha

 Bool je tip varijable zvan boolean koja ima dva stanja, true i false.

while(bool) znači da se petlja vrti dok je ta bool varijabla true

if(bool) znači da se izvršava ta naredba grananja ako je bool varijabla true

operator uskličnik je logički operator koji znači NOT, dakle negaciju boolean varijable

!false = true

6 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
Ovo prvo (while(!bool...)) mi je po nekoj logici negirano, a ovo drugo sa if(bool) , bi li to trebalo znaciti kada je bool = true..., msn da san se prisjetia, ne triba nista objasnjavat 😂
Trust nobody, become the best !
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Inače primjena tog operatora uskličnik zna održati nekakvu logiku programa, kao u ovom primjeru ovdje.

Evo, stavit ću taj zadatak ovdje da ovi momci pokušaju rješiti zadatke ovog tipa po nekoj logičkoj matrici ubuduće, to nije teško, brzo prijeđe u rutinu.

Dakle, vanjsku petlju vrtimo dok ne dobijemo deset različitih upisa, a unutarnjom petljom provjeravamo da li je tekući upis duplikat.

Da bi to mogli izvrsti brojač vanjske petlje koji je ujedno i index za tekući upis u polje inkrementiramo jedino ako je boolean varijabla dupli false.

To smo mogli postići i izjavom dupli == false, mogli smo i vanjsku while petlju umjesto nepotpune for petlje, a mogli smo i potpunu for petlju pa dektement  ako imamo duplih.

 

 

#include <iostream>
using namespace std;

int main() {
   bool dupli;
   char polje[10];
   for (int i = 0; i < 10;) {
      cin >> polje[i];
      dupli = false;
      for (int j = 0; j < i; j++)
         if (polje[j] == polje[i])
            dupli = true;
      if (!dupli) i++;
   }

   return 0;
}

Poruka je uređivana zadnji put čet 10.8.2017 15:37 (Floki).
 
1 0 hvala 1
8 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Svidjaju mi se primjeri i objasnjenja, na istom principu je kao i while i do-while petlja. Hvala vam svima :)

Carry on
Poruka je uređivana zadnji put čet 10.8.2017 22:20 (Dino-san).
8 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Kako bi vi zapisali koliko se puta pojavljuje koji znak u polje, ucili smo na predavanju binarno pomicanje sa brojevima, ima li tko kakav primjer ili drugaciji prijedlog za brojanje znakova u polju ? 

Carry on
 
0 0 hvala 0
6 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
Dino-san kaže...

Kako bi vi zapisali koliko se puta pojavljuje koji znak u polje, ucili smo na predavanju binarno pomicanje sa brojevima, ima li tko kakav primjer ili drugaciji prijedlog za brojanje znakova u polju ? 

 Imaš li neki konkretan primjer, zadatak ?

 

Ja bi zapisao u neku varijablu, napravija brojač

Trust nobody, become the best !
8 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Mr.ddevil kaže...
Dino-san kaže...

Kako bi vi zapisali koliko se puta pojavljuje koji znak u polje, ucili smo na predavanju binarno pomicanje sa brojevima, ima li tko kakav primjer ili drugaciji prijedlog za brojanje znakova u polju ? 

 Imaš li neki konkretan primjer, zadatak ?

 

Ja bi zapisao u neku varijablu, napravija brojač

E evo ti primjera 

 

Korisnik unosi 10 slova (može biti i više istih). Potrebno je sortirati polje koristeći
sortiranje umetanjem u silaznom obliku i ispisati polje na ekran. Zatim je
potrebno ispisati broj pojavljivanja svakog pojedinog različitog slova u polju.
Potrebno je zatim ispisati pozicije svakog suglasnika u polju.

 

Ovo mi je cijeli zadatak a mene zanima ovaj podcrtani dio, jel bi se moglo rijesiti jos na koji nacin ?

Carry on
10 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori

@Dino-san

 

Ovak' iz glave drito na forum: incijaliziraš int polje sa 25 ćlanova(npr. govorimo o engleskoj abecedi), te ako je slovo 'A' ili 'a', onda povećaš prvi član polja za jedan, ako je slovo b u igri, onda drugi član polja za jedan,itd Znači imaš svojevrsno polje brojač, te ovisno o poziciji slova u slijednom redu, povećap na tom mjestu član tog polja za jedan. 

Na kraju ispiše to polje brojač, te ovisno o poziciji člana tog polja, znaš o kojem se slovu radi.

 

U uvjetima, ako se radi o malom slovu, pretvori ga u veliko, te onda samo to slovo oduzmeš sa 65, kako bi dobio broj pozicije tog slova u brojaču pojavljivanja slova.

 

...

 

Panzerkampfwagen.Dinamo Zagreb.TMATIJA1.Leaving or dead, always ahead...
8 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

#include <iostream>
#include <cstdlib>

 

using namespace std;

 

int main()
{
 char a[10];

 for(int i = 0; i < 10; i++)
 {
  cout << "unesi " << i << ": ";
  cin >> a[i];
  }

 

cout << endl;
cout << "sortiranje umetanjem" << endl;

 

// 4 5 9 2
for(int i = 1; i < 10; i++)
{
  int j = i - 1;
  float pom = a[i];

  while(j >= 0 && a[j] < pom)
  {
   a[j+1] = a[j--];
  }
  a[j+1] = pom;
}
cout << endl;

 

for(int i = 0; i < 10; i++)
{
   cout << a[i] << " ";
}
cout << endl;

int suma = 0;
int j = 0;

for(int i = 0; i < 10; i++)
{
   if(a[i] == a[j++] )
   {
   suma++;
   }
}


system("pause");
return 0;
}

 

Ovo je do kuda sam dosao... nisam napisao dalje, zanima me princip koda

Carry on
 
0 0 hvala 0
11 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Dino-san kaže...

 

Ovo je do kuda sam dosao... nisam napisao dalje, zanima me princip koda

int suma = 1;
for (int i = 0; i < 10; i++)
{
  //usporedujemo uvijek jedan znak desno, pa ako smo dosli do zadnjega(i=9) vise nemamo s kime usporedivati i samo ispisujemo zadnju vrijednost sume
  if (a[i] == a[i+1] && i!=9)
  {
    suma++;
  }
  else {
    cout << "Slovo " << a[i] << " je uneseno " << suma << " puta" << endl;
    suma = 1;
  }
}

 

Ako sam te dobro skužio, mislio si napravit nešto ovakvo. 

samo nešto struže..
8 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
baso533 kaže...
Dino-san kaže...

 

Ovo je do kuda sam dosao... nisam napisao dalje, zanima me princip koda

int suma = 1;
for (int i = 0; i < 10; i++)
{
  //usporedujemo uvijek jedan znak desno, pa ako smo dosli do zadnjega(i=9) vise nemamo s kime usporedivati i samo ispisujemo zadnju vrijednost sume
  if (a[i] == a[i+1] && i!=9)
  {
    suma++;
  }
  else {
    cout << "Slovo " << a[i] << " je uneseno " << suma << " puta" << endl;
    suma = 1;
  }
}

 

Ako sam te dobro skužio, mislio si napravit nešto ovakvo. 

 

#include <iostream>
#include <cstdlib>

using namespace std;

int main()
{
char a[10];

for(int i = 0; i < 10; i++)
{
cout << "Znak " << i+1 <<". :";
cin >> a[i];
}
cout << endl;
cout << "Sortiranje umetanjem" << endl;

for(int j = 1; j < 10; j++)
{
  int poc = j - 1;
  float pom = a[j];
while(a[poc] < pom && poc >= 0 )
{
  a[poc + 1] = a[poc--];
}
  a[poc + 1] = pom;
}
cout << endl;

for(int i = 0; i < 10; i++)
{
  cout << a[i] << " ";
}
cout << endl;

int suma = 1;
for(int i = 0; i < 10; i++)
{
  if(a[i] == a[i+1] && i != 9)
{
  suma++;
}
else
{
  cout << "Slovo " << a[i] << " je uneseno " << suma <<" puta" << endl;
  suma = 1;
}
}
cout << endl;
cout << "Pozicija svakog suglasnika" << endl;

for(int i = 0; i < 10; i++)
{
  if(!(a[i]=='a' || a[i]=='e' || a[i]=='i' || a[i]=='o' || a[i]=='u'))
{
  cout << a[i] << " se nalazi na poziciji " << i << endl;
}
}
system("pause");
return 0;
}

 

Evo rjesenja... hvala basso533

 

Stavim kod u kod format i onda moram stiskat enter da poslozim kod , jel ima koja bolja opcija

8 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

 

Kako znaš mogu li  trenutno skinuti Visual? Zar to što si napisao ne možeš primijeniti na 90% pitanja ovdje?

 

Došao sam na forum u kojem je tema programiranje u C++ programskom jeziku.

I gle čuda, tražim pomoć oko zadataka iz C++ programskog jezika. Nevjerojatno.

Postavljam pitanja o C++ programskom jeziku na razini koju mi dopušta moje trenutno znanje.

Ako možeš i želiš pomoći. pomozi i hvala ti, ako ne možeš i ne želiš, ignoriraj. Nisi obavezan pomoći mi.

Na forumu se javljam ponajviše jer ne mogu dočekati konzultacije sa profesorom a na internetu nisam našao odgovor.

 

Drugo, od 104 zadatka iz zbirke, objavio sam ako se ne varam 2. Još bih možda trebao 2-3. I to nakon mnogobrojnih samostalnih pokušaja pronalska rješenja. Zar je to problem?

 

Treće, prošli zadatak je specifičan jer je rješenje kopirano iz zbirke - i ne radi. 

 

Četvrto, uskoro se možda javim sa nekim novim nejasnoćama.

 

Pozdrav.

&quot;Ne znan ja šta je to feminizam...&quot;-S. Vuco
10 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori

@Mrzim*Pokazivače

 

E, zanimalo bi me o kojoj je zbirci zadataka riječ???

 

Panzerkampfwagen.Dinamo Zagreb.TMATIJA1.Leaving or dead, always ahead...
8 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Ekipa, jel znate strukture? 

Imam jedan problem oko zadatka

Carry on
 
0 0 hvala 0
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Znamo sve ako ti znas sto tocno ne znas ;)

8 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

https://www.dropbox.com/s/zdts97ldgc7gbam/zbirka_oop_13rev.pdf?dl=0

Nadam se da dijeljenje nije ilegalno.

 

Imam neka  pitanja za sve koji žele pomoći:

Razlike između:

 

getline(cin, varijabla)

cin.getline(niz tipa char, broj)

 

Zašto mi je odjednom zatrebao cin.ignore(), ne sjećam se da mi je ikad prije zatrebao?

I to zatrebao mi je baš onda kad sam se u kratkom  kodu zabavljao isključivo s tom funkcijom.

 

 

Da li se drugi zapis koristi samo za c-string? Jer funkcija ne prima argument tipa klase string.

Prvu verziju funkcije sam koristio bezbroj puta u zadacima. Uglavnom za upis stringa sa razmacima.

Drugu verziju nikad.

 

Drugo,

 

može li mi netko objasniti koja je fora sa izjavama koje imaju uvjete tipa:

if(a=0)

if(c-a)

if(a)

 

Idu mi na živce. Da li netko ima nekih primjera sa baš takvim zadacima? Ja sam kopao po internetu i sve se uglavnom svodi na one jednostavne uvjete, ==, <=, >=, !=.

Nešto malo sam vidio na SoloLearnu.

 

Ako sam dobro shvatio, ovo u zagradi je true ako je različito od nule. Prvo se obavi operacija u zagradi, nakon te operacije vrši se provjera, da li je stanje true ili false. Ako je true, obavlja se ono iz tijela izjave.

 

Čudno je kad razumiješ virtualne funkcije a još uvijek nisi načisto sa uvjetima iz petlja i izjava :D

 

Treće pitanje, zašto u CodeBlocksu ne mogu pozvati funkcije iz zagljavlja <string>:  stod, stof, to_string...?

Ništa, kao da ne postoje. Jel do compilera ili?

Funkcije iz zaglavlja <cstdlib> koje obavljaju istu zadaće (atof, atoi, strod...) pozovem bez problema.

 

Nadam se da ne pitam gluposti.

 

 

&quot;Ne znan ja šta je to feminizam...&quot;-S. Vuco
Poruka je uređivana zadnji put pon 21.8.2017 19:24 (Mrzim*Pokazivače).
14 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori

1. ne radim s tim nikad, pa ne znam, ali google pomaze https://stackoverflow.com/questions/4745858/stdcin-getline-vs-stdcin
2. if (a=0) - u a se upisuje 0, uvjet je uvijek false, bezveze.
Drugi uvjeti mogu imati smisla, izracuna se izraz unutar zagrada pa se to pretvara u bool
3. Mozda ti fali #include <string> ?

Lack of money is the root of all evil. George Bernard Shaw
8 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

1) Nije mi jasno kako nisam naletio na ovaj odgovor na Stacku. Ako je to to, onda me sa cin objektom ne može ništa iznenaditi. Jedino još trebam razjasniti ovo sa cin.ignore()

 

2) Hvala.

 

3) Ne, to mi je već ušlo u naviku. Jednom u 50 puta zaboravim uključiti zaglavlje.

 

Jedno pitanje za zajebanciju, zašto se svaki ozbiljniji programer ruga onima koji pišu "using namespace std"? :D

&quot;Ne znan ja šta je to feminizam...&quot;-S. Vuco
10 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori

@Mrzim*Pokazivače

 

Fala za zbirku, ovako na brzaka, kad je već vrijeme za spavanje:

 

Učitani tekst se sprema u objekt, te standardna funkcija getline() učitava sav tekst do znaka za novi redak, a ne samo tekst do prve prazinine(slučaj kada se koristi operator >>)

 

cin.getline(string, duljina stringa) - učitava string u duljini kojoj si zadao iza prvog zareza. Uključujući i prazine.

 

cin.ignore() preskaču se znakovi na ulaznom toku. Prima 2 arugmenta: broj znakova koliko treba preskočiti, te znak kojim se preskanjanje znakova može prekinuti.

 

Pogledaj primjere po netu za te fje, bit će ti jasnije.

Panzerkampfwagen.Dinamo Zagreb.TMATIJA1.Leaving or dead, always ahead...
14 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
Mrzim*Pokazivače kaže...

 

Jedno pitanje za zajebanciju, zašto se svaki ozbiljniji programer ruga onima koji pišu "using namespace std"? :D

Valjda ne kuzim zajebanciju, ali nisam primijetio da se itko rugao zbog koristenja using namespace std-a.

Lack of money is the root of all evil. George Bernard Shaw
14 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Nitko se ne ruga, ali korištenje cijelog namespacea se ne smatra dobrom praksom.

Učitavanjem cijelog namespacea zbog samo nekoliko funkcija (npr. cin i cout), ucitavas sve sto je sadrzano u tom namespaceu. I ako u programu (slucajno) definiras neku funkciju koja ima isto ime kao i neka iz namespacea std, doci ce do problema.

 

Ako ti trebaju npr. samo cin i cout, mozes ih pokupiti pomocu using std::cin; i using std::cout;

 

 

 
2 0 hvala 1
6 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Pozdrav svima,evo tek sam se registrovao tu,pa ako trebam negdje drugo postat,usmjerite me ..

 

Naime,radim jedan zadatak sa nizovima,mislim da uopste zadatak nije tezak,al evo vec na samom startu sam zapeo..

 

Evo o cemu se radi,

 

Napisati program koji omogućava unos karaktera sve dok se ne popuni niz od 30 elemenata prema sljedećim pravilima:
     • Elementi niza mogu biti samo velika slova i brojevi,
Na prvi pogled mi je izgledalo jednostavno,al nikako ne mogu da postavim uslov kako treba,a da niz prima samo velika slova i brojeve ..
Da li neko moze pomoci ?
Stvarno bih bio zahvalan ako ko zna da pomogne :D :)

 

 
0 0 hvala 0
E-mail:
Lozinka:
 
vrh stranice