配列の比較について・・・困ってます・・。
ご質問させていただきます。
これは、fin2というファイルから数値を抜き出し配列に格納して、finの文字列と比較し、その文字列のある場所で配列の数値と比較し、合致したら、ある出力をするというものなんですが、
配列に格納した数値が、
a[1]=[123] b=[234]
a[1]=[345] b=[400]
というふうに増えていくときは問題ないですが、途中でたとえば
a[n]=100 b[n]=400
a[n+1]=300 b[n+1]=358
という風にn+1番目のaより、n番目のbが大きいときに、止まってしまうんです、これをうまく処理して最後まで比較させたいんですが、どうしてもうまくいきません。どなたかたすけてください。やはり、
n==b[yabu]の処理の後になんか書けばいいんでしょうか?長々と申し訳ございませんでした。
if(fin2!=NULL)
{
int yabu=0;
for(int i=0; fgets(c,CHARMAX,fin2)!=NULL;i++)
{
sscanf(c,"%d%*c%*c%d",&a[yabu],&b[yabu]);
fprintf(fout2,"%d::::::::::::::%d:%d\n",yabu,a[yabu],b[yabu]);
yabu++;
}
}
int yabu=0;
n=0;
while(fgetc(fin)!=EOF)
{
n++;
if(n==a[yabu])
{
fprintf(fout2,"A ");
}
else if(n==b[yabu])
{
fprintf(fout2,"B ");
yabu++;}
else
{fprintf(fout2,"C ");
}
}
printf("%d\n",yabu);
お礼
これは初めて見ました! アヤメとカキツバタが似ているということなんでしょうね。 ありがとうございます。