2011-09-04 3 views
0

Je suis invité à trouver le nombre maximum généré à partir d'un tableau 2D: arr [10] [10]. Ce code est-il correct? Pour moi, cela semble fonctionner.Recherche du nombre aléatoire maximum

#include <iostream> 
#include <ctime> 
#include <cstdlib> 
using namespace std; 

int maxArray(int arr[][10], int rcap, int ccap) { 
    int max = arr[10][10]; srand(time(0)); 
    for (int r=0; r < rcap; r++) 
     for(int c=0; c < ccap; c++) 
      if(arr[r][c] > max) max = (rand()%100)+100; 

    return max; 
} 

int main() { 
    int a[10][10]; 
    cout << maxArray (a,10,10) <<endl; 
    return 0; 
} 
+1

Vous ne pouvez pas accéder arr [10] [10]. L'élément maximum est arr [9] [9]. Et vous utilisez les valeurs contenues dans 'a' sans l'initialiser. C'est mauvais! Écrit sous ** b a d ** – xanatos

+0

Vos spécifications sont difficiles à suivre. Pourriez-vous les revoir et essayer d'expliquer encore une fois. –

+0

Pourquoi les balises [visual-C++] et surtout [objectif-C++] sont-elles présentes? – dmckee

Répondre

3

Je pense que vous avez été invité à créer un tableau 2D aléatoire puis trouver le max:

#include <iostream> 
#include <ctime> 
#include <cstdlib> 
using namespace std; 

int maxArray(int arr[][10], int rcap, int ccap){ 
    int max = 0; 
    for (int r=0; r < rcap; r++) 
     for(int c=0; c < ccap; c++) 
      if(arr[r][c] > max) max = arr[r][c]; 

    return max; 
} 

int main() { 
    int a[10][10]; 
    srand(time(0)); 
    for (int r=0; r < 10; r++) 
     for(int c=0; c < 10; c++) 
      a[r][c] = (rand()%100); // make a random array 
    cout << maxArray (a,10,10) <<endl; 
    return 0; 
} 
+0

merci, c'était la partie dont je n'étais pas sûr. où rand()% 100. Je vais le modifier un peu pour obtenir ce que je veux maintenant. Cela m'a indiqué dans la bonne direction. Merci – user836910