Tableaux en C : help svp !
Magenti
Messages postés
19
Date d'inscription
Statut
Membre
Dernière intervention
-
Magenti Messages postés 19 Date d'inscription Statut Membre Dernière intervention -
Magenti Messages postés 19 Date d'inscription Statut Membre Dernière intervention -
Bonjour, j'ai du mal avec les tableaux en C. J'ai un exercice où je dois utiliser les tableaux dynamiques mais j'y comprends rien alors je l'ai d'abord fait avec des tableaux statiques.
Je dois écrire une fonction avec un tableau dynamique trié et un entier et renvoyer un 2e tableau trié avec l'entier.
Sans tableau dynamique ça donne ça :
#include <stdio.h>
#include <stdlib.h>
#include "lecture.h"
int f (int T[], int t, int x)
{
int i,n1,n2;
n1=lire_entier();
T[0]=n1;
for (i=1;i<t;i++)
{
n2 =lire_entier();
if (n2<n1)
{
printf("rentrez une valeur superieure \n");
i=i-1;
}
else
{
T[i]=n2;
n1=n2;
}
}
int t2,j;
t2=t+1;
int T2[t2];
for (j=0;j<t2;j++)
{
if ((x>T[i]) && (x<T[i+1]))
{
T2[j]=x;
}
if ((x<T[i]) && (x<T[i+1]))
{
T[i-1]=x;
}
if ((x>T[i]) && (x>T[i+1]))
{
T2[j]=T[i];
}
}
return T2;
}
int affichage (int T[], int t)
{
int i;
for (i=0;i<t;i++)
{
printf("%d \b", T[i]);
}
return 0;
}
int main ()
{
int t,x,t2;
t = lire_entier();
x = lire_entier();
int T[t],T2[t2];
f (T,t,x);
affichage (T2,t2);
return 0;
}
Le problème c'est qu'il marche pas, j'ai du mal avec ce genre de problème :(
Merci d'avance pour votre aide ! ^^
Je dois écrire une fonction avec un tableau dynamique trié et un entier et renvoyer un 2e tableau trié avec l'entier.
Sans tableau dynamique ça donne ça :
#include <stdio.h>
#include <stdlib.h>
#include "lecture.h"
int f (int T[], int t, int x)
{
int i,n1,n2;
n1=lire_entier();
T[0]=n1;
for (i=1;i<t;i++)
{
n2 =lire_entier();
if (n2<n1)
{
printf("rentrez une valeur superieure \n");
i=i-1;
}
else
{
T[i]=n2;
n1=n2;
}
}
int t2,j;
t2=t+1;
int T2[t2];
for (j=0;j<t2;j++)
{
if ((x>T[i]) && (x<T[i+1]))
{
T2[j]=x;
}
if ((x<T[i]) && (x<T[i+1]))
{
T[i-1]=x;
}
if ((x>T[i]) && (x>T[i+1]))
{
T2[j]=T[i];
}
}
return T2;
}
int affichage (int T[], int t)
{
int i;
for (i=0;i<t;i++)
{
printf("%d \b", T[i]);
}
return 0;
}
int main ()
{
int t,x,t2;
t = lire_entier();
x = lire_entier();
int T[t],T2[t2];
f (T,t,x);
affichage (T2,t2);
return 0;
}
Le problème c'est qu'il marche pas, j'ai du mal avec ce genre de problème :(
Merci d'avance pour votre aide ! ^^
A voir également:
- Tableaux en C : help svp !
- Tableaux croisés dynamiques - Guide
- Mise en forme tableau word - Guide
- Fusionner deux tableaux excel - Guide
- Barbara veut calculer automatiquement son budget dans un tableau. citez un des logiciels lui permettant de faire des calculs sur des tableaux de nombres (tableur). - Forum Musique / Radio / Clip
- Fusionner deux tableaux word ✓ - Forum Word
2 réponses
Indique moi l'erreur de compilation...
Sinon, crois moi, c'est bien plus facile dynamiquement et plus souple aussi...
en dynamique, pour créer un tableau, tu fais comme ça:
Ensuite tu peux y accéder soit par le pointeur, soit traditionnellement (c[3])
"Trotti Trotta, Monsieur P, y'a des anges qui veulent un bisou..."
Sinon, crois moi, c'est bien plus facile dynamiquement et plus souple aussi...
en dynamique, pour créer un tableau, tu fais comme ça:
int taille = 256; //La taille du tableau char *c; //Pointeur sur le tableau c = malloc(taille * sizeof(char)); //Création d'un tableau de caractère de 256 carac
Ensuite tu peux y accéder soit par le pointeur, soit traditionnellement (c[3])
"Trotti Trotta, Monsieur P, y'a des anges qui veulent un bisou..."
Ok merci, je vais essayer mais j'ai du mal à voir la différence....faut dire que j'ai un cours pourri où c'est mal expliqué :S
Sinon, codeblocks compile mon algo mais il me renvoie plein de chiffres bizarres, pas ce que je veux en tout cas.
J'ai réussi à créer un tableau qui me trie les éléments au fur et à mesure que je les rentrent mais j'arrive pas à insérer un autre élément qui sera trié lui aussi. Je suis sure que c'est pas compliqué mais je vois vraiment pas lol !
Sinon, codeblocks compile mon algo mais il me renvoie plein de chiffres bizarres, pas ce que je veux en tout cas.
J'ai réussi à créer un tableau qui me trie les éléments au fur et à mesure que je les rentrent mais j'arrive pas à insérer un autre élément qui sera trié lui aussi. Je suis sure que c'est pas compliqué mais je vois vraiment pas lol !