Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - problema con gli array
Forum - C/C++ - problema con gli array

Avatar
lucky (Member)
Rookie


Messaggi: 32
Iscritto: 28/06/2008

Segnala al moderatore
Postato alle 18:25
Sabato, 30/01/2010
Codice sorgente - presumibilmente C++

  1. #include <stdio.h>
  2. #include <iostream.h>
  3. //#include <csting>
  4. int p_e( char *vett, int grandezza_vett, char elemento )
  5. {
  6.    int i;
  7.    for ( i=0; i<grandezza_vett; i++ )
  8.    {
  9.      if ( vett[ i ] == elemento )
  10.      {
  11.         return i;
  12.      }
  13.    }
  14.    return -1;
  15.    }
  16.    
  17.  
  18. int main(int argc, char *argv[])
  19. {
  20.  
  21.    
  22.  
  23.  
  24.     char chiaro[]="ciao";
  25.     char kiave[]="cane";
  26.     int c[4];    
  27.     int k[4];
  28.     int n=0;
  29.     int cifr[4];
  30.     char cifra;
  31.     char range[26]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
  32.  
  33.     for (n=0;n>=4;n++)
  34.     {
  35.                       c[n]=p_e(range,26,chiaro[n])+1;
  36.                       k[n]=p_e(range,26,kiave[n])+1;
  37.                       cifr[n]=c[n]+k[n];
  38.                        if (cifr[n]>25){
  39.              cifr[n]=cifr[n]-26;
  40.              cifra=range[cifr[n]];
  41.              printf("%c",cifra);
  42.              }
  43.                  
  44.  
  45.                       }
  46.    
  47.              }



dovrebbe stampare un testo cifrato ma non lo fa non è l'algoritmo di cifratura am più che altro la resa con gli array. sto inpazzendo:grr::grr:

Ultima modifica effettuata da lucky il 30/01/2010 alle 18:26
PM Quote
Avatar
GuglielmoS (Ex-Member)
Pro


Messaggi: 114
Iscritto: 27/11/2009

Segnala al moderatore
Postato alle 18:35
Sabato, 30/01/2010
Scusa ma già la condizione del ciclo è sbagliata ...
Codice sorgente - presumibilmente C/C++

  1. ...
  2. for (n=0;n>=4;n++)
  3. ...

              


La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta.
--Isaac Asimov
PM Quote
Avatar
Lawliet (Normal User)
Expert


Messaggi: 386
Iscritto: 09/04/2009

Segnala al moderatore
Postato alle 18:39
Sabato, 30/01/2010
Stai programmando in C o C++?
E poi.. a vedere questo:
Codice sorgente - presumibilmente C/C++

  1. for (n=0;n>=4;n++)


ci credo che c'è qualcosa che non va...
Non si capisce nulla di ciò che hai fatto.. commenta il programma per capire le tue intenzioni.
edit: anticipato da guglielmoS vabbè.. non l'avevo visto.

Ultima modifica effettuata da Lawliet il 30/01/2010 alle 18:40


"Dai un pesce (programma) a un uomo e lo nutrirai per un giorno. Insegnagli a pescare (programmare) e lo nutrirai per tutta la vita." (niente pappa pronta)
cit. theprogrammer
PM Quote
Avatar
lucky (Member)
Rookie


Messaggi: 32
Iscritto: 28/06/2008

Segnala al moderatore
Postato alle 19:32
Sabato, 30/01/2010
IN CHE SENSO COME DOVREBBE ESSERE

PM Quote
Avatar
Lawliet (Normal User)
Expert


Messaggi: 386
Iscritto: 09/04/2009

Segnala al moderatore
Postato alle 19:37
Sabato, 30/01/2010
Beh.. pensa un pò, come funziona il costrutto iterativo for?
for( espressione di inizializzazione; condizione di ripetizione del ciclo;
  espressione di aggiornamento)
Per iterare, la condizione deve essere vera, quindi nel tuo caso:
(n = 0; n >= 4; n++)
Chiediti: 0 è maggiore o uguale di 4? No, e di conseguenza non entra MAI nel ciclo.


"Dai un pesce (programma) a un uomo e lo nutrirai per un giorno. Insegnagli a pescare (programmare) e lo nutrirai per tutta la vita." (niente pappa pronta)
cit. theprogrammer
PM Quote
Avatar
lucky (Member)
Rookie


Messaggi: 32
Iscritto: 28/06/2008

Segnala al moderatore
Postato alle 19:39
Sabato, 30/01/2010
si credo di aver afferrato provo subito

PM Quote
Avatar
lucky (Member)
Rookie


Messaggi: 32
Iscritto: 28/06/2008

Segnala al moderatore
Postato alle 19:41
Sabato, 30/01/2010
ho messo (n=0;n<=4;n++) ma niente l'output è totalmente vuoto

PM Quote