我必須將變量存儲在1d數組中,並使用for循環將它們放入2d數組中。然後我需要初始化2d數組的第0 - 9行到第1個數組的元素,所有這些都將在函數中完成。我的問題如下。操作2d數組的問題
我能否更有效地將數組gamma中的變量存儲到數組inStock中?
如何初始化所有行看起來像這樣,如果它甚至是可能的。
一旦行0 - 9已初始化我需要然後再在陣列中的其餘元素並將它們初始化到前元件
的第三功率例如:
11^3 = 1331,1331^3 = 2357947691等等。
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
const int COLUMNS = 4;
const int ROWS = 10;
void copyGama(int tempGamma[], int gamma_size, int tempArray2[][COLUMNS]);
int main()
{
int gamma[4] = { 11, 13, 15, 17 },
inStock[ROWS][COLUMNS],
Gamma_Size = 4;
void copyGama(gamma, Gamma_Size, inStock);
for (int i = 0; i < ROWS; i++)
{
for (int j = 0; j < COLUMNS; j++)
{
cout << setw(15) << inStock[i][j];
}
cout << "\n";
}
return 0;
}
void copyGama(int tempGamma[], int gamma_size, int tempArray2[][COLUMNS])
{
int copyArray[4];
for (int i = 0; i < gamma_size; i++)
{
copyArray[i] = tempGamma[i];
/* This loops coppies all elements in tempGamma[] and puts them
in copyArray[]
*/
}
for (int i = 0; i < ROWS - 5 ; i++)
{
for (int j = 0; j < COLUMNS - 3; j++)
{
tempArray2[i][j] = copyArray[i];
/* This loop is where inStock[][] is initialized
*/
}
}
for (int i = 4; i < ROWS; i++)
{
for (int j = 0; j < COLUMNS; j++)
{
tempArray2[i][j] = static_cast<double>(pow(tempArray2[i][j], 3));
/*
This is where I attempt to initialize the remaining
elements to the third power of the previous element
*/
}
}
}
當上面的代碼,如果運行輸出看起來像這樣
11 -858993460 -858993460 -858993460
13 -858993460 -858993460 -858993460
15 -858993460 -858993460 -858993460
17 -858993460 -858993460 -858993460
-2147483648 -2147483648 -2147483648 -2147483648
-2147483648 -2147483648 -2147483648 -2147483648
-2147483648 -2147483648 -2147483648 -2147483648
-2147483648 -2147483648 -2147483648 -2147483648
-2147483648 -2147483648 -2147483648 -2147483648
-2147483648 -2147483648 -2147483648 -2147483648
我明白爲什麼對面的前四個行權的列的樣子做,一個是因爲他們被跳過每個循環,我也需要修復。
我真的不明白的是我怎麼能初始化行0 - 9,因爲即使我刪除 - 5或-3分別它仍然無法正常工作
編輯:整理了一些從複製錯誤粘貼
編輯:在循環中添加了註釋要清楚他們的
你應該通過你們的節目逐行使用調試器來縮小錯誤的來源步驟。 –
我編譯時沒有錯誤,如果你的意思是邏輯錯誤,我已經知道它在哪裏,我只是不確定如何解決它。 – Afflicted
這不會編譯:'int(main)',它應該是'int main(){...}' –