2017-01-23 60 views
1

爲我的分配,我們需要創建生成隨機數發生器C++動態陣列

  1. n個隨機數的(0-100)的碼,並將它們存儲在一個陣列
  2. 然後我們不得不詢問用戶是否想查看數組中的數字
  3. 然後詢問用戶他們是否想要按照從0-100的順序查看數組中的數字然後詢問用戶他們是否想要看到數據集的直方圖
  4. 最後,詢問用戶是否想查看數組中的數據數量,最大值,最小值,標準偏差,平均值,方差。

我然而,如果用戶說y問題(AKA步驟2)

任何幫助是很大的發現很難爲程序來顯示陣列的數量

int main() 
{ 

    int numb=0; 
    int *newar=NULL; 
    char response; 
    cout << "enter integer:"; 
    cin >> numb; 

    newar = new int [numb]; 


    for(int i=0;i<numb;i++) 
    { 
     newar[i]=rand() % 101; 

     cout << "Do you want to see array? (Y/N) :"; 
     cin>> response; 
     if (response != 'n') 
     { 
      cout<<newar[i]<<" "; 
     } 
    } 
    return 0; 
} 
+0

究竟是你的問題 - 「發現很難爲節目顯示數字」是不是一個有用的描述。也許如果你嘗試縮進你的代碼,你會更清楚地看到你現在的邏輯是什麼。 –

+0

在循環外部移動該問題。如果答案是肯定的,則進行另一個循環並在數組中打印數字。 –

+0

我道歉。這是我的輸出看起來像請輸入一個正整數:54 您是否想要查看正在生成的數據集的內容? (是/否):y 41您想查看正在生成的數據集的內容嗎? (是/否):y 65是否要查看正在生成的數據集的內容? (是/否):正如你所看到的,它一再提問並且不顯示數組的數字。 –

回答

1

第一填充數組:

for(int i =0; i<numb; i++) 
{ 
    newar[i] = rand() % 101; 
} 

然後提示用戶:

cout << "Do you want to see array? (Y/N) :"; 
cin >> response; 

如果是,做一個新的循環:

if (response != 'n') 
{ 
    for(int j = 0; j < numb; j++) // (you could use i as well, it would be another i 
    { 
     cout << newar[j] << " "; 
    } 
}