私は提出する必要があるCのプロジェクトに問題があります。私はNとN^2の整数を取得し、マジックスクエアを作成するかどうかをチェックするプログラムを書くように求められました。標準入力(Stdin)からN^2の整数を得たことをどのように確認できますか?
しかし、私は入力が標準入力であったはずだと思いましたが、printfを使ってNを指定してスキャンしてから、ユーザーに入力するように要求したので、 N^2の整数とマジックスクエアを作成するかどうかをチェックします。しかし、私はstdinからそれを行う方法を知らない。
入力は、sizeofN、N1、N2、...、N^2の形式でなければなりません。例えば:3 8 1 6 3 5 7 4 9 2 - 3がNであり、他の要素が後になることを意味します。
ので、私の質問は以下のとおりです。
1)私が述べたように、スタンダール入力(stdin)から値を取得する方法を教えてください。 while((c = getchar())!= EOF)のようなものか、よりスマートな方法がありますか?
2)本当にN^2個のアイテムがあるかどうかを確認するにはどうすればよいですか? (最初の数はNで、後ろにN^2個の入力があるはずです。たとえば、次のようになります。3 8 1 3 4 5 9 8 5 Nは3で9個の整数が必要ですが、 8、どのように私は本当にN^2の数字がNを取得していることをチェックする関数を書くことができますか?
私はすでに与えられた行列がマジックスクエアを形成するかどうかをチェックするプログラムをプログラムしました。 STDIN。
。だから私は理解し、学ぶことができるコードを提供し、あなたの親切に助けをどうもありがとうございました。
をチェック! – sepp2k
あなたは良いプログラマーであり、エラーのための*入力操作の結果を常にチェックします。これは簡単です:あなたのプログラムがN^2の整数を読み出すのに成功するならば、あなたは確かに "N^2個の整数を得ました" –
あなたのタイトルは* "あなたは検証したい"と言っていますが、ボディは確認について何も言わない... –