Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione
HONOR ha finalmente lanciato il suo nuovo flagship: Magic 8 Pro. Lo abbiamo provato a fondo in queste settimane e ve lo raccontiamo nella nostra recensione completa. HONOR rimane fedele alle linee della versione precedente, aggiungendo però un nuovo tasto dedicato all'AI. Ma è al suo interno che c'è la vera rivoluzione grazie al nuovo Snapdragon 8 Elite Gen 5 e alla nuova MagicOS 10
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Le webcam Insta360 Link 2 Pro e Link 2C Pro sono una proposta di fascia alta per chi cerca qualità 4K e tracciamento automatico del soggetto senza ricorrere a configurazioni complesse. Entrambi i modelli condividono sensore, ottiche e funzionalità audio avanzate, differenziandosi per il sistema di tracciamento: gimbal a due assi sul modello Link 2 Pro, soluzione digitale sul 2C Pro
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70 porta il concetto di smartphone ultrasottile su un terreno più concreto e accessibile: abbina uno spessore sotto i 6 mm a una batteria di capacità relativamente elevata, un display pOLED da 6,7 pollici e un comparto fotografico triplo da 50 MP. Non punta ai record di potenza, ma si configura come alternativa più pragmatica rispetto ai modelli sottili più costosi di Samsung e Apple
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-03-2005, 14: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, 15: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, 15: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, 16: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, 18: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, 20: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


HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione HONOR Magic 8 Pro: ecco il primo TOP del 2026! L...
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata Insta360 Link 2 Pro e 2C Pro: le webcam 4K che t...
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza Motorola edge 70: lo smartphone ultrasottile che...
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026 Display, mini PC, periferiche e networking: le n...
Le novità ASUS per il 2026 nel settore dei PC desktop Le novità ASUS per il 2026 nel settore de...
Il MacBook Pro è sempre più...
Il prezzo della Switch 2 potrebbe divent...
TikTok chiarisce il funzionamento della ...
Samsung Galaxy A07 5G: il nuovo entry le...
Realme 16 in arrivo: un mix tra iPhone A...
Domenica di follia su Amazon: iPhone 17 ...
Questo portatile HP OMEN con Core Ultra ...
Robot aspirapolvere al prezzo giusto: le...
Il nuovo M5 Max potrebbe avere una GPU p...
Pulizie automatiche al top (e a prezzo B...
Casa più calda, spese più leggere: Tado ...
Mini PC mostruoso in offerta nascosta su...
Netflix promette 45 giorni di esclusivit...
Gigabyte: un handheld? Sì, ma sol...
Samsung conferma l'arrivo di tre variant...
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:46.


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