私はまだCを学んでおり、配列内の文字の出現を数える最良の方法を見つけようとしています.
私はそれを関数に分けて、それを大きく拡張する予定ですが、これまでのところ、私が思いついた最高の作業コードは、これのより大きなバージョンです:
#define SIZEONE 7
#define SIZETWO 3
int main(void)
{
int arrOne[SIZEONE] = {97, 97, 98, 99, 99, 99, 99};
char arrTwo[SIZETWO] = {'a', 'b', 'c'};
int arrThree[SIZETWO] = {0};
int countOne = 0;
int countTwo = 0;
int countThree = 0;
for(countOne = 0; countOne < SIZEONE; countOne++)
{
for(countTwo = 0; countTwo < SIZETWO; countTwo++)
{
if(arrOne[countOne] == arrTwo[countTwo])
{
arrThree[countTwo] = arrThree[countTwo] + 1;
}
}
}
for(countThree = 0; countThree < SIZETWO; countThree++)
{
printf("%c ",arrTwo[countThree]);
}
countThree = 0;
printf("\n");
for(countThree = 0; countThree < SIZETWO; countThree++)
{
printf("%d ",arrThree[countThree]);
}
return 0;
}
これから、次のようなものが得られるはずです。
abc
2 1 4
この方法を使い始める前に、誰かが私を指し示したり、例を示したりできる、これを行うためのより簡単な方法があるかどうか疑問に思っています。