Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - simulare codice segreto
Forum - C/C++ - simulare codice segreto

Avatar
asteroid (Normal User)
Newbie


Messaggi: 17
Iscritto: 21/01/2011

Segnala al moderatore
Postato alle 13:33
Mercoledì, 23/02/2011
simulare un sistema per determinare un codice segreto. Il pro-
grammatore de finisce un codice di 5 lettere dell'alfabeto e in maniera casuale simula dei
codici fi no a che non trova quello esatto. Visualizzare il numero di prove e ettuate, e il codice segreto individuato.
Codice sorgente - presumibilmente C++

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. int main()
  5. {char segreto[]={'o','c','i','o','\0'};
  6.  int tentativi=0;
  7.  int i;
  8.  char cod_casual[5];
  9.   srand(time(NULL));
  10.   for(i=0;i<5;i++){
  11.   while(cod_casual[i]!= segreto[i]){
  12.   cod_casual[i]=rand();
  13.   tentativi++;
  14. }
  15.   cod_casual[i++];
  16. }
  17. for(i=0;i<5;i++){
  18. if(cod_casual[i]==segreto[i])
  19. printf("il codice segreto e':%c\n",cod_casual[i]);
  20. }
  21. printf("il numero dei tentativi:%d\n",tentativi);
  22.   system("PAUSE");     
  23.   return 0;
  24. }


perchè non riesco a stampare il codice segreto...tutto intero ??:_doubt:

PM Quote
Avatar
Riki94 (Normal User)
Pro


Messaggi: 93
Iscritto: 30/07/2009

Segnala al moderatore
Postato alle 13:44
Mercoledì, 23/02/2011
Codice sorgente - presumibilmente Plain Text

  1. if(cod_casual[i]==segreto[i])
  2. printf("il codice segreto e':%c\n",cod_casual[i]);
  3. }


con questa istruzione mostri il primo carattere dell'array cod_casuali.
devi metterci un ciclo for che mostra in sequenza l'array..

PM Quote
Avatar
asteroid (Normal User)
Newbie


Messaggi: 17
Iscritto: 21/01/2011

Segnala al moderatore
Postato alle 15:08
Mercoledì, 23/02/2011
for(i=0;i<5;i++){
if(cod_casual==segreto)
printf("codice segreto e':%c",cod_casual);
}

il ciclo for comprende anke la printf , infatti mi stampa i primi 3 caratteri, mentre la fine della sequenza no...

PM Quote
Avatar
carlduke (Member)
Pro


Messaggi: 153
Iscritto: 29/01/2011

Segnala al moderatore
Postato alle 12:53
Giovedì, 24/02/2011
Testo quotato

Postato originariamente da asteroid:

Codice sorgente - presumibilmente Plain Text

  1. for(i=0;i<5;i++){
  2. if(cod_casual[i]==segreto[i])
  3. printf("codice segreto e':%c",cod_casual[i]);
  4. }





se fai cosi ad ogni iterazione stamperà "il codicè segreto è: ..", se vuoi usare questo metodo devi scrivere

Codice sorgente - presumibilmente Plain Text

  1. printf("Il codice segreto è: ");
  2. for(i = 0;i < 5; i++){
  3.   if(cod_casual[i] == segreto[i])
  4.      printf("%c",cod_casual[i]);
  5. }


Ultima modifica effettuata da carlduke il 24/02/2011 alle 13:12
PM Quote