06/01/11 9:54
And_And92
Ciao a tutti,
premetto che mi sono appena iscritto al forum, e che sono un programmatore dilettante,quindi abbiate pazinza con me. Mi stavo trastullando con uno dei miei programmini, che riporto sotto, e con mia sorpresa, variabilmente dall'umore del computer, viene interrotta l'esecuzione del processo improvvisamente e windows mi avverte che c'è stato un errore irreversibile e che il programma verrà terminato.
Facendo il debug, bloodshed dev c++ mi dice che l'errore che si verifica è una violazione d'accesso (errore di frammentazione). Ho cercare di qua e di la nel web ma non ho trovato nulla che riguardasse il mio problema.
Mi sono dimenticato di dire che il programma viene compilato normalmente, non appaiono nemmeno warning.
La mia domanda è:
1)è possibile che l'errore si verifichi solo nel mio pc? (cosa che dubito)
2)se la 1) e falsa, dove sbaglio? Grazie mille a chiunque risponda.
Mi scuso infinitamente per l'assenza di indentazione .
Grazie a tutti!
premetto che mi sono appena iscritto al forum, e che sono un programmatore dilettante,quindi abbiate pazinza con me. Mi stavo trastullando con uno dei miei programmini, che riporto sotto, e con mia sorpresa, variabilmente dall'umore del computer, viene interrotta l'esecuzione del processo improvvisamente e windows mi avverte che c'è stato un errore irreversibile e che il programma verrà terminato.
Facendo il debug, bloodshed dev c++ mi dice che l'errore che si verifica è una violazione d'accesso (errore di frammentazione). Ho cercare di qua e di la nel web ma non ho trovato nulla che riguardasse il mio problema.
Mi sono dimenticato di dire che il programma viene compilato normalmente, non appaiono nemmeno warning.
La mia domanda è:
1)è possibile che l'errore si verifichi solo nel mio pc? (cosa che dubito)
2)se la 1) e falsa, dove sbaglio? Grazie mille a chiunque risponda.
Mi scuso infinitamente per l'assenza di indentazione .
Grazie a tutti!
#include<iostream> #include<fstream> #include<string.h> #include<conio.h> using namespace std; #define n 10000000 int menu(); void crea_primi(); void raddoppia_primi(); main() { switch(menu()) { case 1: cin.ignore(); crea_primi(); break; case 2: cin.ignore(); raddoppia_primi(); break; } } int menu() { int R; do { cout<<"Cosa vuoi fare?"<<endl; cout<<"---------------"<<endl; cout<<"1- Per creare un database di primi premi [1]"<<endl<<endl; cout<<"2- Per raddoppiare il numero di primi della lista premi [2]"<<endl<<endl; cout<<"---------------"<<endl; cin>>R; system("cls"); }while((R!=1)&&(R!=2)&&(R!=3)&&(R!=4)); return R; } void crea_primi() { long int j,i,N,z,temp; int v[n],conta; bool primo[n]; float a; char s[n],t[n]; cout<<"Come si deve chiamare il file dove finiranno i primi?"<<endl; cin.getline(s,n); s[strlen(s)]='.'; s[strlen(s)]='t'; s[strlen(s)]='x'; s[strlen(s)]='t'; s[strlen(s)]='Ciao a tutti,
premetto che mi sono appena iscritto al forum, e che sono un programmatore dilettante,quindi abbiate pazinza con me. Mi stavo trastullando con uno dei miei programmini, che riporto sotto, e con mia sorpresa, variabilmente dall'umore del computer, viene interrotta l'esecuzione del processo improvvisamente e windows mi avverte che c'è stato un errore irreversibile e che il programma verrà terminato.
Facendo il debug, bloodshed dev c++ mi dice che l'errore che si verifica è una violazione d'accesso (errore di frammentazione). Ho cercare di qua e di la nel web ma non ho trovato nulla che riguardasse il mio problema.
Mi sono dimenticato di dire che il programma viene compilato normalmente, non appaiono nemmeno warning.
La mia domanda è:
1)è possibile che l'errore si verifichi solo nel mio pc? (cosa che dubito)
2)se la 1) e falsa, dove sbaglio? Grazie mille a chiunque risponda.
Mi scuso infinitamente per l'assenza di indentazione .
Grazie a tutti!
#include<iostream> #include<fstream> #include<string.h> #include<conio.h> using namespace std; #define n 10000000 int menu(); void crea_primi(); void raddoppia_primi(); main() { switch(menu()) { case 1: cin.ignore(); crea_primi(); break; case 2: cin.ignore(); raddoppia_primi(); break; } } int menu() { int R; do { cout<<"Cosa vuoi fare?"<<endl; cout<<"---------------"<<endl; cout<<"1- Per creare un database di primi premi [1]"<<endl<<endl; cout<<"2- Per raddoppiare il numero di primi della lista premi [2]"<<endl<<endl; cout<<"---------------"<<endl; cin>>R; system("cls"); }while((R!=1)&&(R!=2)&&(R!=3)&&(R!=4)); return R; } void crea_primi() { long int j,i,N,z,temp; int v[n],conta; bool primo[n]; float a; char s[n],t[n]; cout<<"Come si deve chiamare il file dove finiranno i primi?"<<endl; cin.getline(s,n); s[strlen(s)]='.'; s[strlen(s)]='t'; s[strlen(s)]='x'; s[strlen(s)]='t'; s[strlen(s)]='{parsed_message}'; system("cls"); a=0; do {//1 cout<<"Fino a che numero vuoi visualizzare numeri primi?"<<endl; cin>>N; if(N>n) {//2 cout<<"Impossible superare il "<<n; system("cls"); }//2 }while(N>n);//1 for(i=0;i<N;i++) {//1 primo[i]=true; }//1 for(i=2;i<N;i++) {//1 if(primo[i]!=false) {//2 for(j=2;j<=int(i/2);j++) {//3 if(i%j==0) {//4 primo[i]=false; }//4 }//3 if(primo[i]==true) {//3 v[conta]=i; conta=conta+1; }//3 } else {//3 for(z=0;(i*z)<N;z++) {//3 primo[(i*z)]=false; }//3 } } ofstream Stampa(s); for(i=0;i<conta;i++) { Stampa<<v[i]<<endl; } Stampa.close(); } void raddoppia_primi() {//0 long int q,i,j,conta,m,v[n]; char s[n],t[n]; bool a,diviso; do {//1 for(i=0;i<n;i++) { s[i]=0; } system("cls"); cout<<"Come si deve chiamare il file da cui prelevare i primi?"<<endl; cin.getline(s,n); s[strlen(s)]='.'; s[strlen(s)]='t'; s[strlen(s)]='x'; s[strlen(s)]='t'; s[strlen(s)]='{parsed_message}'; ifstream Leggi(s); a=!Leggi; }while(a==true);//1 cout<<"Come si deve chiamare il file dove finiranno i primi?"<<endl; cin.getline(t,n); t[strlen(t)]='.'; t[strlen(t)]='t'; t[strlen(t)]='x'; t[strlen(t)]='t'; t[strlen(t)]='{parsed_message}'; getch(); ifstream Leggi(s); ofstream Stampa(t); do {//1 Leggi>>v[conta]; Stampa<<v[conta]<<endl;; conta=conta+1; }while(!Leggi.eof());//1 for(i=v[conta]+1;i<2*v[conta]-2;i++) { for(j=0;j<conta;j++) { if(i%v[j]==0) { Stampa<<i<<endl; } } } Leggi.close(); Stampa.close(); }//0'; system("cls"); a=0; do {//1 cout<<"Fino a che numero vuoi visualizzare numeri primi?"<<endl; cin>>N; if(N>n) {//2 cout<<"Impossible superare il "<<n; system("cls"); }//2 }while(N>n);//1 for(i=0;i<N;i++) {//1 primo[i]=true; }//1 for(i=2;i<N;i++) {//1 if(primo[i]!=false) {//2 for(j=2;j<=int(i/2);j++) {//3 if(i%j==0) {//4 primo[i]=false; }//4 }//3 if(primo[i]==true) {//3 v[conta]=i; conta=conta+1; }//3 } else {//3 for(z=0;(i*z)<N;z++) {//3 primo[(i*z)]=false; }//3 } } ofstream Stampa(s); for(i=0;i<conta;i++) { Stampa<<v[i]<<endl; } Stampa.close(); } void raddoppia_primi() {//0 long int q,i,j,conta,m,v[n]; char s[n],t[n]; bool a,diviso; do {//1 for(i=0;i<n;i++) { s[i]=0; } system("cls"); cout<<"Come si deve chiamare il file da cui prelevare i primi?"<<endl; cin.getline(s,n); s[strlen(s)]='.'; s[strlen(s)]='t'; s[strlen(s)]='x'; s[strlen(s)]='t'; s[strlen(s)]='Ciao a tutti,
premetto che mi sono appena iscritto al forum, e che sono un programmatore dilettante,quindi abbiate pazinza con me. Mi stavo trastullando con uno dei miei programmini, che riporto sotto, e con mia sorpresa, variabilmente dall'umore del computer, viene interrotta l'esecuzione del processo improvvisamente e windows mi avverte che c'è stato un errore irreversibile e che il programma verrà terminato.
Facendo il debug, bloodshed dev c++ mi dice che l'errore che si verifica è una violazione d'accesso (errore di frammentazione). Ho cercare di qua e di la nel web ma non ho trovato nulla che riguardasse il mio problema.
Mi sono dimenticato di dire che il programma viene compilato normalmente, non appaiono nemmeno warning.
La mia domanda è:
1)è possibile che l'errore si verifichi solo nel mio pc? (cosa che dubito)
2)se la 1) e falsa, dove sbaglio? Grazie mille a chiunque risponda.
Mi scuso infinitamente per l'assenza di indentazione .
Grazie a tutti!
#include<iostream> #include<fstream> #include<string.h> #include<conio.h> using namespace std; #define n 10000000 int menu(); void crea_primi(); void raddoppia_primi(); main() { switch(menu()) { case 1: cin.ignore(); crea_primi(); break; case 2: cin.ignore(); raddoppia_primi(); break; } } int menu() { int R; do { cout<<"Cosa vuoi fare?"<<endl; cout<<"---------------"<<endl; cout<<"1- Per creare un database di primi premi [1]"<<endl<<endl; cout<<"2- Per raddoppiare il numero di primi della lista premi [2]"<<endl<<endl; cout<<"---------------"<<endl; cin>>R; system("cls"); }while((R!=1)&&(R!=2)&&(R!=3)&&(R!=4)); return R; } void crea_primi() { long int j,i,N,z,temp; int v[n],conta; bool primo[n]; float a; char s[n],t[n]; cout<<"Come si deve chiamare il file dove finiranno i primi?"<<endl; cin.getline(s,n); s[strlen(s)]='.'; s[strlen(s)]='t'; s[strlen(s)]='x'; s[strlen(s)]='t'; s[strlen(s)]='{parsed_message}'; system("cls"); a=0; do {//1 cout<<"Fino a che numero vuoi visualizzare numeri primi?"<<endl; cin>>N; if(N>n) {//2 cout<<"Impossible superare il "<<n; system("cls"); }//2 }while(N>n);//1 for(i=0;i<N;i++) {//1 primo[i]=true; }//1 for(i=2;i<N;i++) {//1 if(primo[i]!=false) {//2 for(j=2;j<=int(i/2);j++) {//3 if(i%j==0) {//4 primo[i]=false; }//4 }//3 if(primo[i]==true) {//3 v[conta]=i; conta=conta+1; }//3 } else {//3 for(z=0;(i*z)<N;z++) {//3 primo[(i*z)]=false; }//3 } } ofstream Stampa(s); for(i=0;i<conta;i++) { Stampa<<v[i]<<endl; } Stampa.close(); } void raddoppia_primi() {//0 long int q,i,j,conta,m,v[n]; char s[n],t[n]; bool a,diviso; do {//1 for(i=0;i<n;i++) { s[i]=0; } system("cls"); cout<<"Come si deve chiamare il file da cui prelevare i primi?"<<endl; cin.getline(s,n); s[strlen(s)]='.'; s[strlen(s)]='t'; s[strlen(s)]='x'; s[strlen(s)]='t'; s[strlen(s)]='{parsed_message}'; ifstream Leggi(s); a=!Leggi; }while(a==true);//1 cout<<"Come si deve chiamare il file dove finiranno i primi?"<<endl; cin.getline(t,n); t[strlen(t)]='.'; t[strlen(t)]='t'; t[strlen(t)]='x'; t[strlen(t)]='t'; t[strlen(t)]='{parsed_message}'; getch(); ifstream Leggi(s); ofstream Stampa(t); do {//1 Leggi>>v[conta]; Stampa<<v[conta]<<endl;; conta=conta+1; }while(!Leggi.eof());//1 for(i=v[conta]+1;i<2*v[conta]-2;i++) { for(j=0;j<conta;j++) { if(i%v[j]==0) { Stampa<<i<<endl; } } } Leggi.close(); Stampa.close(); }//0'; ifstream Leggi(s); a=!Leggi; }while(a==true);//1 cout<<"Come si deve chiamare il file dove finiranno i primi?"<<endl; cin.getline(t,n); t[strlen(t)]='.'; t[strlen(t)]='t'; t[strlen(t)]='x'; t[strlen(t)]='t'; t[strlen(t)]='Ciao a tutti,
premetto che mi sono appena iscritto al forum, e che sono un programmatore dilettante,quindi abbiate pazinza con me. Mi stavo trastullando con uno dei miei programmini, che riporto sotto, e con mia sorpresa, variabilmente dall'umore del computer, viene interrotta l'esecuzione del processo improvvisamente e windows mi avverte che c'è stato un errore irreversibile e che il programma verrà terminato.
Facendo il debug, bloodshed dev c++ mi dice che l'errore che si verifica è una violazione d'accesso (errore di frammentazione). Ho cercare di qua e di la nel web ma non ho trovato nulla che riguardasse il mio problema.
Mi sono dimenticato di dire che il programma viene compilato normalmente, non appaiono nemmeno warning.
La mia domanda è:
1)è possibile che l'errore si verifichi solo nel mio pc? (cosa che dubito)
2)se la 1) e falsa, dove sbaglio? Grazie mille a chiunque risponda.
Mi scuso infinitamente per l'assenza di indentazione .
Grazie a tutti!
#include<iostream> #include<fstream> #include<string.h> #include<conio.h> using namespace std; #define n 10000000 int menu(); void crea_primi(); void raddoppia_primi(); main() { switch(menu()) { case 1: cin.ignore(); crea_primi(); break; case 2: cin.ignore(); raddoppia_primi(); break; } } int menu() { int R; do { cout<<"Cosa vuoi fare?"<<endl; cout<<"---------------"<<endl; cout<<"1- Per creare un database di primi premi [1]"<<endl<<endl; cout<<"2- Per raddoppiare il numero di primi della lista premi [2]"<<endl<<endl; cout<<"---------------"<<endl; cin>>R; system("cls"); }while((R!=1)&&(R!=2)&&(R!=3)&&(R!=4)); return R; } void crea_primi() { long int j,i,N,z,temp; int v[n],conta; bool primo[n]; float a; char s[n],t[n]; cout<<"Come si deve chiamare il file dove finiranno i primi?"<<endl; cin.getline(s,n); s[strlen(s)]='.'; s[strlen(s)]='t'; s[strlen(s)]='x'; s[strlen(s)]='t'; s[strlen(s)]='{parsed_message}'; system("cls"); a=0; do {//1 cout<<"Fino a che numero vuoi visualizzare numeri primi?"<<endl; cin>>N; if(N>n) {//2 cout<<"Impossible superare il "<<n; system("cls"); }//2 }while(N>n);//1 for(i=0;i<N;i++) {//1 primo[i]=true; }//1 for(i=2;i<N;i++) {//1 if(primo[i]!=false) {//2 for(j=2;j<=int(i/2);j++) {//3 if(i%j==0) {//4 primo[i]=false; }//4 }//3 if(primo[i]==true) {//3 v[conta]=i; conta=conta+1; }//3 } else {//3 for(z=0;(i*z)<N;z++) {//3 primo[(i*z)]=false; }//3 } } ofstream Stampa(s); for(i=0;i<conta;i++) { Stampa<<v[i]<<endl; } Stampa.close(); } void raddoppia_primi() {//0 long int q,i,j,conta,m,v[n]; char s[n],t[n]; bool a,diviso; do {//1 for(i=0;i<n;i++) { s[i]=0; } system("cls"); cout<<"Come si deve chiamare il file da cui prelevare i primi?"<<endl; cin.getline(s,n); s[strlen(s)]='.'; s[strlen(s)]='t'; s[strlen(s)]='x'; s[strlen(s)]='t'; s[strlen(s)]='{parsed_message}'; ifstream Leggi(s); a=!Leggi; }while(a==true);//1 cout<<"Come si deve chiamare il file dove finiranno i primi?"<<endl; cin.getline(t,n); t[strlen(t)]='.'; t[strlen(t)]='t'; t[strlen(t)]='x'; t[strlen(t)]='t'; t[strlen(t)]='{parsed_message}'; getch(); ifstream Leggi(s); ofstream Stampa(t); do {//1 Leggi>>v[conta]; Stampa<<v[conta]<<endl;; conta=conta+1; }while(!Leggi.eof());//1 for(i=v[conta]+1;i<2*v[conta]-2;i++) { for(j=0;j<conta;j++) { if(i%v[j]==0) { Stampa<<i<<endl; } } } Leggi.close(); Stampa.close(); }//0'; getch(); ifstream Leggi(s); ofstream Stampa(t); do {//1 Leggi>>v[conta]; Stampa<<v[conta]<<endl;; conta=conta+1; }while(!Leggi.eof());//1 for(i=v[conta]+1;i<2*v[conta]-2;i++) { for(j=0;j<conta;j++) { if(i%v[j]==0) { Stampa<<i<<endl; } } } Leggi.close(); Stampa.close(); }//0
Ultima modifica effettuata da And_And92 06/01/11 10:03
aaa