[C++] - Segmentation fault
Moderator/ica: Moderatori/ce
Pravila foruma
U naslovu teme unutar uglatih zagrada navesti o kojem jeziku je riječ. Primjer: [Java]
U naslovu teme unutar uglatih zagrada navesti o kojem jeziku je riječ. Primjer: [Java]
- DŽINGIS KAN
- Postovi: 132
- Pridružen/a: 03 sij 2009, 20:47
- Spol: M
- OS: ORACLE SOLARIS 11.1
[C++] - Segmentation fault
Kod izrade polja (jednodimenzionalnih i višedimenzionalnih), u terminalu se ispiše Segmentation fault umjesto da se izvrti program.
U polje se učitavaju slučajni brojevi - tipa int sa srand i rand().
Sad mi nije jasno - na windowsima taj isti program radi (u školi, doma ih nemam), a na Linux-u neće, tj. javlja se navedena greška. Išao sam na wiki, ali mi nije baš jasno u čemu je štos.
Programe pišem u Code::Blocks IDE.
Ima li tko viziju?
U polje se učitavaju slučajni brojevi - tipa int sa srand i rand().
Sad mi nije jasno - na windowsima taj isti program radi (u školi, doma ih nemam), a na Linux-u neće, tj. javlja se navedena greška. Išao sam na wiki, ali mi nije baš jasno u čemu je štos.
Programe pišem u Code::Blocks IDE.
Ima li tko viziju?
- nicky
- Site Admin
- Postovi: 2074
- Pridružen/a: 07 pro 2007, 16:30
- Spol: Ž
- OS: ubuntu 12.04
- Lokacija: Zagreb
Re: [C++] - Segmentation fault
Ukratko, imaš pointer koji leti izvan ograničenja. Pošalji mi kod pa ćemo otkrit grešku.
Re: [C++] - Segmentation fault
Osim ako ne pišeš kod pod prisegom tajnosti, stavi ga na neki pastebin i linkaj ovdje, ponestalo mi melangea.
- DŽINGIS KAN
- Postovi: 132
- Pridružen/a: 03 sij 2009, 20:47
- Spol: M
- OS: ORACLE SOLARIS 11.1
Re: [C++] - Segmentation fault
Znači, ja unesem broj članova polja, a program ih treba ispisati.
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
main()
{
int n, i;
int polje ;
cout << "Unesi broj članova polja: ";
cin >> n;
if (n>100)
cout << "Krivi unos"<<endl;
else
{
srand(time(NULL));
for (i=0; i<n; i++)
{
polje =rand();
cout << polje << endl;
}
}
}
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
main()
{
int n, i;
int polje ;
cout << "Unesi broj članova polja: ";
cin >> n;
if (n>100)
cout << "Krivi unos"<<endl;
else
{
srand(time(NULL));
for (i=0; i<n; i++)
{
polje =rand();
cout << polje << endl;
}
}
}
Re: [C++] - Segmentation fault
ako ti je iostream isto biblioteka, onda ti i za nju triba bit <iostream.h>
- DŽINGIS KAN
- Postovi: 132
- Pridružen/a: 03 sij 2009, 20:47
- Spol: M
- OS: ORACLE SOLARIS 11.1
Re: [C++] - Segmentation fault
E ja ne bi reko.Shicy je napisao/la:ako ti je iostream isto biblioteka, onda ti i za nju triba bit <iostream.h>
Ide samo <iostream>
-
The Acacia Strain
- Postovi: 1464
- Pridružen/a: 12 kol 2008, 00:06
- Spol: M
Re: [C++] - Segmentation fault
makneš using namespace std; i onda možeš koristii onaj .h dodatak u iostream bibilioteciDŽINGIS KAN je napisao/la:E ja ne bi reko.Shicy je napisao/la:ako ti je iostream isto biblioteka, onda ti i za nju triba bit <iostream.h>
Ide samo <iostream>
i kako to da na kraju nema nešto kao system pause; i return 0;, tako da kada želiš dobiti rješenje programa da ti ekran samo ne zabljesne, već da ti pritiskom bilo koje tipke ugasiš...
nisam dugo radio u C++, pa sam možda nešto pomiješao
- DŽINGIS KAN
- Postovi: 132
- Pridružen/a: 03 sij 2009, 20:47
- Spol: M
- OS: ORACLE SOLARIS 11.1
Re: [C++] - Segmentation fault
Na windowsima treba system("PAUSE"); ili getch(); ovdje ne - ekran se normalno pojavi i ispiše navedenu grešku.
Re: [C++] - Segmentation fault
a ne znam, nisam programira u c++ -u...svojedobno sam se igra sa "običnim" C-om...
- nicky
- Site Admin
- Postovi: 2074
- Pridružen/a: 07 pro 2007, 16:30
- Spol: Ž
- OS: ubuntu 12.04
- Lokacija: Zagreb
Re: [C++] - Segmentation fault
DŽINGIS KAN je napisao/la:Znači, ja unesem broj članova polja, a program ih treba ispisati.
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
main()
{
int n, i;
int polje ;
cout << "Unesi broj članova polja: ";
cin >> n;
if (n>100)
cout << "Krivi unos"<<endl;
else
{
srand(time(NULL));
for (i=0; i<n; i++)
{
polje =rand();
cout << polje << endl;
}
}
}
Ako se ne varam, ti stvoriš polje veličine i ,a i ti nije nigdje definiran? Probaj definirat polje[100] i ići od i do 100 pa vidi dal se još uvijek javlja greška.
Probaj ispisat sizeof(polje) - veličina polja, neznam koja ti točno naredba treba,pa vidi što ti prog vrati.