Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Esercizio stringhe C

  1. #1

    Esercizio stringhe C

    Salve a tutti,dovrei sviluppare una function in c che dati come parametri di input una stringa che rappresenta un testo in italiano,determina e restituisce come parametri di output la parola di lunghezza massima contenuta nel testo e appunto la sua lunghezza.
    IL codice che ho sviluppato è questo,il problema è che la printf nel main non mi visualizza la parola ma solo la sua lunghezza..Qualcuno saprebbe aiutarmi?

    codice:
    #include<stdio.h>#include<string.h>
    void LongerWord(char [],int *,char *);
    int main(){
    int lunghezza;
    char testo[100],parola[20];
    printf("Inserire testo: ");
    gets(testo);
    printf("Hai inserito: ");
    puts(testo);
    LongerWord(testo,&lunghezza,parola);
    printf("La parola piu lunga e' %s,lunga %d caratteri",parola,lunghezza);
    return 0;
    
    
    }
    void LongerWord(char testo[],int *max,char *longer)
    {
    int i,cnt=0,n;
    n=strlen(testo);
    for(i=0;i<n;i++){
        if(testo[i]==" " || testo[i]=='\n')
     {
        if(*max<cnt) {
            *max=cnt;
            strncpy(longer,&testo[i-cnt],cnt+1);
                     }
            cnt=0;
     }
     else cnt++;
    }
    }
    Ultima modifica di LeleFT; 01-06-2017 a 18:00 Motivo: Modificati i tag QUOTE con i tag CODE

  2. #2
    Prova a scrivere *longer!! Non ne sono molto sicuro ma potresti provare!! In quanto longer dovrebbe essere un puntatore costante di tipo char e da come vedo nel for dovrebbe essere lui il deputato a rintracciare e a memorizzare la parola più lunga!

    Cmq al posto di gets ti conviene usare la versione più sicura utile a memorizzare anche lo spazio,parlo di:

    fgets() quindi fgets(testo,dim_vett_testo,stdin)

    dim_vett_testo= dimensione del vettore testo
    stdin=permette di acquisire dall'input,la tastiera in questo caso,le parole che vuoi scrivere.
    Ultima modifica di AmedeoFalco; 02-06-2017 a 13:46

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.