In un programma che sto scrivendo in C ho una tabella di numeri interi chiamata "primi" che appunto contiene numeri primi. I numeri contenuti nella tabella sono 303 e per ogni coppia di numeri primi gemelli (numeri primi separati da due unità, ad esempio 5 e 7) devo escludere il maggiore. Non conoscendo alcun modo per eliminare effettivamente gli elmenti di una tabella (ne esiste qualcuno?) ho pensato di settare l'elemento della tabella corrispondente al numero più grande a 0 e più avanti nel programma, dove devo utilizzare i numeri primi, con una funzione if prendo solo i numeri diversi da 0. Questa è la funzione che ho scritto:Il programma viene compilato correttamente senza errori di sintassi, ma quando arriva all'esecuzione di questa funzione va in crash. Sono siuro che l'errore si trovi in queste linee di codice perchè escludendole il programma viene eseguito correttamente. Qualcuno può per favore dirmi dove sbaglio? Graziecodice:void eliminagemelli(){ for(w=0;w<=303;w++){ if(primi[w+1]==primi[w]+2) primi[w+1]=0; } }

Rispondi quotando