sto cercando di popolare questa matrice e ho dichirato una struct:
ho usato un punatore matrice di tipo struct e con la malloc ho riservato spazio e ho dichirarato una variabile popolamatrice di tipo struct cella
ora mi sono bloccato come uno stupido su questo...devo riempire la matrice randomicamente con nessun pericolo o bomba ma in questo punto sbaglio mi potreste spiegare cosa faccio di così abominevole?
C:
struct Cella{
enum Tipo_pericolo pericolo;
enum Tipo_oggetto oggetto;
};
enum Tipo_pericolo{
Nessun_pericolo,
bomba };
enum Tipo_oggetto{
bandiera,
nessuna_bandiera
};
ora mi sono bloccato come uno stupido su questo...devo riempire la matrice randomicamente con nessun pericolo o bomba ma in questo punto sbaglio mi potreste spiegare cosa faccio di così abominevole?
matrice[i*n+j].popolamatrice.pericolo=Nessun_pericolo;
C:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "libreria.h"
enum Tipo_pericolo{
Nessun_pericolo,
bomba };
enum Tipo_oggetto{
bandiera,
nessuna_bandiera
};
struct Cella{
enum Tipo_pericolo pericolo;
enum Tipo_oggetto oggetto;
};
int main() {
int a,n;
struct Cella *matrice;
struct Cella popolamatrice;
printf("inserisci la dimensione della scacchiera, n*n \n");
scanf("%d", &n);
matrice=(struct Cella*)malloc(n*n*sizeof(struct Cella));
if (matrice == NULL) {
printf("mi dispiace l'allocazione non è avvenuta con successo\n");
}
for (int i= 0; i<n; i++) {
for (int j = 0; j < n; j++) {
srand(time(NULL));
a=rand() % 2+1;
switch (a) {
case 1: matrice[i*n+j].popolamatrice.pericolo=Nessun_pericolo;
break;
case 2: matrice[i*n+j].popolamatrice.pericolo=bomba;
break;
}
}
}
}
[code]
ecco quello che ho scritto (la parte iniziale sarebbe inclusa nel file libereria.h ma qui l'ho riportata sopra)
Ultima modifica da un moderatore: