• 締切済み

次のプログラムが作れません…

メイン関数で整数型配列a[0]~a[3]にキーボードから入力された値を代入し、その要素の絶対値を代入し、a[0]~a[3]の結果を表示するプログラムです。 ただし、条件が付いていて配列の要素の絶対値を計算する関数"void abs ( int a[]);"を作成して使用することとなっています。 実行結果が以下のようになるらしいのですが… ./px2-2 input a number -> 4 input a number -> -9 input a number -> 7 input a number -> -8 a[0] = 4 a[1] = 9 a[2] = 7 a[3] = 8 よろしくお願いします。

みんなの回答

  • undeatta
  • ベストアンサー率0% (0/1)
回答No.3

何故困っているのか分かりません 「プログラムが作れない」と一口に言っていますが、その原因は様々です そもそもどのようにプログラムを書いていいか分からないのか、書いている途中で何か分からないことがあって詰まってしまっているのか、書き終わったがコンパイルエラー等の問題が発生して詰まっているのか、プログラムが完成したが期待した動作をしてくれないのか、などなど 全部「プログラムが作れない」という状態ですが、その時に必要なアドバイスは違いますよね というわけで、おそらくココで詰まっているのでは無いか、という部分を私が適当に予想して回答します 見当違いの回答だと思うのであれば、何故プログラムが作れないのかを明記してください おそらく絶対値を求める関数abs()の戻り値の型がvoidなのが関係しているのではないでしょうか そうであれば、C言語のポインタと配列についてよくよく調べてみる事をオススメします 以上

  • yone_sk
  • ベストアンサー率34% (58/167)
回答No.2

どこがわからないのでしょうか? ユーザ関数の作り方? abs()関数の処理の書き方? 配列の使い方? 途中まで作成したソースを載せたほうが回答を得やすいと思います。

  • YUI_AI
  • ベストアンサー率45% (303/661)
回答No.1

abs()関数のなかで、if文で0未満(マイナス)か判断をして0未満であれば0からその引数の値を引いて、配列に格納し直してあげれば良いと思いますが。

関連するQ&A