Codice ASCII

di il
12 risposte

Codice ASCII

Come conto la grandezza in codice ascii della parola ..verde?

12 Risposte

  • Re: Codice ASCII

    Cos'è la grandezza in codice ASCII?
  • Re: Codice ASCII

    Cioè se ho una stringa str1:verde
    vorrei trovare la somma dei codici ascii che la compongono...
  • Re: Codice ASCII

    
    int i = 0;
    int j = strlen(str1);
    int acc = 0;
    for(;i < j; i++)
       acc += str1[i];
    printf("%d",acc);
    
  • Re: Codice ASCII

    Cioè la conto come un intero ..
  • Re: Codice ASCII

    Lo puoi contare come vuoi il risultato non cambia. Attenzione a non contarlo come char il quale ha la dimensione di un byte (valore massimo 0xFF e cioè 255).
  • Re: Codice ASCII

    Grazie mille domattina provo a inserirlo in un programma
  • Re: Codice ASCII

    ECCO L'ESERCIZIO::: va tutto ok..tranne che a video stampa faccine e segni strani
    /*Scrivere un programma C che:
    · richiede all’utente di immettere tre stringhe str1, str2, str3
    · copia nella stringa str4 la stringa, fra quelle immesse dall’utente, la cui somma dei codici
    ASCII dei caratteri che la compongono è la minore
    · stampa a video la stringa str4
    A tale scopo si usi la funzione int sommaASCII(char str[]) che riceve in ingresso una stringa e
    restituisce la somma dei codici ASCII dei caratteri che la compongono.
    ESEMPIO:
    Se l’utente immette le seguenti tre stringhe:
    str1 v e r d e \0
    str2 b i a n c o \0
    str3 r o s s o \0
    il programma deve stampare a video la stringa:
    str4 v e r d e \0*/
    #include<stdio.h>
    #include<string.h>
    #define dim 20
    int sommaASCII(char str[]);
    int main(){
    char str1[dim];
    char str2[dim];
    char str3[dim];
    char str4[dim];
    int i;
    printf("\nInserisci la stringa 1: ");
    gets(str1);
    printf("\nInserisci la stringa 2: ");
    gets(str2);
    printf("\nInserisci la stringa 3: ");
    gets(str3);
    
    for(i=0;i<dim;i++){
       if((sommaASCII(str1)>sommaASCII(str2))&&(sommaASCII(str1)>sommaASCII(str3))){
                str4==str1;                                                                   
                                                                                   }               
      if((sommaASCII(str2)>sommaASCII(str1))&&(sommaASCII(str2)>sommaASCII(str3))){
                str4==str2;                                                                   
                                                                                   }else{
                str4==str3;                                                                         
                                                                                        }                
                      }
    printf("la frase piu garnde in codice ASCII e': ");
    for(i=0;i<1;i++){
    printf("%s",str4);
                      }
    return 0;
              }
    int sommaASCII(char str[]){
        int i;
        int somma;
        somma=0;
        for(i=0;i<strlen(str);i++){
           somma=somma+str[i];
                                  
                                  }
           
               
             return somma;             
                              }
    
  • Re: Codice ASCII

    Credo che hai messo dei cicli di troppo, ad esempio:
    for(i=0;i<dim;i++){
       if((sommaASCII(str1)>sommaASCII(str2))&&(sommaASCII(str1)>sommaASCII(str3))){
                str4==str1;                                                                   
                                                                                   }               
      if((sommaASCII(str2)>sommaASCII(str1))&&(sommaASCII(str2)>sommaASCII(str3))){
                str4==str2;                                                                   
                                                                                   }else{
                str4==str3;                                                                         
                                                                                        }                
                      }
    e
    printf("la frase piu garnde in codice ASCII e': ");
    for(i=0;i<1;i++){
    printf("%s",str4);
                      }
    Nel primo caso lo scorrimento delle stringhe lo effettui già in ogni sommaASCII(), quindi non capisco perché lo rifai fuori. Probabilmente alla fine funziona comunque, però è molto poco efficiente perché calcoli le somme parziali sia dentro tutte le chiamate della funzione (ma lì è inevitabile) sia col ciclo for (e questo mi pare inutile);
    Nel secondo caso il ciclo dura solo un giro, quindi proprio non capisco a cosa serva.

    Prova a semplificare e guarda se funziona
  • Re: Codice ASCII

    str4==str1;  
    Cos'è?
  • Re: Codice ASCII

    ...la copia..che invece andava fatta con

    strcpy(str4,str1);

    giusto??
  • Re: Codice ASCII

    Bravo
  • Re: Codice ASCII

    Programmando si impara..
Devi accedere o registrarti per scrivere nel forum
12 risposte