2017-11-07 23 views
-2

大学でC++を使用してプログラムをコーディングする必要があります。配列の操作

3x3マトリックスのすべての要素を入力するように求められました。そして、すべての要素は陽性でなければなりません。ここまでは順調ですね。行列の各行はR^3ベクトルの成分を表します。したがって、3つのベクトル(3つの1D配列)があります。私は各ベクトルのモジュラスを計算しなければなりませんでした。

ここで問題が発生します。次のステップは、最大のモジュラスがどのベクトルにあるかを取得し、その位置を戻すことです。これらはすべて関数 - > int largestModulus(int Modulus [3])を使用しています。どうやってやるの?これはすべて比較についてですが、今回はベクトルを比較しています。異なる単一の要素を比較する方法しか知りません。ご協力いただきありがとうございます!!関数の引数に

+0

でなければなりません'std :: array'を使うと' operator == 'だけ使うことができ、期待どおりに動作します。 C配列を使用している場合は、それらを使用しないでください。 C配列を使用する必要がある場合は、すべての数値を個別に比較するだけです。 ['std :: tie'が助けることができる](https://stackoverflow.com/q/6218812/3484570)。 – nwp

+0

ようこそスタックオーバーフロー!良い質問をまとめるには、[How to ask](https://stackoverflow.com/help/how-to-ask)ページを参照してください。手元にある問題に直面する:ベクトルではなく数であるモジュロを比較するように要求されます。 –

答えて

0

、 あなたは2次元マトリックスを通過させ、受信しているので、パラメータは「ベクター」であなたは `のstd :: vector`または平均すると仮定すると

int largestModulus (int Modulus[][3]) 
+0

'int largestModulus(int Modulus [3])'は割り当てによって与えられ、変更することはできません。 – nwp