Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

C++ - greska prilikom pokretanja aplikacije

[es] :: C/C++ programiranje :: C/C++ za početnike :: C++ - greska prilikom pokretanja aplikacije

[ Pregleda: 2188 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

etfstudent
Podgorica

Član broj: 314421
Poruke: 95
*.crnagora.net.



+2 Profil

icon C++ - greska prilikom pokretanja aplikacije23.03.2014. u 18:51 - pre 122 meseci
Imam problem sa pokretanjem jedne jednostavne aplikacije. Evo code-a:

Code:
#include <iostream>

using namespace std;

class proba{
public:
proba();
~proba();
void postavi(int,int);
void promijeni(int);
int stampaj(int);
private:
int duzina;
int *element;
};

void proba::postavi(int a,int i){
element[i]=a;
}

void proba::promijeni(int i){
int *p;
p=element;
p[i]=p[i]+1;
}

int proba::stampaj(int i){
return element[i];
}

proba::proba(){
element = new int[duzina];
}

proba::~proba(){
delete [] element;
}

int main()
{
proba niz;
int duzina,i,a;
cout<<"Unesi duzinu niza: ";
cin>>duzina;
cout<<"Unesi elemente niza: ";
for(i=0;i<duzina;i++){
cin>>a;
niz.postavi(a,i);
}
cout<<"Unijeli ste niz: ";
for(i=0;i<duzina;i++){
cout<<" "<<niz.stampaj(i);
}
for(i=0;i<duzina;i++){
niz.promijeni(i);
}
cout<<"\nUneseni niz za 1 uvecan: ";
for(i=0;i<duzina;i++){
cout<<" "<<niz.stampaj(i);
}
}


Program uspjesno kompajlujem ali prilikom pokretanja dobijam ovu poruku
"terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information."
Da li neko zna sta moze biti uzrok?

 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1947
..106.109.adsl.dyn.beotel.net.

Sajt: stackoverflow.com/users/1..


+480 Profil

icon Re: C++ - greska prilikom pokretanja aplikacije23.03.2014. u 19:52 - pre 122 meseci
Code:
proba::proba(){
element = new int[duzina];
}


Nisi inicijalizovao polje `duzina`. Dakle, prvo sačekaj unos od korisnika, pa tek onda kreiraj objekat.

Code:
#include <iostream>

using namespace std;

class proba{
public:
proba(int pDuzina);
~proba();
void postavi(int,int);
void promijeni(int);
int stampaj(int);
private:
int duzina;
int *element;
};

void proba::postavi(int a,int i){
element[i]=a;
}

void proba::promijeni(int i){
int *p;
p=element;
p[i]=p[i]+1;
}

int proba::stampaj(int i){
return element[i];
}

proba::proba(int pDuzina){
duzina = pDuzina;
element = new int[duzina];
}

proba::~proba(){
delete [] element;
}

int main()
{

int duzina,i,a;
cout<<"Unesi duzinu niza: ";
cin>>duzina;

proba niz(duzina);

cout<<"Unesi elemente niza: ";
for(i=0;i<duzina;i++){
cin>>a;
niz.postavi(a,i);
}
cout<<"Unijeli ste niz: ";
for(i=0;i<duzina;i++){
cout<<" "<<niz.stampaj(i);
}
for(i=0;i<duzina;i++){
niz.promijeni(i);
}
cout<<"\nUneseni niz za 1 uvecan: ";
for(i=0;i<duzina;i++){
cout<<" "<<niz.stampaj(i);
}
}


Moguce je da ima jos gresaka, nisam gledao dalje.
 
Odgovor na temu

etfstudent
Podgorica

Član broj: 314421
Poruke: 95
*.crnagora.net.



+2 Profil

icon Re: C++ - greska prilikom pokretanja aplikacije23.03.2014. u 20:37 - pre 122 meseci
Ispravljeno. Zahvaljujem
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: C++ - greska prilikom pokretanja aplikacije

[ Pregleda: 2188 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.