Bonjour,
dans un tableau qui contient seulement des '0' et des '1', je veux calculer la succession des deux éléments. Exemple:
Si le tableau de départ est : 0,0,0,0,0,1,1,1,0,0,0,0,1,1,0,0
Le tableau de résultat doit être: 5 3 4 2 2
C'est-à-dire: 5 zéro, suivit de 3 un, suivit de 4 zéros, etc.…
Le résultat que j'ai obtenu sur la console est: 5 3 4 2 Ce qui veut dire que les deux derniers zéros ne sont pas comptés !
Ma question est: comment faire pour avoir le bon résultat ?
Le code utilisé est le suivant:
cordialement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #include <stdlib.h> #include <stdio.h> void main(){ int k,indice=0,couleur=0,noire=0,blanc=0; int t[16]={0,0,0,0,0,1,1,1,0,0,0,0,1,1,0,0}; int *resultat; resultat=(int *)malloc(20*sizeof(int*)); // calcule de noire et blanc for(k=0;k<16;k++){ if(t[k]==couleur) { noire++;resultat[indice]=blanc;indice++;blanc=0; }else{ blanc++;resultat[indice]=noire;indice++;noire=0; } } // affichage de resultat for(k=0;k<16;k++){ if(resultat[k]==0) continue; else printf("%d\t",resultat[k]); } system("pause"); }
Partager