この国の配列を印刷したいのですが、2つの国が同じ場合は一度だけ印刷したいです。国はすでにアルファベット順に並べられています。
for(b=0;b<v;b++){
if(strcmp(country[b-1],country[b]) !=0){
printf("%s",country[b]);}
}
v は国の数
この国の配列を印刷したいのですが、2つの国が同じ場合は一度だけ印刷したいです。国はすでにアルファベット順に並べられています。
for(b=0;b<v;b++){
if(strcmp(country[b-1],country[b]) !=0){
printf("%s",country[b]);}
}
v は国の数
krajina に 2 次元の文字配列を動的に割り当てます。
この質問を参照してください: 2 次元メモリ割り当て
編集: 詳細:
大丈夫。あなたは国の数を数えることができると言いました。count
それをokという変数に保存するとしますか?
count
今度は、行数と列数が 31の 2D 文字配列を割り当てる必要がありますよね? これは次のように行います。
int i = 0;
int **country = NULL;
if (!(country = calloc(count, sizeof(*country)))) //allocate rows
return (0);
for (i = 0; i < count; i++)
{
country[i] = calloc(31, sizeof(*(country[i]))); //allocate columns
}
これcountry
で、2d char 配列を使用する方法と同じように通常使用できる変数ができました (コードで使用したように)。