C言語で、配列内に同じ値がいくつ含まれているかを数えて表示するプログラムを組みたいのですが、うまくいきません。
例として、配列の中に{24,24,31,55,55,72}が格納されている場合、
24は2個
31は1個
55は2個
72は1個
と出力させたいのですが、以下のソースコードだと
24は2個
24は1個
31は1個
55は2個
55は1個
72は1個
と出力されてしまいます。どなたかご教授お願いいたします。
C
1#include <stdio.h> 2 3int main() 4{ 5 int a[6] = {24,24,31,55,55,72}; 6 int j,k,count; 7 8 for(j=0; j<6; j++) 9{ 10 for(k=j+1, count=1; k<6; k++) 11 { 12 if(a[j] == a[k]) 13 { 14 count++; 15 } 16 } 17 if(count > 0) 18 19 printf("%dは%d個\n",a[j],count); 20 } 21 return 0 22} 23
プログラムの全体の流れについて、とくに変数bについてどのように使われているかの説明を記載ください。