2016-09-27 5 views
-1

配列を関数に渡す必要があります。関数内で、新しい整数配列を動的に割り当てます。元の配列の最初のエントリが新しい配列の5番目のエントリになり、元の配列の2番目のエントリが新しい配列の4番目のエントリになるように、文法上、元の配列の値を新しい配列に逆順に割り当てます、 等々。関数に新しい配列の内容を表示します。関数から新しい配列を返さないでください。元の配列の内容を変更しないでください。新しい配列の内容を割り当てて表示するときは、配列へのポインタを使用します。つまり、逆参照を使用します。動的に割り当てられた配列は削除されます。新しい整数配列を動的に割り当てることに苦労します

以下は私が今行っているフレームワークの一種ですが、どのように進行するのか分かりにくいです。

最初の配列は配列内に配列を表示しますが、他の関数に渡して逆の順序で表示する方法とは苦労しています。私は近いところにいたと思うが、もっと混乱すると、私は実際にそれを悪化させ、私が達成しようとしているものから遠ざかったと思う。あなたのコード、その後、あなたが関数内の配列を割り当て、割り当て解除しなければならない場合

void dispArrRev(int *val, int size) 
{ 
    for (int x = size-1; x >0; x--) 
    { 
     cout << x << " = " << *(val + x) << endl; 
    } 
    cout << endl; 
    return; 
} 

#include "stdafx.h" 
#include <iostream> 
using namespace std; 

void dispArr(int *, int); 
void dispArrRev(int *, int); 

void main() 
{ 

    int arrA[5] = { 100, 200, 300, 400, 500 }; 

    dispArr(arrA, 5); 
    dispArrRev(arrA, 5); 


    system("pause"); 
    return; 
} 

void dispArr(int *val, int size) 
{ 
    for (int x = 0; x < size; x++) 
    { 
     cout << x << " = " << *(val + x) << endl; 
    } 
    cout << endl; 
    return; 
} 

void dispArrRev(int *val, int size) //call by pointer 
{ 
    //Stare at white space until light bulb appears :S :| 
} 
+0

あなたが '変更することができます(int型のx = 0; X <サイズ; X ++)'は逆の配列を通過します注文 –

+0

@appleapple s関数内に動的配列を作成することが含まれているようです。 –

+0

"配列を関数に渡す必要があります。" - これまでのところ関数は 'int * val'をとります。 "関数内で、新しい整数配列を動的に割り当てます。" - あなたの番です。整数配列を動的に割り当てるコードを記述します。 –

答えて

0

だけの提案、あなたはそれがあるとして、それを保存し、その逆の順序で、例えば、それを表現することができます(私はnew_arrayが割り当てられているかどうかを確認するためのコードを追加していないことに注意してください)のようになります。

void dispArrRev(int *val, int size) 
{ 
    int *new_array=new int[size]; 
    for (int x = size-1; x >0; x--) 
    { 
     new_array[size-x-1]=*(val + x); 
    } 
    dispArr(new_array,size); 
    delete [] new_array; 
    return; 
} 
+0

ああ、意味があります。私は動的配列を定義する1と逆の順序で2つの表示と苦労していました。私がforループをやったとき、私は負の奇妙な数の束の無限ループを続けました。 \t {\t \t COUT << X << "=" << *(ヴァル+ X)<< ENDL Iは(; X <サイズx--整数X = 0)のための をしていました。 \t} \tcout << endl; コメントを投稿するためにも、書式設定に謝罪してください。S – Sublim3

関連する問題