配列を計算して比較するとエラーが…
Posted: 2007年6月22日(金) 00:59
配列を使用して、素数計算をしているのですが、どうしてもエラーになるところがあるので、教えていただけませんか?
前半は配列を使っていない状態です。
赤い個所を緑のように変更します。
そうすると、エラーが青の部分で起こります。
配列を用いて計算をした時比較は出来ないのでしょうか?
よろしくお願いします。
#define PRIME 1
#define NOPRIME 2
#include <stdio.h>
int main()
{
//a=フラグ i=素数用変数 j=割り算判定 x=格納変数 number=格納配列
int a, i, j, x=2, number[100]={1,2};
for(i=3; i<10; i++){ //数の決定
a = PRIME;
for(j=2; j<i && (a == PRIME); j++){ //割る数決定
if( i%j == 0 ){ //割り切れた時=素数でない
a = NOPRIME;
break;
}
}
for(j=2; (number[j])<i && (a == PRIME); j++){ //割る数決定
☆ if( (i%(number[j])) == 0 ){ //割り切れた時=素数でない
a = NOPRIME;
break;
}
}
if(a == PRIME){ //割り切れなかった時実行
number[x] = i;
x++;
printf("確認用:%d\n",i); //確認用
}
printf(" 数字:%d終了\n",i);
}
//最終表示
for(i=0; i<x; i++){
printf("%d,",number);
}
return 0;
}