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

poruka: 7.285
|
čitano: 1.712.400
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
miller1985 kaže...

ja nisam budući programer nego sam instalirao drugi visual studio pa mi ovaj novi stalno izbacuje neke probleme 

 

a ništa prelazim na eclipse s kojim sam radio na faksu

Pretpostavio sam da si pocetnik (kad imas takva pitanja). Moja preporuka bi ti bila Qt Creator, nekako mi je taj IDE za C++ najbolje legao. Brz je, nije tezak (po megabajtima), jednostavan je za upotrebu, a mocan.

 

No, poanta je da je svejedno sto koristis, bitno je da citas koje su greske koje ti izbacuje i da adekvatno tome poduzmes korake, neovisno o IDE-u.

Perhaps today IS a good day to die. PREPARE FOR RAMMING SPEED!
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Pocetnik sam u smislu da sam to davno ucio na faksu. Da li sam sposoban ili ne to tebe ne treba biti briga. Ti bi trebao pomoci ako zelis.

Odustajem definitivno od programiranja. Idem u grafiku i 2d i 3d

*** nisam ovlašten da dajem potpis ***
Moj PC  
0 2 hvala 0
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
miller1985 kaže...
Pocetnik sam u smislu da sam to davno ucio na faksu. Da li sam sposoban ili ne to tebe ne treba biti briga. Ti bi trebao pomoci ako zelis.

Odustajem definitivno od programiranja. Idem u grafiku i 2d i 3d

Wtf? O kakvoj sad sposobnosti ti pricas? Gdje sam ista spomenuo o tome?

Kaj se imas uvrijediti ako ti netko kaze da si pocetnik, kvragu pa svi smo bili pocetnici na pocetku. Isuse kriste.

 

Jos samo reci da ti nismo probali pomoci, jesam li te lijepo upitao "Sto ti sad veli kao gresku? Kao buduci programer moras se nauciti citati greske koje ti kompajler izbacuje."?

Znaci pitao sam te sto ti sad izbaci kao gresku, jer dovraga nisam vidoviti milan (ili mislis da jesam?) i jos sam ti dao savjet da moras nauciti citati greske.

 

Ako ti toliko treba da odustanes od programiranja, mislim da je onda i bolje da odustanes, postedjet ces se muke.

Perhaps today IS a good day to die. PREPARE FOR RAMMING SPEED!
17 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
miller1985 kaže...

znači greška je ista

 

hvala

 

evo u čemu je problem

 Tu poruku VS ne daje kod obične greške u kodu, koju jesi napravio, ali nije samo do toga. Mi ne možemo na daljinu znati što je krivo napravljeno.

Pogledaj ovdje kako napraviti konzolnu aplikaciju

Isto je i u VS 2015

 

U krajnjem slučaju resetiraj VS

Tools -------- Import and export settings  .........   Reset all setings

 

Nisi jedini ovdje kojem su se ovakve stvari na početku ili nakon pauziranja događale, meni prvom, i vjerojatno svima drugima. Ništa neuobičajno, samo polako.

Poruka je uređivana zadnji put sub 13.2.2016 15:11 (Floki).
14 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Čemu nervoza? Čovjek nije sposoban pročitati grešku koju pokazuje prevoditelj. Zatim, ne razumije niti kada mu jasnim jezikom objasniš zašto je nastala grešaka, a ne razumije niti rješenje problema kada mu ga daš na dlanu (doslovno izbrisati 2 znaka!). Dakle, to nije za njega. I onda se još povrh svega ponaša bahato . Tako da, na neke ljude jednostavno ne treba gubiti vrijeme niti živce.

Moj PC  
1 0 hvala 1
15 godina
offline
Programiranje u C++-u - pitanja i odgovori

Zahvaljujem se kolega death_zombi

Znam da sam malo dosadan ali ubrzo imam ispit i imam jos 2 zadatka koji glase ovako:

Ulaz: Niz decimalnih brojeva. Unos se vrši sve dok se ne unese 0. Duljinu niza nije moguće unaporijed ograničiti. Nakon toga točku T.
Izlaz: Ispisati točku iz niza koja je najbliža zadanoj točki T. 65.1 32.2 45.6 2.3 75.2 34.2 54.4 0 42.6 3.4 62.8 -53.3 42.4 37.7 85.2 -37.8 47.5 73.3 64.4 33.7 57.7 45.6 46.2 46.7 74.2 73.8 64.5 26.6 32.8 45.3 95.9 77.6 0 0 88.4 32.5 rjesenje 75.2 34.2

edit: uspio riješiti zadatak.

#include <iostream>
#include <cmath>
using namespace std;

int main () {
int a = 0, brojac=0;
float *x = new float[1000];
float *y = new float[1000];
float x1,y1;
do{
cout << "Unesite tocku x[" << a << "]: ";
cin >> x[a];
cout << "Unesite tocku y[" << a << "]: ";
cin >> y[a];
a++;
brojac++;
}while(x[a-1] != 0 || y[a-1] != 0);
cout << "\n ------------ISPIS TOCAKA------------ \n";
for (int i=0; i<brojac; i++) {
cout << "Tocka x[" << i << "]: " << x[i];
cout << "\nTocka y[" << i << "]: " << y[i]<<endl;
}
cout << "Unesite tocku T(x,y): ";
cin >> x1 >> y1;
float min1 = x[0];
float min2 = y[0];
float u;
float pom = sqrt(pow(x[0]- x1,2) + pow(y[0]-y1,2));
for (int i = 0; i<brojac; i++){
u = sqrt(pow(x[i]- x1,2) + pow(y[i]-y1,2));
if(pom>=u){
min1 = x[i];
min2 = y[i];
}
}
cout << min1 << endl << min2;
return 0;
}

 

 

Ulaz: U i riječ R.

Izlaz: Otvoriti tekstualnu datoteku čije je ime na u stringu U. Izbrojati koliko se puta javlja riječ R u datoteci. Pri tome treba brojati sve riječi, bez obzira sadrže li velika ili mala slova

edit: kako napraviti sa for petljama da mi broji velika i mala slova, tj da promjeni, probao sam kao sto je u komentaru ali ne radi:/

 

#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
int main()
{
cout << "Unesite naziv datoteke: ";
string naziv;
cin >> naziv;
ifstream datoteka( naziv.c_str());
if(datoteka.is_open())
{
cout << "Datoteka '" << naziv << "' otvorena.\n";
cout << "Upisite rijec koju trazite: ";
string rijec;
cin >> rijec;
string pomocna;
int brojac = 0;
string trazena_r;
while(datoteka >> trazena_r)
{
/* for(int i = 0; i<= 7; i++){
if((int)rijec[i]>=65 || (int)rijec[i]<=90)
pomocna[i]=+32;
cout << pomocna;
if(pomocna == trazena_r) ++brojac;
if((int)rijec[i]>=97 || (int)rijec[i]<=122)
pomocna[i]=-32;
cout << pomocna;
if(pomocna == trazena_r) ++brojac;
}*/
if(rijec == trazena_r) ++brojac;
if(pomocna == trazena_r) ++brojac;
}

cout << "Rijec '" << rijec << "' se u tekstu javlja " << brojac << " puta.\n";
}

else
{
cout << "Datoteka nije pronadjena!\n";
return 1;
}
}

 

 

 

 

Poruka je uređivana zadnji put ned 14.2.2016 20:24 (Sheeva).
Moj PC  
0 0 hvala 0
17 godina
offline
Programiranje u C++-u - pitanja i odgovori

Kod tog prvog ne zaustavlja se unos nakon što se unese 0, nego se trebaju unijeti dvije nule.

Što uopće traže nije mi jasno, govore o unosu decimalnih brojeva a ne točaka. Može se shvatiti da su susjedni brojevi i i i + 1 x i y vrijednosti točke T, a može se shvatiti da od kombinacija unesenih brojeva traže da se naprave točke.

Ako pođemo od prve mogućnosti, trebamo unijeti paran broj brojeva i na pretposljednjem ili posljednjem mjestu u nizu bi bila 0 , kad bi prekinuli unos.

 

Ovako

 

 

#include <iostream>
#include <vector>
#include <cmath>
using namespace std;

struct Tocka
{
   double x;
   double y;
};
int main() {
   double a, b;
   vector<double> V;
   do
   {
      cin >> a;
      cin >> b;
      V.push_back(a);
      V.push_back(b);
   } while (a != 0 && b != 0);
   cout << "Unesi tocku T: ";
   Tocka T;
   cin >> T.x >> T.y;
   double xd, yd, udaljenost, index;
   xd = V[0] - T.x;
   yd = V[1] - T.y;
   udaljenost = sqrt(xd*xd + yd*yd);
   index = 0;
   for (int i = 2; i < V.size(); i+=2)
   {
      xd = V[i] - T.x;
      yd = V[i + 1] - T.y;
      int temp = sqrt(xd*xd + yd*yd);
      if (udaljenost > temp)
      {
         udaljenost = temp;
         index = i;
      }
   }
   cout << V[index] << " " << V[index + 1] << endl;
   return 0;
}

Poruka je uređivana zadnji put ned 14.2.2016 21:20 (Floki).
 
1 0 hvala 1
9 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Zanima me, kako je moguce napraviti poseban popup context menu kad se desnim klikom odabere odredeni element na web stranici.

Nemam bas puno iskustva u C++ (osim osnova), vec samo u JS/CSS, a pokusavam napravit neki mali dekstop app.

 
0 0 hvala 0
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
banderaa kaže...

Zanima me, kako je moguce napraviti poseban popup context menu kad se desnim klikom odabere odredeni element na web stranici.

Nemam bas puno iskustva u C++ (osim osnova), vec samo u JS/CSS, a pokusavam napravit neki mali dekstop app.

Koji GUI framework koristis?

Perhaps today IS a good day to die. PREPARE FOR RAMMING SPEED!
17 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
Sheeva kaže...

Ulaz: U i riječ R.

Izlaz: Otvoriti tekstualnu datoteku čije je ime na u stringu U. Izbrojati koliko se puta javlja riječ R u datoteci. Pri tome treba brojati sve riječi, bez obzira sadrže li velika ili mala slova

edit: kako napraviti sa for petljama da mi broji velika i mala slova, tj da promjeni, probao sam kao sto je u komentaru ali ne radi:/

 

#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
int main()
{
cout << "Unesite naziv datoteke: ";
string naziv;
cin >> naziv;
ifstream datoteka( naziv.c_str());
if(datoteka.is_open())
{
cout << "Datoteka '" << naziv << "' otvorena.\n";
cout << "Upisite rijec koju trazite: ";
string rijec;
cin >> rijec;
string pomocna;
int brojac = 0;
string trazena_r;
while(datoteka >> trazena_r)
{
/* for(int i = 0; i<= 7; i++){
if((int)rijec[i]>=65 || (int)rijec[i]<=90)
pomocna[i]=+32;
cout << pomocna;
if(pomocna == trazena_r) ++brojac;
if((int)rijec[i]>=97 || (int)rijec[i]<=122)
pomocna[i]=-32;
cout << pomocna;
if(pomocna == trazena_r) ++brojac;
}*/
if(rijec == trazena_r) ++brojac;
if(pomocna == trazena_r) ++brojac;
}

cout << "Rijec '" << rijec << "' se u tekstu javlja " << brojac << " puta.\n";
}

else
{
cout << "Datoteka nije pronadjena!\n";
return 1;
}
}

 

 

 

 

Zašto ne koristiš string objekte klase string iz C++ kad već otvaraš i zatvaraš datoteku sa objektima klase fstream iz C++. Ti si ondje pogrešno kombinirao operator pridruživanja i zbrajanja i napisao =+ umjesto +=

 

#include <iostream>
#include <string>
#include <fstream>
using namespace std;


int main() {
   
   int brojac = 0;
   ifstream citaj;
   string rijec;
   string test = "pas";
   citaj.open("text.txt");
   while (!citaj.eof())
   {
      citaj >> rijec;
      for (int i = 0; i < rijec.size(); i++)
      {
         if (rijec[i] >= 65 && rijec[i] <= 90)  rijec[i] += 32;
      }
      if (rijec == test) brojac++;
      
   }
   citaj.close();
   cout << brojac << endl;
   return 0;
}

Poruka je uređivana zadnji put uto 16.2.2016 13:21 (Floki).
9 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Cao,

 

ako mi neko može pomoć.... 

 

zadatak je npr. unesi x. izracunaj blabla... ponavljaj dok se ne unese x = 0.

 

Kako da postavim da mi se ponavlja do unosa 0 ?

 

Hvala 

 
0 0 hvala 0
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
mpoki kaže...

Cao,

 

ako mi neko može pomoć.... 

 

zadatak je npr. unesi x. izracunaj blabla... ponavljaj dok se ne unese x = 0.

 

Kako da postavim da mi se ponavlja do unosa 0 ?

 

Hvala 

While petlja.

while (unos != 0) { bla bla }

 

Prevedeno: dok je unos razlicit od nula radi { bla bla }.

Perhaps today IS a good day to die. PREPARE FOR RAMMING SPEED!
14 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Zdravo, imam pitanje.
Kako mogu odredit velicinu arraya koji je varijabla u funkciji?


void nesto((&imeArraya)[10])
{

}

 

Mogu li kako ovaj 10 odredit nekom varijablom, ili moram smislit nesto da zaobidem sve to? Varijabla bi se postavila jednom, ne bi se mijenjala.

Puno hvala 

http://luka-ivankovic.from.hr/
Moj PC  
1 0 hvala 0
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

void getnesto( int polje, int size = predefinirana vrijednost){

//ime polja je adresa prvog elementa polja ( netriba &)

//varijablu size koristi kao velicinu polja ako tribas prolazit kroz polje ( podrazumjevani argument)

}

Moj PC  
1 0 hvala 1
9 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Ćao ljudi. Ovako, imam jedan problem.

Naime, dat mi je zadatak u kojem trebam da upišem niz od 10 brojeva i program da ispisuje koje brojeve je korisnik upisao (različite brojeve samo), koliko ih je ukupno iii koliko je ukupno duplikata. Ovdje je moj kod, ali nije niz kao niz, nego sam input korisnika da unese koliko želi brojeva.

To sam našla na netu i ostatak zadatka sam sama uradila. Tačan je, može se kompajlirat, međutim, eto, meni treba niz[10]; a ne ovo što imam.

 

#include <iostream>
using namespace std;
int main () {

unsigned int n;
int brojac_duplikata = 0;
int brojac_zaBrojeve = 0;

cout << "Koliko brojeva zelis unijeti? ";
cin >> n;
const unsigned int c(n);
unsigned int a[c], b[c];

cout << "Pocni svoj unos: " << endl;
for(int i = 0; i < c; i++) {
cin >> a[i];
b[i] = 0;
}

cout << "Ovo su svi razliciti brojevi koje ste unijeli: ";

for(int i = 0; i < c; i++){
bool t(true);
for(int j = 0; j < i; j++)
if(a[j] == a[i]) {
t = false;
b[i] = a[i];
break;
}
if(t) {
cout << a[i] << " ";
brojac_zaBrojeve++;
}
else {
bool f(true);
for(int k = 0; k < i; k++)
if(b[k] == b[i]) {
f = false;
break;
}
if(f)
brojac_duplikata++;
}

}
if(brojac_duplikata != 0) {
cout << endl << "Ukupno duplikata je: " << brojac_duplikata << endl;
cout << "A ukupno razlicitih unesenih brojeva je: " << brojac_zaBrojeve << endl;
}
else
cout << "Nema brojeva koji se ponavljaju u unijetom nizu.";

return 0;

}

 
0 0 hvala 0
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
M_CWAL kaže...

Ćao ljudi. Ovako, imam jedan problem.

Naime, dat mi je zadatak u kojem trebam da upišem niz od 10 brojeva i program da ispisuje koje brojeve je korisnik upisao (različite brojeve samo), koliko ih je ukupno iii koliko je ukupno duplikata. Ovdje je moj kod, ali nije niz kao niz, nego sam input korisnika da unese koliko želi brojeva.

To sam našla na netu i ostatak zadatka sam sama uradila. Tačan je, može se kompajlirat, međutim, eto, meni treba niz[10]; a ne ovo što imam.

...

Prvo, formatiraj kod, nemoguce ga je ovako procitati.

Drugo, pa odgovor sto treba napraviti si si sama dala (hint: ovo sto sam ti boldao). Dakle, znas kako treba deklarirati polje od 10 clanova, samo to jos trebas u kodu napisati.

Perhaps today IS a good day to die. PREPARE FOR RAMMING SPEED!
9 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

I meni je kod zbunjujući, jer tražila sam na internetu rješenje i naiša na ovo. Ja sam izmjenila i dodala šta treba.

Za uvođenje niza ne znam šta da izbacim iz ovog koda. Šta god pokušam, rezultat je invalid operator itd. 

14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
M_CWAL kaže...

cout << "Koliko brojeva zelis unijeti? ";
cin >> n;
const unsigned int c(n);
unsigned int a[c], b[c];

Ovaj dio je u najmanju ruku sumnjiv jer ako već ideš ovim pristupom trebalo bi napraviti dinamičku alokaciju memorije jer se broj elemenata statičkog niza u pravilu definira cjelobrojnom konstantom. Tek neki compileri dopuštaju ovakvo nešto, za što nisam siguran da je po standardu uopće dopušteno.

 

M_CWAL kaže...

Ćao ljudi. Ovako, imam jedan problem.

Naime, dat mi je zadatak u kojem trebam da upišem niz od 10 brojeva i program da ispisuje koje brojeve je korisnik upisao (različite brojeve samo), koliko ih je ukupno iii koliko je ukupno duplikata. Ovdje je moj kod, ali nije niz kao niz, nego sam input korisnika da unese koliko želi brojeva.

To sam našla na netu i ostatak zadatka sam sama uradila. Tačan je, može se kompajlirat, međutim, eto, meni treba niz[10]; a ne ovo što imam.

 

Ako zadatak traži da upišeš niz od 10 brojeva to ne znači da program nužno treba te brojeve spremiti u niz[10]. Zapravo, ovaj zadatak bi bilo najjednostavnije riješiti mapom. S obzirom da je neki trud već pokazan evo i rješenja mapom.

 

#include <iostream>
#include <map>
using namespace std;

int main() {
   map<int, int> broj;
   int n, pom, duplikati = 0;

   cout << "Koliko brojeva: ";
   cin >> n;
   for (int i = 0; i < n; i++) {
      cout << "Unesi " << i + 1 << ". broj: ";
      cin >> pom;
      broj[pom]++;
   }
   cout << "Unijeli ste sljedece brojeve: ";
   for (auto it = broj.begin(); it != broj.end(); it++) {
      cout << it->first;
      if (it->second > 1)
         duplikati++;
   }
   cout << "\nUkupno brojeva: " << n << endl;
   cout << "Duplikata: " << duplikati << endl;
   return 0;
}

 

Iako, ako ćeš to ovako predati profesoru mislim da će u najmanju ruku biti sumnjičav zašto si izabrala ovaj pristup tako da vjerujem da će više od ovog rješenja imati koristi ostali na forumu..

Poruka je uređivana zadnji put uto 1.3.2016 20:09 (TracerCPP).
9 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Hvala neizmjernoooo !!! 

Neću prepisati isto ovako, jer nismo još učili do ovog "mapa", al' ovaj gore svok kod sam izmijenila dosta i ubacila sve što smo učili, tako da mi je i vaše rješenje u neku ruku pomoglo. 

 

Poruka je uređivana zadnji put uto 1.3.2016 20:12 (M_CWAL).
14 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Create a base class named Point consisting of x and y data members representing
point coordinates. From this class, derive a class named Circle with another data member
named radius. For this derived class, the x and y data members represent a circle’s center
coordinates. The member functions of the Point class should consist of a constructor, an
area() function that returns 0, and a distance() function that returns the distance between
two points, (x1, y1) and (x2, y2), where
distance =sqrt( (x - x )^2 + (y - y ) ^2) 
Additionally, the derived class should have a constructor and an override function named
area() that returns a circle’s area.

 

Ne shvacam ovaj dio koji trebam odraditi s djeljenom klasom Circle, šta mi ovdje tvori radijus kruga?

 

class Point
{
protected:
  double x;
  double y;
public:
  Point(double = 0.0, double = 0.0);
  double area();
  double distance(const Point&);
};

Point::Point(double X, double Y)
{
  x = X;
  y = Y;
}

double Point::area()
{
  return 0;
}

double Point::distance(const Point& point)
{
   return (sqrt((x - point.x) * (x - point.x) + ((y - point.y) * (y - point.y))));
}

class Circle : public Point
{
protected:

public:

};

 
0 0 hvala 0
14 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Update, evo radi mi samo ne znam je mi dobar način ili ima bolji da se dobije rješenje?

 

#include<iostream>
#include<cmath>

 using namespace std;

 const double PI = 2 * asin(1.0);

class Point
{
public:
  double x;
  double y;
public:
  Point(double = 0.0, double = 0.0);
  double area();
  double distance(const Point&);
};

Point::Point(double X, double Y)
{
  x = X;
  y = Y;
}

double Point::area()
{
  return 0;
}

double Point::distance(const Point& point)
{
  return (sqrt((x - point.x) * (x - point.x) + ((y - point.y) * (y - point.y))));
}

class Circle : public Point
{
protected:

public:
  Circle(double x, double y) : Point(x, y) {};
  double area(const Point& point);

};

double Circle::area(const Point& point)
{
  return (PI * ((x - point.x) * (x - point.x) + (y - point.y) * (y - point.y)));
}
int main()
{

  Point a(0, 0), b(1, 1);
  Circle c(1, 1);

  cout << "Distance from point A to point B is " << a.distance(b) << endl;
  cout << "Area of circle is " << c.area(a) << endl;

  return 0;
}

 
0 0 hvala 0
15 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori

Nedostaje ti podatkovni član koji predstavlja radijus u krugu, trebaš ga ubaciti i korigirati konstruktor. Također trebaš korigirati metodu za računanje površine kruga tako da radi s tim radijusom, a ne s proizvoljnom točkom koju joj daješ. Nije li logično da ako od objekta koji je krug zatražiš njegovu površinu, da nema potrebe da mu daješ neku točku kako bi to saznao?

 

 

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

Radijus i računanje površine nije dobro..

 

class Point {
public:
   double x, y;
   Point(double _x, double _y) : x(_x), y(_y) {}
   double area() { return 0; }
   double distance(const Point& p) {
      return sqrt((x - p.x) * (x - p.x) + ((y - p.y) * (y - p.y)));
   }
};
class Circle : public Point {
public:
   double radius;
   Circle(double x, double y, double _radius) : Point(x, y), radius(_radius) {}
   double area() { return radius * radius * 3.14; }
};

 

Ah, već odgovoreno

Poruka je uređivana zadnji put uto 1.3.2016 23:22 (TracerCPP).
17 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
M_CWAL kaže...

Ćao ljudi. Ovako, imam jedan problem.

Naime, dat mi je zadatak u kojem trebam da upišem niz od 10 brojeva i program da ispisuje koje brojeve je korisnik upisao (različite brojeve samo), koliko ih je ukupno iii koliko je ukupno duplikata. Ovdje je moj kod, ali nije niz kao niz, nego sam input korisnika da unese koliko želi brojeva.

To sam našla na netu i ostatak zadatka sam sama uradila. Tačan je, može se kompajlirat, međutim, eto, meni treba niz[10]; a ne ovo što imam.

 

 Zadatak ti je da nađeš one koji nisu duplikati, a broj duplikata dobiješ da od zadane veličine niza 10 oduzmeš broj onih koji nisu duplikati.

Broj nije duplikat ako sa njegove lijeve strane niza nema nijedan jednak njemu.

Ono Tracerovo ti ne bi baš prošlo kod profesora, jer bi te gospon profesor malo ispilao kako ono funkcionira, pa bi bilo veselo kad bi skužio da ne znaš.

 

#include <iostream>

using namespace std;


int main() {
   
   int niz[] = { 5, 4, 5, 2, 7, 4, 3, 9, 4, 9 };
   int razliciti = 1;
   bool duplikat;
   cout << niz[0] << " ";
   for (int i = 1; i < 10; i++)
   {
      duplikat = false;
      for (int j = 0; j < i; j++)
         if (niz[i] == niz[j])
            duplikat = true;
      if (!duplikat)
      {
         cout << niz[i] << " ";
         razliciti++;
      }
   }
   cout << "\nRazliciti: " << razliciti << endl;
   cout << "Duplikati: " << 10 - razliciti << endl;
   return 0;
}

Poruka je uređivana zadnji put sri 2.3.2016 21:10 (Floki).
14 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Pretpostavljam da neko zna odgovor. Zašto mi javlja problem prilikom prevođenja nekog koda koji sadrži: setlocale(LC_TYPE, "croatian");

Uključim i biblioteku clocale ali opet mi javlja grešku: error LC_TYPE was not declared in this scope.

Pokušavao sam naći i po drugim forumima, ali ništa nije pomoglo. Nadam se da će neko pomoći :D.

Hvala

 
0 0 hvala 0
9 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Zdravo 

Nadam se da mi neko može pomoći da otklonim ovaj problem. Ne mogu nikako da riješim zadatak kako god pokušam.

Znači, potrebno je da korisnik sa tastature unese niz od 10 brojeva. Nakon toga, program kao output izbaci koji su parni koji neparni.

I parni i neparni brojevi trebaju biti odmaknuti jedan od drugog po jedan razmak.

To sam sve uradila. Zadatak radi i kompajlira.

Ali, problem mi se stvara kada unesem npr. samo 10 neparnih brojeva ili samo 10 parnih brojeva - program izbaci viška teksta

(tj. npr. Odd numbers are: There is no odd numbers.

Even numbers are: bla bla )..

 

Znači treba mi ovo:

 

unos: 1 1 1 1 1 1 1 1 1 1

Odd numbers are: 1 1 1 1 1 1 1 1 1 1

There is no even numbers.

 

ili unos: 2 2 2 2 2 2 2 2 2 2 

Even numbers are: 2 2 2 2 2 2 2 2 2 2

There is no odd numbers

 

Tu je moj kod: 

 

#include <iostream>

using namespace std;

int main () {

int a[10];
bool odd=false;
bool even=false;

 

cout << "Input ten numbers and program will output all odd and all even numbers";


for (int i=0; i<10; i++) cin >> a[i];

 

 

cout << "Even numbers are: ";

for (int i=0; i<10; i++) {


  if (a[i]%2==0) {

    cout << a[i] << " ";

    even=true;

}
}

 


cout <<"Odd numbers are: ";


for (int i=0; i<10; i++) {


  if (a[i]%2!=0) {

   cout << a[i] <<" ";

  odd=true;

}

}

 

if (even ==false) cout <<"There is no even numbers";
if (odd == false) cout <<"There is no odd numbers";
return 0;
}

Poruka je uređivana zadnji put pet 4.3.2016 17:53 (M_CWAL).
 
0 0 hvala 0
13 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
M_CWAL kaže...

Zdravo 

...

 

Znači treba mi ovo:

 

unos: 1 1 1 1 1 1 1 1 1 1

Odd numbers are: 1 1 1 1 1 1 1 1 1 1

There is no even numbers.

 

ili unos: 2 2 2 2 2 2 2 2 2 2 

Even numbers are: 2 2 2 2 2 2 2 2 2 2

There is no odd numbers

 

Tu je moj kod: 

 

#include <iostream>

using namespace std;

int main () {

int a[10];
bool odd=false;
bool even=false;

 

cout << "Input ten numbers and program will output all odd and all even numbers";


for (int i=0; i<10; i++) cin >> a[i];

 

 

cout << "Even numbers are: ";

for (int i=0; i<10; i++) {


  if (a[i]%2==0) {

    cout << a[i] << " ";

    even=true;

}
}

 


cout <<"Odd numbers are: ";


for (int i=0; i<10; i++) {


  if (a[i]%2!=0) {

   cout << a[i] <<" ";

  odd=true;

}

}

 

if (even ==false) cout <<"There is no even numbers";
if (odd == false) cout <<"There is no odd numbers";
return 0;
}

 

Mislim da je u ovome problem. Tebi će se u svakom slučaju ispisati "Odd numbers are" bilo da ih ima ili ne. Ista stvar je i za parne brojeve.

E sad, nisam baš toliko dobar sa C++ (ali mislim da je sličan C-u), ali ja bi napravio 2 niza, jedan za parne i jedan za neparne, napravio jednu for petlju u kojoj bi razvrstavao parne i neparne te ih trpao u pripadajuća polja. Nakon toga bi samo sredio ispis

 

Nadam se da nisam fulao ;)

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

Kao što sam već napisala, program radi, njemu ne treba ništa dodavat što se tiče tog razvrstavanja. Samo ispis zeza.

Ako ga stavim izvan petlje, ispiše se svakako, a ako stavim u petlju, za svaki broj posebno izlazi ispis.

Smorih se oko ovog cijeli dan, zapela da riješim, a neće pa neće.   hahaha

Please help peopleee  :D

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

Čisto ja sumnjam da je ovo tvoj rad. S jedne strane pišeš for petlje a ne znaš napisati najobičniji if-else koji rješava ovaj problem, i to još "cijeli dan" se mučiš..

16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
M_CWAL kaže...

Kao što sam već napisala, program radi, njemu ne treba ništa dodavat što se tiče tog razvrstavanja. Samo ispis zeza.

Ako ga stavim izvan petlje, ispiše se svakako, a ako stavim u petlju, za svaki broj posebno izlazi ispis.

Smorih se oko ovog cijeli dan, zapela da riješim, a neće pa neće.   hahaha

Please help peopleee  :D

Znači da program ne radi kako bi trebao. Mislim da bi bilo bolje razvrstavati brojeve u 2 niza pa ih onda ispisivati ukoliko postoje ili ispisati da ne postoje.

 

Ako ne želiš to, možeš dodati u ovaj if u for-u novi if.

 

if(a[i]%2 == 0){

    if(even == false)

        cout << "Even numbers are:";

    cout << a[i] << " ";

    even = true;

}

 

To će osigurati da se najviše jednom ispiše "Even numbers are"

E-mail:
Lozinka:
 
vrh stranice