プログラムのまちがいを教えてください

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
PC駄目男

プログラムのまちがいを教えてください

#1

投稿記事 by PC駄目男 » 9年前

宿題でC言語でエラトステネスの篩を使って1000万までにいくつあるかを数えるソースプログラムを作成してるのですが、エラーが出て進めることができません。
ソースプログラムは
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
int *a,sum,i;
int main(){

a = malloc(sizeof (int) * 10000000);


for(i=2;i<=10000000;i++){

a=i;

}
for(i=2;i<=10000000;i++){
if(a!=2&&a%2==0)
a=0;
else if(a!=3&&a%3==0)
a=0;
else if(a!=5&&a%5==0)
a=0;
else if(a[i]!=7&&a[i]%7==0)
a[i]=0;

}

for(i=2;i<=10000000;i++){
if(a[i]!=1&&a[i]!=0){
sum+=a[i];


printf("%d",sum);

return 0;
}
}
です。
エラーメッセージは
In fuction `main’:
error: parse error at end of input
です。
どこを直せばいいかおしえてください。

non
記事: 1097
登録日時: 9年前

Re: プログラムのまちがいを教えてください

#2

投稿記事 by non » 9年前

プログラムは全く見ていませんが、parse error at end of input は、{や(の数が合ってないとか、セミコロンの付け忘れとか、
””が対応していないとかです。わからなければ、codeタグを使って、インデントしたプログラムを添付してください。
non

アバター
yux
記事: 11
登録日時: 10年前

Re: プログラムのまちがいを教えてください

#3

投稿記事 by yux » 9年前

}が1つ足りませんね。
最後に1つ"}"を追加してください。
yux

box
記事: 1751
登録日時: 9年前

Re: プログラムのまちがいを教えてください

#4

投稿記事 by box » 9年前

PC駄目男 さんが書きました: エラトステネスの篩を使って1000万までにいくつあるかを数える
「何が」いくつあるかを数えようとしているんでしょうか。何がしたいかを伝えるには、主語を明記する必要があります。
まあ、仮に素数のことだとして、変数 sum の意味合いは何でしょうか。ぜひ知りたいので教えてください。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

アバター
さかまき
記事: 92
登録日時: 10年前

Re: プログラムのまちがいを教えてください

#5

投稿記事 by さかまき » 9年前

a = malloc(sizeof (int) * 10000000);


for(i=2;i<=10000000;i++)
{
a=i;
}
も良くないですぞ。

閉鎖

“C言語何でも質問掲示板” へ戻る