• ベストアンサー

配列要素の値の入れ替え

C++の問題で分からないものがあります。 10個の要素を持つ整数型配列を宣言し、for文を使用して各要素に順番に1~10の要素を代入する。次に、関数名RVを使用して配列要素の値を入れ替えにより10~1の順番に並べ替えなさい。各要素への直接入力は行わないこと。 という問題で、1~10までの要素を代入することは出来るのですが、配列要素の入れ替えとはどうやったら良いのでしょうか? 教えていただけませんか?お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

例えば #include <iostream> #include <algorithm> #include <iterator> template <typename T, size_t N> void RV(T (&data)[N]) { std::reverse(data, data+N); } template <typename T, size_t N> void output(std::ostream &os, T (&data)[N], const char *delim = "") { std::copy(data, data+N, std::ostream_iterator<T>(os, delim)); } int main() { int data[10]; for (int i = 0; i < sizeof data/sizeof data[0]; ++i) { data[i] = i+1; } output(std::cout, data, " "); std::cout << '\n'; RV(data); output(std::cout, data, " "); std::cout << '\n'; } でいいかどうかは知らん.

その他の回答 (1)

noname#185374
noname#185374
回答No.1

0~4のiに対して a[i] → d a[9-i] → a[i] d → a[9-i] でどうでしょう

myon63
質問者

お礼

回答ありがとうございます! とても参考になりました。

関連するQ&A

専門家に質問してみよう