Erreur de segmentation
sindy5
Messages postés
78
Statut
Membre
-
loupius Messages postés 789 Statut Membre -
loupius Messages postés 789 Statut Membre -
Bonjour, mon probleme est l'erreur de segmentation pouvez vous m'aide?
merci d'avance .
voila mon prgramme
#include <stdio.h>
#include <stdlib.h>
int X[10],d[10];
float W[10],tita,y[10] ,u[10] ,som, lamda;
void chargerBaseDesX()
{
FILE* XI = fopen("XI.txt","r");
int i;
for(i=0; i<10; i++)
{
if (EOF == fscanf(XI,"%d",X+i)) // 'X+i' <=> '&X[i]'
break;
if (EOF == fscanf(XI,"%d",d+i))
break;
}
fclose(XI);
}
/*******************************************/
void chargerBaseDesW()
{
FILE* WI = fopen("WI.txt","r");
int i;
for(i=0; i<10; i++)
{
if (EOF == fscanf(WI,"%f",W+i))
break;
if (EOF == fscanf(WI,"%d",d+i))
break;
}
fclose(WI);
}
/********************************/
/* procedure charger base de DI*/
void chargerBaseDesD()
{
FILE* DI = fopen("DI.txt","r");
int i;
for(i=0; i<10; i++)
{
if (EOF == fscanf(DI,"%d",d+i))
break;
if (EOF == fscanf(DI,"%d",d+i))
break;
}
fclose(DI);
}
/****************************MAIN***************/
int main()
{
int i,t;
chargerBaseDesX();
chargerBaseDesW();
chargerBaseDesD();
for(i=0; i<10; i++)
{
printf( " \n les echantilions%d \n",i);
printf("%d\n",X[i]);
printf( "\n W%d \n",i);
printf("%f\n",W[i]);
printf("le sortie désiré%d\n",i);
printf("%d\n",d[i]);
if (d[i]==1)
{
printf ("impaire C1 \n");
}
else
{
if(d[i]==0)
printf("paire C2\n");
tita=0.2;
lamda=0.2;
som=0;
som=(som+(W[i]*X[i]));
printf("%f",som);
u[i]=( som-tita);
printf("U%d\n",i);
printf("%f\n", u[i]);
}
}
}
merci d'avance .
voila mon prgramme
#include <stdio.h>
#include <stdlib.h>
int X[10],d[10];
float W[10],tita,y[10] ,u[10] ,som, lamda;
void chargerBaseDesX()
{
FILE* XI = fopen("XI.txt","r");
int i;
for(i=0; i<10; i++)
{
if (EOF == fscanf(XI,"%d",X+i)) // 'X+i' <=> '&X[i]'
break;
if (EOF == fscanf(XI,"%d",d+i))
break;
}
fclose(XI);
}
/*******************************************/
void chargerBaseDesW()
{
FILE* WI = fopen("WI.txt","r");
int i;
for(i=0; i<10; i++)
{
if (EOF == fscanf(WI,"%f",W+i))
break;
if (EOF == fscanf(WI,"%d",d+i))
break;
}
fclose(WI);
}
/********************************/
/* procedure charger base de DI*/
void chargerBaseDesD()
{
FILE* DI = fopen("DI.txt","r");
int i;
for(i=0; i<10; i++)
{
if (EOF == fscanf(DI,"%d",d+i))
break;
if (EOF == fscanf(DI,"%d",d+i))
break;
}
fclose(DI);
}
/****************************MAIN***************/
int main()
{
int i,t;
chargerBaseDesX();
chargerBaseDesW();
chargerBaseDesD();
for(i=0; i<10; i++)
{
printf( " \n les echantilions%d \n",i);
printf("%d\n",X[i]);
printf( "\n W%d \n",i);
printf("%f\n",W[i]);
printf("le sortie désiré%d\n",i);
printf("%d\n",d[i]);
if (d[i]==1)
{
printf ("impaire C1 \n");
}
else
{
if(d[i]==0)
printf("paire C2\n");
tita=0.2;
lamda=0.2;
som=0;
som=(som+(W[i]*X[i]));
printf("%f",som);
u[i]=( som-tita);
printf("U%d\n",i);
printf("%f\n", u[i]);
}
}
}
A voir également:
- Erreur de segmentation
- Erreur upes 1025 - Forum Téléviseurs
- Erreur t32 ✓ - Forum Livebox
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Une erreur s'est produite instagram ✓ - Forum Instagram
- Erreur 0x80070643 - Accueil - Windows
D'autre part, il est supposé qu'un fichier pourrait avoir moins de 10 valeurs: comment le sauras-tu dans ton 'main'? D'où la nécessité de conserver le nombre de valeurs lues ou d'initialiser au préalable le tableau avec, de préférence, une valeur significative.
Bonne soirée.
NB: Ton code est presque illisible -> il faut utiliser les balises de code (représentées par '<>'); d'autre part, tant de lignes vides nuit à la lisibilité. A lire: options de mise en page