Programme en C
saraseff
Messages postés
137
Statut
Membre
-
saraseff Messages postés 137 Statut Membre -
saraseff Messages postés 137 Statut Membre -
Bonjour tout le monde,
j'ai un problème avec un programme C et je vous remercie de bien m'aider .
Voilà je veux faire un programme qui me permet de:
-remplir un tableau
-le tasser au cas où il contient des zéros
-l'afficher sans les zéros
La partie où j'ai des problèmes est en fait pour enlever les zéros donc voilà ce que j'ai fait mais sa ne marche pas!
cpt=0;
for(i=0;i<taille;i++)
{
if(tab[i]!=0)
{
tab[cpt]=tab[i];
cpt++;
}
{
tab[cpt]=tab[i+1];
s++;
}
}
printf("voici votre tableau:\n");
for(i=0;i<taille-s;i++)
printf("%d",tab[i]);</gras>
Si vous pouvez me répondre maintenant sa serait gentil parce que j'ai exam demain !
j'ai un problème avec un programme C et je vous remercie de bien m'aider .
Voilà je veux faire un programme qui me permet de:
-remplir un tableau
-le tasser au cas où il contient des zéros
-l'afficher sans les zéros
La partie où j'ai des problèmes est en fait pour enlever les zéros donc voilà ce que j'ai fait mais sa ne marche pas!
cpt=0;
for(i=0;i<taille;i++)
{
if(tab[i]!=0)
{
tab[cpt]=tab[i];
cpt++;
}
{
tab[cpt]=tab[i+1];
s++;
}
}
printf("voici votre tableau:\n");
for(i=0;i<taille-s;i++)
printf("%d",tab[i]);</gras>
Si vous pouvez me répondre maintenant sa serait gentil parce que j'ai exam demain !
A voir également:
- Programme en C
- Programme demarrage windows - Guide
- Mettre en veille un programme - Guide
- Programme word gratuit - Guide
- Message programmé iphone - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
6 réponses
Voici un algo non optimisé, quoique:
Bon code.
Soit 2 indices i = 0 et j
Pour j = 0 jusqu'à la fin du tableau
Si tab[j] != 0
Alors tab[i] = tab[j] et i = i+1
Pour i jusqu'à la fin du tableau
tab[i] = 0;Par très compliqué, isn't !
Bon code.
Je ne sais pas ce que tu veux faire exactement; une fois le tableau 'tassé', il y a 2 solutions:
- le tableau conserve la même dimension et on remplit la fin du tableau avec des '0 (c'est ce que j'ai supposé),
- le tableau est 'raccourci' et on lui donne la dimension du dernier élément non nul.
A toi de décider.
- le tableau conserve la même dimension et on remplit la fin du tableau avec des '0 (c'est ce que j'ai supposé),
- le tableau est 'raccourci' et on lui donne la dimension du dernier élément non nul.
A toi de décider.
En fait je veux faire la deuxième proposition c'est pour cela j'ai supposé une autre variable s que j'incrémente à chaque fois que je trouve un zéro !mai j'ai essayé dans mon prog mais sa ne marche pas sa me done que des zéros :s
Mais si, ça marche, je te donne un exemple:
Bonne réflexion et bonne nuit.
#include <stdio.h>
#include <stdlib.h>
#define TAILLE 8
int main(int argc, char *argv[])
{
int i, cpt;
int tab[TAILLE] = { 1, 2, 0, 3, 4, 0, 5, 0 };
for (i=cpt=0; i<TAILLE; i++)
if(tab[i])
tab[cpt++] = tab[i];
for (i=0; i<cpt; i++)
printf ("%d ", tab[i]);
printf (" cpt=%d\n", cpt);
return EXIT_SUCCESS;
}
[loupius@p3000]$ gcc -Wall essai.c
[loupius@p3000]$ ./a.out
1 2 3 4 5 cpt=5
[loupius@p3000]$Au lieu d'utiliser les balise 'gras', utilise plutôt les balises 'code'.
Bonne réflexion et bonne nuit.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question