PDA

View Full Version : [C++] Creare matrice numerica casuale di 10 righe e 10 colonne


marambano
22-10-2018, 02:19
Salve a tutti, sto studiando da poco il C++, e sto creando ancora dei programmi abbastanza semplici in modo da capire bene le basi prima di procedere con programmi più avanzati.

Vi spiego il problema: ho scritto un programma che dovrebbe creare una matrice 10x10 di numeri casuali (compresi tra 0 e 100), ma in realtà mi crea una matrice con 10 righe di numeri uguali.
Ho provato a risolvere ma ancora non ci sono riuscito, lascio qui il codice sperando nel vostro aiuto.
Grazie in anticipo


/*
Programma che genera una matrice casuale 10x10
*/

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <ctype.h>
#include <string.h>
#include <stdbool.h>


using namespace std;

int main () {
int a,b;
int v[a][b];
int i,j;
int num;

cout<<"Ora uscira' a schermo una matrice casuale 10x10.\n\n";

//generazione matrice

for(i=0; i<10; i++){
for(j=0; j<10; j++){
num=rand()%100;
v[i][j]=num;
}
}

//stampa a schermo della mattrice

for(i=0; i<10; i++){
cout<<"\n";
for(j=0; j<10; j++){
cout<<v[i][j]<<" ";
}
}

cout<<"\n\n";

system("pause");
}

marambano
23-10-2018, 01:34
Come dimensioni della matrice passi due variabili non inizializzate.. Devi SEMPRE inizializzare le variabili che usi (in questo caso a 10, le dimensioni che vuoi).

Compila inoltre i programmi sempre con il massimo livello di Warning per capire possibili problemi al tuo codice.

Inoltre se vuoi un seed unico ogni volta che il programma viene avviato guarda srand e time.
]

Hai ragione, chiedo scusa ma me ne ero completamente dimenticato di inizializzare le varibili, difatti appena le ho inizializzate ho risolto tutto.

Perdonami, ma che intendi con "compilare sempre con il massimo livello di warning"?

Purtroppo sono costretto ad usare come IDE Dev-C++ in quanto è quello che userò per fare gli esami, nonostante lo odi.

GTKM
25-10-2018, 18:41
Comunque, stai imparando il C++, ma scrivendo codice C.