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 t32 ✓ - Forum Livebox
- Une erreur s'est produite instagram ✓ - Forum Instagram
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows