Se connecter / S'enregistrer
Votre question

Supprimer les zéros d'un tableau rempli

Tags :
  • Programme
  • Programmation
Dernière réponse : dans Programmation
1 Novembre 2009 09:13:06

slt,
j'ai besoin d'ecrire un programme qui suprimme tout les zeros qui sont dans un tableau deja remplit, j'ai deja commencé mais je ne sais pas comment faire pour ercrire la boucle de supression!
voila ce que j'ai fait:

Code :


#include<stdlib.h>
#include<stdio.h>
main()
{
float tab[10];
for(i=0;i<1à;i++)
{printf("saisir un nombre");
scanf("%f", &tab);}
............
printf("voici le tableau apres la supression des 0");
for(i=0;i<10;i++)
printf("%f", tab);
system("pause");
}


les points représentent la commande qu'il faut ecrire pour suprimmer les zeros.
et merci bq!

Autres pages sur : supprimer zeros tableau rempli

1 Novembre 2009 10:28:50

salut,

Recommences déjà par le code saisi ...

tu es déjà parti de travers avant même le fonction de suppression...


pour ta fonction de suppession, une solution pourrait être de parcourir le tableau (de 0 à n), et à chaque 0 trouvé (en position n), de décaler la chaine de n+1 à la fin vers la gauche ... ,

ou de faire une fonction qui parcours simplement la chaine et met un blanc à la place de chaque 0 (tu n'as pas précisé si la chaine devait être réduite ou simplement faire disparaitre les 0) ..

Ps: tu veux pas non plus que je fasse tes exercices de cours ??? je suis trop vieux pour refaire des exercices d'apprentissage ;) 
Ca ressemble furieusement aux 1ers exercices que je faisais en ..... p**in 10 ans déjà ... algo , pour apprendre les bases du langage.
m
0
l
1 Novembre 2009 10:51:56

mais si on prend par exemple le nombre 1005 comment peut on suprimmer ses deux zeros ?cool
m
0
l
Contenus similaires
1 Novembre 2009 11:02:46

re,

parcours de ta chaine
1005\0
decalage à gauche de 05
105\0
decalage à gauche de 5
15\0

Il te faut 2 compteurs, un de parcours global , et un de décalage...

Je peux l'écrire en C , mais ca ne te rendrait pas service. Je peux aider à faire l'algo (et encore, là c'est basique!!), et/ou corriger du code.

Les exercices sont là pour apprendre ......


et revois aussi le début de ton programme ...... pour t'en rendre compte, compile le et execute le ..
m
0
l
1 Novembre 2009 16:49:27

mais je ne sais pas la boucle de decalage
m
0
l
1 Novembre 2009 19:12:17

c'est le but de l'exercice ...

Si tu n'arrives pas à faire cet exercice .... retourne fissa en arrière dans tes cours .. il y a quelque chose que tu n'as pas compris, et il vaut mieux ne pas aller plus avant sans avoir acquis tout ça ... parce que quand tu va rentrer dans les pointeurs, les recursives, les API et tout le merd***ier , tu vas déchanter.


volontairement, je ne donne qu'une partie d'une solution.
chaine[idx-1]=chaine[idx];


cependant, je réinsiste .... le reste du code est à mon avis foireux ...


for(i=0;i<1à;i++)
{printf("saisir un nombre" );
scanf("%f", &tab);}

Ca sert à quoi ?
<1à ??
i est quoi, un double * ?
Tel que tu le fais, je vais saisir plusieurs nombres différents que tu stockeras dans un tableau de float ... je ne penses pas que ce soit le but !
Même si c'est un exercice, que se passe t'il si je tape abcd (je suis très maladroit ...)

for(i=0;i<10;i++)
printf("%f", tab);
system("pause" );
}


tu n'as pas compilé .... Déjà, de belles erreurs de syntaxe, ensuite, toujours ton problème de tableau..
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS