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
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- Dans la table des matières du document à télécharger, le chapitre 6 et ses 2 sections n'apparaissent pas. trouvez l'erreur dans la structure du document et corrigez-la. mettez à jour la table des matières. quel est le mot formé par les lettres en majuscules de la table des matières après sa mise à jour ? - Forum Word