Les pointeurs
mast20
Messages postés
14
Statut
Membre
-
mast20 Messages postés 14 Statut Membre -
mast20 Messages postés 14 Statut Membre -
svp pouvez vous m aider a faire cette exercice en c :
1-ecrire une fct qui remplit et retourne un tableau dynamique de n entiers aleatoirement en utilisant la fct predefinie rand().
2-ecrire une fct qui remplit et retourne manullement un tableau dynamique
3-une fct qui affiche le tableau
4-une fct qui cherche si un element existe dans le tableau
5-fct qui effectue le tribull
et merci d avance
1-ecrire une fct qui remplit et retourne un tableau dynamique de n entiers aleatoirement en utilisant la fct predefinie rand().
2-ecrire une fct qui remplit et retourne manullement un tableau dynamique
3-une fct qui affiche le tableau
4-une fct qui cherche si un element existe dans le tableau
5-fct qui effectue le tribull
et merci d avance
2 réponses
Bonjour,
Essaie d'écrire quelque chose. Nous pourrons alors t'aider.
Pour le -1- je te propose le prototype de la fonction
Essaie d'écrire quelque chose. Nous pourrons alors t'aider.
Pour le -1- je te propose le prototype de la fonction
int *creeTableauDynamique( int n );
Bonsoir.
J'éspère avoir bien compris ce que tu voulais faire, sinon je m'en excuse, voici les erreurs que j'ai pu relever :
J'éspère avoir bien compris ce que tu voulais faire, sinon je m'en excuse, voici les erreurs que j'ai pu relever :
int *creeTableauDynamique(int n)
{
int i, *T = NULL; //La syntaxe exacte est NULL en majuscules
T = (int*)malloc(n*sizeof(int)); //Attention à la parenthèse oubliée ici
for(i = 0; i < n; i++)
{
T[i] = rand();
}
return T;
}
void remplissage_manuelle(int *T,int n)
{
int i; //Tu n'as pas besoin de redéclarer *T, c'est ce que reçoit ta fonction
T = (int*)malloc(n*sizeof(int));
for(i = 0; i < n; i++)
{
printf("donner un entier : ");
scanf("%d", T[i]);
}
}
void affichage(int *T,int n)
{
int i;
for(i = 0; i < n; i++)
{
printf("%d", T[i]); //Ne met pas de * devant T, c'est le tableau que tu veux afficher (*)
}
}
int rech_seq(int *T, int n, int x)
{
int i;
for(i = 0; i < n; i++)
{
if(T[i] == x) return i; //Même remarque que la précedente (*)
}
return -1; //Attention au point virgule ; ici
}
void tribulle(int *T, int n)
{
int i, j, aux;
for(j = 0; j < n-1; j++)
{
for(i = n-1; i <= 1; i--)
{
if(T[i-1] > T[i])
{
aux = T[i]; //Même remarque (*)
T[i] = T[i-1]; //Pareil (*)
T[i-1] = aux;
}
}
}
}
int i , *T=Null;
T=(int*)malloc(n*sizeof(int);
for(i=0;i<n;i++) {
T[i]=rand();
}
return T;
}
void remplissage_manuelle(int *T,int n)
{
int i , *T=Null;
T=(int*)malloc(n*sizeof(int));
for(i=0;i<n;i++)
{
printf("donner un entier : ");
scanf("%d",T[i]);
}
}
void affichage(int *T,int n)
{
int i ;
for(i=0;i<n;i++)
{
printf("%d",*T[i]);
}
}
int rech_seq(int *T,int n,int x)
{
int i;
for(i=0;i<n;i++)
{
if(*T[i]==x) return i;
}
return -1 (ca veut dire l entier a rechercher n existe pas)
}
void tribulle(int *T,int n)
{
int i,j,aux;
for(j=0;j<n-1;j++)
{
for(i=n-1;i<=1;i--)
{
if(T[i-1]>T[i])
{
aux=*T[i];
}
}
}
}
si quelqu'un peut me corriger les fautes que j ai commis et merci :)