【发布时间】:2015-05-22 05:36:25
【问题描述】:
我试图根据您输入的值创建一个 (n x n) 大的数组,然后用随机整数填充该数组。各位大神能帮我解决两个问题吗?
任何大于 4 的 n 值都会在最后几行中显示“显示错误”,如果我显示如果它不是错误的情况下它会是什么值,那么它是相同的,并且像这样巨大的东西20019238394
-
为什么它一直创建相同的数字?不是生成新的随机数吗?
#include <iostream> #include <string> #include <cmath> #include <cstdlib> #include <time.h> using namespace std; int arrayCreate(int); int main(int argc, const char * argv[]) { int n; cout << "enter how big your array is (n) , it will be shown as (n x n)" << endl; cin >> n; cout << "------------------------------" << endl; arrayCreate(n); return 0; } int arrayCreate(int n){ srand (time(NULL)); int y=0, x=0; int original[x][y]; //putting in random values for (int y=0; y< n; y++){ for (int x=0; x< n; x++){ int check = (rand() % 9 + 1); if (check < 10) original[x][y] = check; else cout << "error"; } } //displaying those values for (y=0; y<n; y++){ for (x=0; x<n; x++){ if (original[x][y] < 10) cout << original[x][y] << " "; else cout << "error at display"; } cout << " y is " << y << endl;} return original[x][y]; }
【问题讨论】: