「原点を中心とする円の第1象限を考える。半径nを入力して自然数である座標とその個数、各座標におけるx^2+y^2の値を求め、その値を大きい順に並び替えて、x^2+y^2の値とそれに対応する座標と個数を表示するプログラムを作成せよ」という問題を質問したむすめふさほせです。1次元配列を用いていないため不正解となってしまいました。そこで、次のプログラムをどう改良して1次元配列を用いればよいか教えていただきたいのです。ご回答よろしくお願いいたします。「原点を中心とする円の第1象限を考える。半径nを入力して自然数である座標とその個数、各座標におけるx^2+y^2の値を求め、その値を大きい順に並び替えて、x^2+y^2の値とそれに対応する座標と個数を表示するプログラムを作成せよ」しかし1次元配列を用いていないため不正解となってしまいました。そこで、次のプログラムをどう改良して1次元配列を用いればよいか教えていただきたいのです。z[9999]={0};zは一次元配列なので不正解となった原因は一次元配列を用いていないためではありません。原因は、「x^2+y^2の値とそれに対応する座標を表示する」の「それに対応する座標」を表示できていないためです。(今のプログラムではx^2+y^2の値とそれに対応する座標が別個で表示されています)問の答えとなるようなプログラムを作るためにはx^2+y^2の値を一次元配列を用いた管理の対象とするのではなくxとyの値をそれの対象としてみてください。...そして各点の距離を二つの配列の値から求めそれで並び替えたのち、各点の座標と距離を表示するようにしてください。構造体を習っているのであれば構造体を用いても良いでしょう。1次元配列を用いていないため不正解となってしまいました。「1次元配列を用いていない」というのは、どなたが判断されたのですか?ちゃんと、z[9999]という1次元配列を使っていますよ。ところで、インデント(字下げ)に関するポリシーを感じないコードであるため、なんとなく読みづらいです。バグのないプログラムはない。プログラムは思ったとおりには動かない。すいませんxとyの値を1次元配列の対象とする方法がわかりませんxとyの値を管理する一次元配列を作って、z[count]=x*x+y*y;としているところでそれに入れていってください。y^2の値を求めるかzから取得するなりしてn^2と比較してください。8年前xとyの値を管理する一次元配列を作って、z[count]=x*x+y*y;としているところでそれに入れていってください。y^2の値を求めるかzから取得するなりしてn^2と比較してください。気になる点では全角スペースが入っている。インデントがそろってない。スペースキーではなくTabキーなど使って縦をそろえてください。と1引かなければ無駄な処理になります。これは参考にしたもとが間違っていたんだと思いますが。小さい順に並び替えてしまいます。x座標とy座標の値も記憶しておきます。これで対応する座標が表示できます。yList[]も同時に並び替えます。初級者さんの回答では、他人が書いたとばればれなので書き直しましたが、このままコピーして提出はしないでください。理解できない部分はすべて聞いてください。対策として最後のほう消しました。理解できていれば書けるはずです。初級者さん、hss12さんご回答ありがとうございます。わかりやすい解説で勉強になります。自分でプログラムを書いてみて、わからないところが出てきたときはまた質問しますのでよろしくお願いいたします。ミクプラは自由にリンクできます。