j'ai fait un programme sur les nombres premiers ,
mais le programme ne fonctionne pas , je pense qu'il y a un bug informatique !

un peu vite fait :

voici le programme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
 
 
#include <iostream>
#include <stdio.h>
 
 
 
 
 
 
 
int main (int argc, char**argv){
 
 
 
	int resultat=0;
	int tab_np[20];
	int tab_verif[20];
	int nombre=2;
	int index=0;
 
	int counter=0;
	int booel=0;
 
	int tour=0;
 
 
	for (int i=0;i<20;i++){
 
		tab_np[i]=0;
 
	}
 
 
 
	tab_np[0]=nombre;
 
 
	do{
 
		int t=0;
		nombre++;
 
		for(int i=0;i<=index;i++){
 
				t++;
 
				resultat=tab_np[i];
				if(tab_np[i]%nombre!=0){ //Bug informatique le résultat est toujours vrai 
 
				std::cout<<"nombre : "<<nombre<<" index : "<<index<<" i : "<<i<<" t : "<<t<<"tour : "<<tour<<std::endl;
				tour++;
			}
			std::cout<<" t: "<<t<<std::endl;
		}
 
 
		std::cout<<" tour sortie : "<<tour<<std::endl;
			booel=tour;
			for(int i=0;i<=index;i++){
 
 
 
 
				counter++;
 
				std::cout<<"booel : "<<booel<<" counter : "<<counter<<std::endl;
 
			}
 
			if(counter==booel){
 
				booel=0;
				counter=0;
				tour=0;
 
 
				tab_np[++index]=nombre;
 
				std::cout<<"nombre entre"<<" nombre : "<<nombre<<std::endl;
 
			}
 
 
 
 
 
		}while(nombre!=10);
 
 
		for(int i=0;i<20;i++){
 
			std::cout<<tab_np[i]<<"\t";
		}
 
 
 
 
 
 
 
 
 
 
		getchar();
 
	return 0;
}

voici le probleme de mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
if(tab_np[i]%nombre!=0){ //Bug informatique le résultat est toujours vrai
le resultat est toujours vrai quelque soit le nombre !

peut être que j'ai fait une erreur mais je ne vois ou est l'erreur .

merci !