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++ - operatore relazionale.....
Forum - C/C++ - operatore relazionale.....

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
giocala88 (Normal User)
Expert


Messaggi: 243
Iscritto: 23/04/2008

Segnala al moderatore
Postato alle 12:49
Venerdì, 13/06/2008
Salve, non è che potretste dirmi come mai l'operatore relazionale non funziona come dovrebbe???....grazie anticipatamente

Codice sorgente - presumibilmente C

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.     double frequenze, frequenza_min;
  7.     int i, j, n;
  8.     int *a;
  9.     char lettere[27] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'L', 'M', 'N', 'O', 'P',
  10.                         'Q', 'R', 'S', 'T', 'U', 'V', 'Z', 'Y', 'W', 'X', 'K', 'J'};
  11.  
  12.  
  13.     /* menu */
  14.     for(i = 0; i < 18; ++i)
  15.        printf("-");
  16.     printf("\nCODICE DI HUFFMAN\n");
  17.     for(i = 0; i < 18; ++i)
  18.        printf("-");
  19.        printf("\n");
  20.  
  21.     /* acquisire il numero di frequenze */
  22.     printf("\nAcquisire Frequenze: ");
  23.     scanf("%d",
  24.            &n);
  25.  
  26.     /* calloc */
  27.     a = (int *)calloc(n,
  28.                       sizeof(int));
  29.  
  30.     /* acquisire i rispettivi valori */
  31.     printf("\n");
  32.     for(i = 0; i < n; ++i)
  33.     {
  34.         printf("\n%c -> ", lettere[i]);
  35.         scanf("%lg",
  36.                &frequenze);
  37.     }
  38.  
  39.     /* visualizza l'input acquisito */
  40.  
  41.     frequenza_min = (frequenze < frequenze)? frequenze:frequenze;
  42.     printf("%g", frequenza_min);
  43.  
  44.  
  45.     return 0;
  46. }



Ultima modifica effettuata da pierotofy il 13/06/2008 alle 20:00
PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6116
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 13:13
Venerdì, 13/06/2008
Testo quotato

Postato originariamente da giocala88:
frequenza_min = (frequenze < frequenze) ? frequenze:frequenze;



?

Ma scusa un secondo... cosa volevi fare con questa istruzione? Perchè da come l'hai scritta questo è l'equivalente di:

Se x < x allora x, altrimenti x

In pratica frequenza_min viene sempre impostata al valore di frequenze.


Seguimi su Twitter: http://www.twitter.com/pierotofy

Fai quello che ti piace, e fallo bene.
PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 18:00
Venerdì, 13/06/2008
Se NON si usa il tasto Code (e i tag code) quando viene trovato un

[ i ]

(senza gli spazi) viene compreso come codice per il "corsivo" e non visualizzato e non si capisce nulla ...

Lo ripeto ... finche' il codice non sara' incluso nei tag code, non sara' comprensibile e non si potra' rispondere ...

PM Quote
Avatar
giocala88 (Normal User)
Expert


Messaggi: 243
Iscritto: 23/04/2008

Segnala al moderatore
Postato alle 23:39
Venerdì, 13/06/2008
innanzitutto mi scuso...l'istruzione vuole confrontare le frequenze inserite....formulo meglio la domanda...Come posso confrontare i dati input????...grazie

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6116
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 17:34
Sabato, 14/06/2008
Ma in che maniera devi confrontare i dati? Sii più precisa nelle domande per favore.


Seguimi su Twitter: http://www.twitter.com/pierotofy

Fai quello che ti piace, e fallo bene.
PM Quote
Avatar
giocala88 (Normal User)
Expert


Messaggi: 243
Iscritto: 23/04/2008

Segnala al moderatore
Postato alle 18:10
Sabato, 14/06/2008
Allora....Devo acquisire delle frequnze (valori double) attraverso un ciclo for (come si vede dinamicamnte);

questi valori double devono essere confrontati tra di loro;

la domanda è: come faccio a confrontare la frequenza 1 con la frequenza 2 con la freequenza n...in un ciclo fo????l'operatore relazionale che ho usato risulta sbagliato....perchè?...spero di essere stato chiaro....

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6116
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 15:16
Domenica, 15/06/2008
Confrontati in che maniera? E' una ricerca del minimo?


Seguimi su Twitter: http://www.twitter.com/pierotofy

Fai quello che ti piace, e fallo bene.
PM Quote
Avatar
giocala88 (Normal User)
Expert


Messaggi: 243
Iscritto: 23/04/2008

Segnala al moderatore
Postato alle 15:22
Domenica, 15/06/2008
esattamente devoricercare il minimo tra quelli inseriti...:k:

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6116
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 0:13
Lunedì, 16/06/2008
E' sbagliata la logica del codice quindi. Per ricercare il minimo basta che nel ciclo dove acquisisci l'input ad ogni iterazione controlli se il valore inserito è minore del valore precedente...

Io lo imposterei così:

Codice sorgente - presumibilmente C/C++

  1. /* acquisire i rispettivi valori */
  2. printf("\n");
  3.  
  4. printf("\n%c -> ", lettere[0]);
  5. scanf("%lg",&frequenza_min);
  6.  
  7. for(i = 1; i < n; ++i)
  8. {
  9.     printf("\n%c -> ", lettere[i]);
  10.     scanf("%lg",&frequenze);
  11.     if (frequenze < frequenza_min) frequenza_min = frequenze;
  12. }
  13.  
  14. printf("%g", frequenza_min);
  15.  
  16. /* ... */



Seguimi su Twitter: http://www.twitter.com/pierotofy

Fai quello che ti piace, e fallo bene.
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo