Tableau
Fermé
futur-genie
Messages postés
8
Date d'inscription
vendredi 28 décembre 2012
Statut
Membre
Dernière intervention
27 octobre 2013
-
30 janv. 2013 à 11:16
Ateuf Messages postés 5 Date d'inscription samedi 2 février 2013 Statut Membre Dernière intervention 17 mars 2013 - 3 févr. 2013 à 14:39
Ateuf Messages postés 5 Date d'inscription samedi 2 février 2013 Statut Membre Dernière intervention 17 mars 2013 - 3 févr. 2013 à 14:39
A voir également:
- Tableau
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Trier tableau excel - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
4 réponses
Mouthon
Messages postés
524
Date d'inscription
mardi 16 octobre 2012
Statut
Membre
Dernière intervention
13 juin 2014
143
Modifié par Mouthon le 30/01/2013 à 12:21
Modifié par Mouthon le 30/01/2013 à 12:21
Bonjour.
Il n'existe pas de solution toute prête, tu vas devoir écrire un algorithme toi même.
Tu dois d'abord demander à ton programme de trouver la position de ton nouveau nombre, ensuite tu devras utiliser malloc pour agrandir ton tableau, ou alors avoir pensé à en créer un assez grand avec des cases vides au début.
Ensuite tu devras décaler les valeurs supérieurs d'un cran pour insérer la nouvelle.
Il n'existe pas de solution toute prête, tu vas devoir écrire un algorithme toi même.
Tu dois d'abord demander à ton programme de trouver la position de ton nouveau nombre, ensuite tu devras utiliser malloc pour agrandir ton tableau, ou alors avoir pensé à en créer un assez grand avec des cases vides au début.
Ensuite tu devras décaler les valeurs supérieurs d'un cran pour insérer la nouvelle.
kratosmindfreak
Messages postés
43
Date d'inscription
mercredi 23 janvier 2013
Statut
Membre
Dernière intervention
1 février 2013
30 janv. 2013 à 21:36
30 janv. 2013 à 21:36
Mouthon
+1
alors pour placer x dans la bonne position il faure faire un boucle qui traverse le tableau element par element puis il compare les elements de tableau avec x si x est inferieur a un element de tableau il sorte de la boucle et il decale les elements a partir de cette position
:D
+1
alors pour placer x dans la bonne position il faure faire un boucle qui traverse le tableau element par element puis il compare les elements de tableau avec x si x est inferieur a un element de tableau il sorte de la boucle et il decale les elements a partir de cette position
:D
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
Modifié par fiddy le 30/01/2013 à 23:12
Modifié par fiddy le 30/01/2013 à 23:12
Bonjour,
Grosso modo, deux méthodes :
La 1ère t'a déjà été exposée.
La 2nde, c'est utiliser une liste doublement chaînée. Cela te permettra d'insérer des éléments sans tout chambouler.
C'est plus performant pour les grands tableaux.
Google is your friend
Grosso modo, deux méthodes :
La 1ère t'a déjà été exposée.
La 2nde, c'est utiliser une liste doublement chaînée. Cela te permettra d'insérer des éléments sans tout chambouler.
C'est plus performant pour les grands tableaux.
Google is your friend
Ateuf
Messages postés
5
Date d'inscription
samedi 2 février 2013
Statut
Membre
Dernière intervention
17 mars 2013
3 févr. 2013 à 14:39
3 févr. 2013 à 14:39
Voilà la solution ! je l'ai essayé et ça marche ;)
si vs ne comprenez pas une instruction ou quelque chose je suis là :)
{ int t [50];
int t2[50];
int i,j,x,p,n,aux,test,k;
printf ("n= ");
scanf ("%d",&n);
for (i=0;i<n;i++)
{
printf ("t[%d]= ",i);
scanf ("%d",& t[i]);
}
do
{
test=0;
for (i=0;i<n-1;i++)
if (t[i]>t[i+1])
{
aux=t[i];
t[i]=t[i+1];
t[i+1]=aux;
test=1;
}
}
while (test ==1);
for (i=0;i<n;i++)
printf ("%d\t", t[i]);
printf ("\n");
printf ("x= ");
scanf ("%d",&x);
test=0;
i=0;
do
{
if (x<t[i])
{
p=i;
test=1;
k=p;
}
i++;
}
while (test!=1);
for (i=0;i<p;i++)
t2[i]=t[i];
t2[p]=x;
for (k=p+1;k<n+1;k++)
t2[k]=t[k-1];
for (i=0;i<n+1;i++)
printf ("%d\t", t2[i]);
si vs ne comprenez pas une instruction ou quelque chose je suis là :)
{ int t [50];
int t2[50];
int i,j,x,p,n,aux,test,k;
printf ("n= ");
scanf ("%d",&n);
for (i=0;i<n;i++)
{
printf ("t[%d]= ",i);
scanf ("%d",& t[i]);
}
do
{
test=0;
for (i=0;i<n-1;i++)
if (t[i]>t[i+1])
{
aux=t[i];
t[i]=t[i+1];
t[i+1]=aux;
test=1;
}
}
while (test ==1);
for (i=0;i<n;i++)
printf ("%d\t", t[i]);
printf ("\n");
printf ("x= ");
scanf ("%d",&x);
test=0;
i=0;
do
{
if (x<t[i])
{
p=i;
test=1;
k=p;
}
i++;
}
while (test!=1);
for (i=0;i<p;i++)
t2[i]=t[i];
t2[p]=x;
for (k=p+1;k<n+1;k++)
t2[k]=t[k-1];
for (i=0;i<n+1;i++)
printf ("%d\t", t2[i]);
30 janv. 2013 à 23:10
2 févr. 2013 à 04:48