Stranica: 1/4.
[C++] - Segmentation fault
Postano: 06 lis 2009, 15:16
Postao/la DŽINGIS KAN
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?
Re: [C++] - Segmentation fault
Postano: 06 lis 2009, 16:10
Postao/la nicky
Ukratko, imaš pointer koji leti izvan ograničenja. Pošalji mi kod pa ćemo otkrit grešku.
Re: [C++] - Segmentation fault
Postano: 06 lis 2009, 18:51
Postao/la jjj
Osim ako ne pišeš kod pod prisegom tajnosti, stavi ga na neki pastebin i linkaj ovdje, ponestalo mi melangea.
Re: [C++] - Segmentation fault
Postano: 07 lis 2009, 15:23
Postao/la DŽINGIS KAN
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;
}
}
}
Re: [C++] - Segmentation fault
Postano: 07 lis 2009, 15:32
Postao/la shicy
ako ti je iostream isto biblioteka, onda ti i za nju triba bit <iostream.h>
Re: [C++] - Segmentation fault
Postano: 07 lis 2009, 15:55
Postao/la DŽINGIS KAN
Shicy je napisao/la:ako ti je iostream isto biblioteka, onda ti i za nju triba bit <iostream.h>
E ja ne bi reko.
Ide samo <iostream>
Re: [C++] - Segmentation fault
Postano: 07 lis 2009, 16:06
Postao/la The Acacia Strain
DŽINGIS KAN je napisao/la:Shicy je napisao/la:ako ti je iostream isto biblioteka, onda ti i za nju triba bit <iostream.h>
E ja ne bi reko.
Ide samo <iostream>
makneš
using namespace std; i onda možeš koristii onaj
.h dodatak u
iostream bibilioteci
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

Re: [C++] - Segmentation fault
Postano: 07 lis 2009, 16:09
Postao/la DŽINGIS KAN
Na windowsima treba system("PAUSE"); ili getch(); ovdje ne - ekran se normalno pojavi i ispiše navedenu grešku.
Re: [C++] - Segmentation fault
Postano: 07 lis 2009, 16:25
Postao/la shicy
a ne znam, nisam programira u c++ -u...svojedobno sam se igra sa "običnim" C-om...
Re: [C++] - Segmentation fault
Postano: 07 lis 2009, 17:00
Postao/la nicky
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.