我自己學習C++,解決不同的問題。 我想解決最初爲C++中的Pascal設計的問題。 它應該要求用戶輸入3個整數M,N和q。 然後,它應該製作2d的整數大小爲MxN的數組,其中(I = I,... M)行的所有元素將成爲幾何級數的成員,第一個元素等於行數(I),分母q 。C++用戶自定義2維陣列,幾何級數
我想創建一個動態的大規模,但我意識到它不會真的與兩個未定義的整數工作。所以,我嘗試了矢量。我想我是以正確的方式創建它們的,但我不知道如何製作幾何圖形。
這裏是我的代碼:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int m, n, q;
cout << "Enter the number for M \n";
cin >> m;
if (cin.fail())
{
cin.clear();
cin.ignore();
cout << "This is not a number! " << endl;
system("pause");
return 0;
}
cout << "Enter the number for N \n";
cin >> n;
if (cin.fail())
{
cin.clear();
cin.ignore();
cout << "This is not a number! " << endl;
system("pause");
return 0;
}
cout << "Enter the number for Q \n";
cin >> q;
if (cin.fail())
{
cin.clear();
cin.ignore();
cout << "This is not a number! " << endl;
system("pause");
return 0;
}
int** matrix;
matrix = new int*[m];
for (int i = 0; i < m; i++)
matrix[i] = new int[n];
for (int i = 0; i < m; i++)
{
matrix[i][0] = i + 1;
}
for (int i = 0; i < m; i++)
{
for (int j = 1; j < n; j++)
{
matrix[i][j] = (i + 1)*pow(i, j);
cout << matrix[i][j];
}
}
system("pause");
return 0;
}
感謝您的回覆!我想這條線是矩陣的行,例如它應該看起來像這樣。如果它是3x3矩陣。 {1 3 6} {2 6 12} {3 12 24}我就是這麼想的。 –
因此,例如,矩陣[0] [0]將從0開始,矩陣[1] [0]將從一開始? –
是的,行中的第一個數字表示行號。那麼從第二個數字開始的每個數字都是從前面的數字次數q開始的。所以它就像[1 1q 1q * q] –