Soyez le premier à donner votre avis sur cette source.
Snippet vu 11 335 fois - Téléchargée 29 fois
#include <stdio.h> main() { /* Déclarations */ int A[50]; /* tableau donné */ int VAL; /* valeur à insérer */ int N; /* dimension */ int I; /* indice courant */ /* Saisie des données */ printf("Dimension N du tableau initial (max.50) : "); scanf("%d", &N ); for (I=0; I<N; I++) { printf("Elément %d : ", I); scanf("%d", &A[I]); } printf("Elément à insérer : "); scanf("%d", &VAL ); /* Affichage du tableau */ printf("Tableau donné : \\n"); for (I=0; I<N; I++) printf("%d ", A[I]); printf("\\n"); /* Déplacer les éléments plus grands que */ /* VAL d'une position vers l'arrière. */ for (I=N ; (I>0)&&(A[I-1]>VAL) ; I--) A[I]=A[I-1]; /* VAL est copié à la position du dernier */ /* élément déplacé. */ A[I]=VAL; /* Nouvelle dimension du tableau ! */ N++; /* Edition des résultats */ printf("Tableau résultat :\\n"); for (I=0; I<N; I++) printf("%d ", A[I]); printf("\\n"); return 0; }
quoiqu'il en soit, tu te limites dès les premières lignes de ton code, en initialisant la taille du tableau à 50 éléments. c'est un gros handicape je pense. tu devrais utiliser malloc et free pour allouer la mémoire dynamiquement.
aussi, moi je te conseil de réécrire le tout en C++, avec new et delete, et tu en fais une classe réutilisable proprement, facilement, sans variable globale ou autres. puis avec cin/cout plutot que scanf/printf.
mais peut etre que c obligatoirement en C. change qd même le tableau limité à 50. parce que tu vas pas mettre A[1000] pour être sur et ainsi réserver plein de mémoire inutile. dans un jeu par exemple faut etre vachement économe.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.