Erreur de segment en c
iba69
-
ghuysmans99 Messages postés 2496 Date d'inscription Statut Contributeur Dernière intervention -
ghuysmans99 Messages postés 2496 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'ai fait un petit programme en C et apparament la compilation marche mais quand j'execute dès la deuxieme ligne ça m'affiche erreur de segmentation et j'ai vraiment tout essayer pour essayer dele resoudre sans succés.
voici le code que j'ai tapé,alors s'il vous plait dite moi pourquoi j'ai ce message qui s'affiche.
#include<stdio.h>
#include<malloc.h>
void allouer(float *t,int n)
{
printf("\n");
printf("donner la taille du tableau : ");
scanf("%d",&n);
t=(float*)malloc(n*sizeof(float));
}
void saisie_tab(float *t,int n)
{
int i;
for(i=0;i<n;i++)
{
//for(j=0;j<n;j++)
//{
printf("donner t[%d]= ",i);
scanf("%f",&t[i]);
}
}
void affiche_tab(float *t,int n)
{
int i;
for(i=0;i<n;i++)
{
//for(j=0;j<n;j
//{
printf("%f\t",t[i]);
}
}
//recherche d'un element
void recheerche(float *t,int n)
{
int i,pos;float x;
printf("\n");
printf(" donner l'element à rechercher ");
scanf("%f",&x);
i=0;
while(i<n)
{
if(t[i]==x)
{
pos=i;
}
i++;
}
printf("%f est à la position %d du tableau ",x,pos);
printf("\n");
}
// occurence d'un element
void occurence(float *t,int n)
{
int i,pos;float x;
printf("donner l'element à compter ");
scanf("%f",&x);pos=0;
for(i=0;i<n;i++)
{
if(x==t[i])
pos=pos+1;
}
printf("%f apparait %d fois dans le tableau ",x,pos);
}
main()
{
int n;float *t;
allouer(t,n);
saisie_tab(t,n);
}
j'ai fait un petit programme en C et apparament la compilation marche mais quand j'execute dès la deuxieme ligne ça m'affiche erreur de segmentation et j'ai vraiment tout essayer pour essayer dele resoudre sans succés.
voici le code que j'ai tapé,alors s'il vous plait dite moi pourquoi j'ai ce message qui s'affiche.
#include<stdio.h>
#include<malloc.h>
void allouer(float *t,int n)
{
printf("\n");
printf("donner la taille du tableau : ");
scanf("%d",&n);
t=(float*)malloc(n*sizeof(float));
}
void saisie_tab(float *t,int n)
{
int i;
for(i=0;i<n;i++)
{
//for(j=0;j<n;j++)
//{
printf("donner t[%d]= ",i);
scanf("%f",&t[i]);
}
}
void affiche_tab(float *t,int n)
{
int i;
for(i=0;i<n;i++)
{
//for(j=0;j<n;j
//{
printf("%f\t",t[i]);
}
}
//recherche d'un element
void recheerche(float *t,int n)
{
int i,pos;float x;
printf("\n");
printf(" donner l'element à rechercher ");
scanf("%f",&x);
i=0;
while(i<n)
{
if(t[i]==x)
{
pos=i;
}
i++;
}
printf("%f est à la position %d du tableau ",x,pos);
printf("\n");
}
// occurence d'un element
void occurence(float *t,int n)
{
int i,pos;float x;
printf("donner l'element à compter ");
scanf("%f",&x);pos=0;
for(i=0;i<n;i++)
{
if(x==t[i])
pos=pos+1;
}
printf("%f apparait %d fois dans le tableau ",x,pos);
}
main()
{
int n;float *t;
allouer(t,n);
saisie_tab(t,n);
}
A voir également:
- Erreur de segment en c
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
- Erreur 0x80070643 - Accueil - Windows
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues