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:
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");
}
cordialement