bonjour les professionnelles
pouvez vous m expliquer cette erreur et merci d avance

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Exception de première chance à 0x00000000 dans test.exe*: 0xC0000005: Violation d'accès lors de la lecture de l'emplacement 0x00000000.
Exception de première chance à 0x00000000 dans test.exe*: 0xC0000005: Violation d'accès lors de la lecture de l'emplacement 0x00000000.
Exception non gérée à 0x00000000 dans test.exe*: 0xC0000005: Violation d'accès lors de la lecture de l'emplacement 0x00000000.
Le programme '[2396] test.exe: Natif' s'est arrêté avec le code 0 (0x0).
et voila mon code source:
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
#include <cstdlib> 
#include <fstream> 
#include <iostream> 
#include <string> 
#include "stdafx.h";
#include <stdio.h>      
#include <stdlib.h>     
#include <math.h>
using namespace std; 
 
double distance(double v1[], double v2[])
{
	double s=0;
	double res=0;
	double dif=0;
 
	for (int i=0; i<26; i++)
	{
		dif=abs(v1[i]-v2[0]);
		for (int j=1; j<26; j++)
		{
			if(abs(v1[i]-v2[j])<dif)
			{
				dif=abs(v1[i]-v2[j]);
			}
		}
		s=s+dif;
	}
	res=s/26;
	return res;
}
 
 
void copie(double mat[26][600],double v[],int ind)
{
 
	for(int i=0; i<26;i++)
	{
		v[i]=mat[i][ind];
	}
}
 
 
int main()
{
 
	double glob [26][600];
	double score [26][600];
 
 
 
 
 
	//Remplir le tableau glob par les vecteurs descripteurs 
	for(int x=0;x<600;x++)
	{
 
		char fil[265];
 
		sprintf(fil, "database/%d.txt", x);
		ifstream fichier(fil, ios::in);
 
		// on ouvre en lecture
 
		if(fichier)  // si l'ouverture a fonctionné
 
		{  
			for(int i=0;i<26;i++)
			{
				string contenu;  // déclaration d'une chaîne qui contiendra la ligne lue
				getline(fichier, contenu);  // on met dans "contenu" la ligne	
				glob[i][x]=atof(contenu.c_str());
 
			}
 
		}
		else
			cerr << "Impossible d'ouvrir le fichier !" << endl;
	}
	//////////////////////////////////////////////////////////////////////////////////////////////////
	//initialisation de tableau score
 
	for (int i=0; i<600; i++){
		for (int j=0; j<600; j++){
			score[i][j] = 0;
 
		}
	}
 
	//////////////////////////////////////////////////////////////////////////////////////////////////////////
 
	//calcule de distance ((valeur absolu (V1(i)-V2(i)/26)
 
	double d;
	double v1[26];
	double v2[26];
 
	for(int i=0; i<600; i++)
	{
		for(int j=0; j<600; j++)
		{
			if(i!=j)
			{
 
				copie(glob,v1,i);
				copie(glob,v2,j);
				d=distance(v1,v2);
				score[i][j]=d;
			}
		}
	}
 
 
	//////////////////////////////////////////////////////////////////////////////////////////////////////////////
	//écriture de tableau glob dans la ficher out.txt
	ofstream fichier1; 
	fichier1.open("out.txt", ios::out);
 
 
	if(fichier1)
 
	{
		for(int a=0; a<26; a++)
		{
			for(int b=0; b<600; b++)
			{
				fichier1 << glob[a][b]<<"    ";
 
			}
			fichier1 <<"\n";
		}
		fichier1.close();
	}
	/////////////////////////////////////////////////////////////////////////////////////////////////////////
 
	//écriture de tableau score dans la ficher score.matrix
	ofstream fichier2; 
	fichier2.open("score.matrix", ios::out);
 
 
	if(fichier2)
 
	{
		for(int o=0; o<600; o++)
		{
			for(int p=0; p<600; p++)
			{
				fichier2 << score[o][p]<<" ";
 
			}
			fichier2 <<"\n";
		}
		fichier2.close();
	}
 
 
	//getchar();
}