bilel_hmam
Messages postés2Date d'inscriptiondimanche 12 juillet 2015StatutMembreDernière intervention22 juillet 2015
-
Modifié par NHenry le 12/07/2015 à 15:59
bonjour les professionnelles :)
pouvez vous m expliquer cette erreur et merci d avance
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:
#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();
}