nonticonosco (Normal User)
Newbie
Messaggi: 14
Iscritto: 02/03/2017
|
Ciao a tutti mi è stato dato un progetto che devo completare per poter effettuare la prova orale e questo è il mio primo programma quindi non so bene cosa scrivere o dove mettere le mani. voglio farlo da solo ma mi serve sapere se sto procedendo bene oppure sto solo perdendo tempo
la traccia inizia così : Si supponga di avere quattro macchine al centro dei quattro lati opposti di una griglia
Le macchine possono muoversi in una della quattro posizioni vicine.
La griglia è formata da mura esterne ed è di 8x8 caselle.
Codice sorgente - presumibilmente C++ |
#include <stdio.h> #include <stdlib.h> #include <time.h> void muovi_gialla(int random, char griglia[7][7], int *G_x, int *G_y); /* Definisco i valori costanti */ #define righe 7 #define colonne 7 #define auto1 R #define auto2 V #define auto3 G #define auto4 B int main () { int i,j,G_x,G_y,random; srand(time(NULL)); char griglia[7][7]={{0,0,0,'R',0,0,0}, {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,0,0,'G',1,0,'V'}, {0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {0,0,0,'B',0,0,0}}; G_x=3; G_y=3; for (i=0;i<righe;i++){ printf ("\n"); for (j=0;j<colonne;j++){ printf ("%3c",griglia[i][j]);}} random= rand()%30+1; muovi_gialla(random, griglia, &G_x, &G_y); printf("\t\t Random G: %d", random); printf("\n\n\n"); for (i=0; i<7; i++) //visualizza sullo schermo il campo dopo il primo movimento della macchina { for (j=0; j<7; j++) printf("%3c", griglia[i][j]); printf("\n"); } return 0; } void muovi_gialla(int random, char griglia[7][7], int *G_x, int *G_y) { if ((random <=30)&&(griglia[3][4]!=0)) //avanti 30% con controllo cella avanti { griglia[*G_x][*G_y]=' '; *G_y=*G_y+1; } griglia[*G_x][*G_y]='G'; }
|
ed ora dovrei far muovere ogni auto in modo randomico (avanti,dietro,destra,sinistra) e dovrei farlo tramite una function ma non ho mai usato il comando rand. Consigli ?
Ultima modifica effettuata da nonticonosco il 06/03/2017 alle 16:00 |
nessuno (Normal User)
Guru^2
Messaggi: 6390
Iscritto: 03/01/2010
|
Se a sinistra è per il 30% delle volte, se estrai un valore da 1 a 100, il 30% è un valore da 1 a 30, e così via.
Il problema è che il testo parla di varie direzioni con un totale di 85 % delle probabilità, ma non dice cosa fa per il rimanente 15 % (sta ferma?)
P.S. Tu vai alle superiori/università? Le percentuali le hai studiate? Le proporzioni?
P.P.S. Non hai risposto su cosa intendevi con "automatico" e "manuale". Spiegati.
Ultima modifica effettuata da nessuno il 02/03/2017 alle 14:54
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità. |