Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Dreame Aqua10 Ultra Roller, la pulizia di casa con un rullo
Dreame Aqua10 Ultra Roller, la pulizia di casa con un rullo
Il più recente robot per la pulizia domestica di Dreame, modello Aqua10 Ultra Roller, abbina un potente motore di aspirazione della polvere a un sofisticato sistema di lavaggio con rullo integrato. Il tutto governato dalla logica di intelligenza artificiale, per i migliori risultati
Recensione Realme 15 Pro Game Of Thrones: un vero cimelio tech per pochi eletti
Recensione Realme 15 Pro Game Of Thrones: un vero cimelio tech per pochi eletti
Siamo volati fino a Belfast, capitale dell'Irlanda Del Nord, per scoprire il nuovo Realme 15 Pro 5G Game Of Thrones Limited Edition. Una partnership coi fiocchi, quella tra Realme e HBO, un esercizio di stile davvero ben riuscito. Ma vi raccontiamo tutto nel nostro articolo
GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Laptop insieme per giocare al giusto prezzo
GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Laptop insieme per giocare al giusto prezzo
Il Gigabyte Gaming A16 offre un buon equilibrio tra prestazioni e prezzo: con Core i7-13620H e RTX 5060 Laptop garantisce gaming fluido in Full HD/1440p e supporto DLSS 4. Display 165 Hz reattivo, buona autonomia e raffreddamento efficace; peccano però le USB e la qualità cromatica del pannello. Prezzo: circa 1200€.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-03-2005, 13:46   #1
Vandred88
Member
 
Iscritto dal: Mar 2005
Città: Empoli
Messaggi: 45
Sono nuovo

salve a tutti, sono nuovo in questo forum, e volevo chiedervi un'aiuto
premetto ke di c++ nn so molto, ma le basi si.
io x scuola ho da fare il gioco mastermind, xò non riesco a fare una piccola cosa.
allora io ho un vettore di 6 colori e li devo inserire all'interno di una matrice con 4 colonne in modo casuale, senza xò avere colori uguali.
io sono riuscito a metterli in modo casuale, ma alcune volte succede di avere due o + colori identici e questo è sbagliato.

es:
vett[7]={'G','R','B','V','A','M'};
ed all'interno dell'ultima riga della matrice ci dovrebbe essere la soluzione del gioco con i colori del vettore in modo casuale tutti diversi.
tipo
soluzione = ARVM

voi come fareste??
grazie a tutti.
Vandred88 è offline   Rispondi citando il messaggio o parte di esso
Old 09-03-2005, 14:30   #2
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
le lettere sono in tutto 6, e ne devi scegliere 4, fondamentalmente il problema è questo, ho capito bene?
allora estrai due indici a caso diversi tra loro compresi tra 0 e 6 (inclusi) e quelli sono i due che hai escluso; poi con un ciclo visita tutto il vettore contenente i 6 elementi e ad ogni iterazione gli dici una cosa del tipo "se l'indice corrente è diverso dai due estratti a caso, mettilo nella matrice finale".

PS: x curiosità che scuola fai? e in che città?

ciao
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 09-03-2005, 14:53   #3
Vandred88
Member
 
Iscritto dal: Mar 2005
Città: Empoli
Messaggi: 45
io sono di Empoli, e fo l'ITI Leonardo Da Vinci a Firenze
Vandred88 è offline   Rispondi citando il messaggio o parte di esso
Old 09-03-2005, 15:47   #4
Vandred88
Member
 
Iscritto dal: Mar 2005
Città: Empoli
Messaggi: 45
intendi in questa maniera???

void soluzione(char mat[][8],char vett[6])
{
int x, y, c=0;
x=rand()%7;
y=rand()%7;
if(x!=y)
{
for(int i=0; i<6; i++)
{
if(i!=x && i!=y)
{
if(c<=4)
{
mat[8][c]=vett[i];
c++;
}
}

}
}
Vandred88 è offline   Rispondi citando il messaggio o parte di esso
Old 09-03-2005, 17:27   #5
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
si, ma naturalmente il controllo sulla variabile c è superfluo.
ah, cmq c'è un errore nel for: tu conti da 0 a 5, mentre dovresti contare da 0 a 6; inoltre ti consiglio di reagire in altra maniera se x caso i due numeri estratti sono uguali; te lo riscrivo come lo farei io:

Codice:
char v[7] = "GRBVAM";
char mat[4];
int x, y, i, j = 0;
srand(time(NULL));
x = rand() % 7;
do {
    y = rand() % 7;
}
while (x == y);
for (i = 0; i < 7; i++) {
    if ((i != x) && (i != y)) {
        mat[j] = v[i];
    }
}
considera tuttavia che l'evenienza che rand estragga due volte consecutive lo stesso numero è praticamente impossibile.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 09-03-2005, 19:08   #6
Vandred88
Member
 
Iscritto dal: Mar 2005
Città: Empoli
Messaggi: 45
grazie, cmq nn capisco xke il controllo su c sia superfluo...
e poi nn capisco anche un'altra cosa ke ho fatto io..


Questo do - while dentro al main.
do
{
carica(mat,r);
confronta(mat,r);
stampa(mat,r);
vittoria(mat,r,win);
r++;
}
while(win==0);
r=0;
cout<<"\nAltra partita S/N?";
.........................................................
questo per ora sarebbe la funzione vittoria che controlla se ci sono elementi uguali o no.
se tutti sono uguali vinco e ritorna il valore =1;
altrimenti continuo facendo ritornare il valore win=0;

int vittoria(char mat[][8],int r,int win)
{
for(int c=5; c<8; c++)
{
if(mat[r][4]==mat[r][c])
win=1;
else
win=0;
}
if(win==1)
{
cout<<"***HAI VINTO!!***\n";
return win=1;
}
else
return win=0;
}

cioè di logica quando ritorna il valore win=1 dovrei uscire dal do-while ke è dentro il main e chiedere se voglio fare un'altra partita ... ma cosi nn avviene xke??
Vandred88 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Dreame Aqua10 Ultra Roller, la pulizia di casa con un rullo Dreame Aqua10 Ultra Roller, la pulizia di casa c...
Recensione Realme 15 Pro Game Of Thrones: un vero cimelio tech per pochi eletti Recensione Realme 15 Pro Game Of Thrones: un ver...
GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Laptop insieme per giocare al giusto prezzo GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Lapt...
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile iPhone 17 Pro: più di uno smartphone. &Eg...
Intel Panther Lake: i processori per i notebook del 2026 Intel Panther Lake: i processori per i notebook ...
Cina, effetto sanzioni USA: Cambricon - ...
La gamma Mac riceverà tante novit...
DDR5 supera i 13.000 MT/s, stavolta uffi...
Il nuovo iPhone con display pieghevole p...
ASUS ProArt PA32KCX: ecco a voi il primo...
DAZN ci riprova: piano Full a meno di 20...
Nuovi prezzi, più bassi: scendono...
PC Desktop HP Victus con RTX 4060 e Ryze...
Giù di altri 10€: solo 939€ per M...
Offerte Amazon da non credere: sconti fo...
Windows 11 scivola sugli aggiornamenti d...
Razer Kiyo V2: la nuova webcam 4K con AI...
ASUS ROG NUC 9: i mini PC (ex) Intel, ad...
Streaming illegale, il ministro dello Sp...
Microsoft avrebbe affidato a Intel la pr...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 22:44.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v