Esercizio stringhe

di il
7 risposte

Esercizio stringhe

Salve ho un problema con un punto di una traccia di informatica dato che è da poco che mi sono approcciato a questo magnifico mondo del linguaggio C.
Mi potreste spiegare come risolvere questo punto?
1- Il programma per ogni stringa letta produce una nuova stringa che contiene, ogni lettera minuscola della frase originale, seguita dal suo numero di occorrenze nella frase.
Aspetto presto un vostro responso ,grazie e buona giornata.
Il testo da analizzare è il seguente:
nel mezzo del cammin di nostra vita
mi ritrovai per una selva oscura
che la diretta via era smarrita

7 Risposte

  • Re: Esercizio stringhe

    Ma cosa vorresti sapere con precisione? Bisognerebbe capire se sai come si tratta una stringa e cosa non sai fare esattamente.

    In realtà dovresti proporre un codice per provare a risolvere il problema e vediamo cosa non sai fare.
  • Re: Esercizio stringhe

    Il mio problema è che non so proprio come impostare il codice
  • Re: Esercizio stringhe

    Hai detto che è "un punto" di una traccia. E il resto? Lo hai scritto?

    Ma comunque, non sai neanche come iniziare? Non sai neanche come inserire il testo da esaminare in una stringa?
  • Re: Esercizio stringhe

    Ho fatto solo l'apertura da file delle stringhe ed è corretta però adesso questo punto non so proprio come impostarlo
  • Re: Esercizio stringhe

    Intanto posta il codice che hai fatto così si parla di qualcosa di concreto.

    Poi devi contare le occorrenze delle lettere della frase. Per farlo usa un vettore di 26 interi che all'inizio azzeri e in cui memorizzi il numero di lettere trovate nella frase. Se trovi una 'a' aumenti di uno il primo elemento del vettore e così via (usando il codice ASCII). Lo fai per tutte le lettere comprese nella frase.

    Intanto prepara un ciclo for per la scansione di tutte le lettere della stringa.
  • Re: Esercizio stringhe

    #code
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #define max 100

    int main()

    {
    char stringa[max];
    FILE *fp;
    int i,j,k;
    fp = fopen("input.txt","r");
    if(fp!=NULL)
    {
    while(fgets(stringa,max,fp)!=NULL)
    {
    if(stringa[strlen(stringa)-1]== '\n')
    printf("%s",stringa);
    }
    }

    {

    FILE * fp;
    int i;
    fp = fopen("input.txt","r");
    long int caratteri[256]={0};
    char stringa=0;
    while ((stringa=(char)fgetc(fp)) != EOF)
    caratteri[stringa]++;
    for (i = 0; stringa != '\0'; i++)
    for (i=65; i<91;i++) printf("Lettera %c ( o %c ):\t %ld occorrenze\n", (char)i, (char)i+32, caratteri + caratteri[i+32]);
    return 0;

    }
    }
    Sono riuscito ad elaborare un algoritmo che mi permette di visualizzare il numero di occorrenza di tutto il testo, ma a me serve il numero di occorrenza per ogni stringa.Poiché una volta svolto devo inserire in una struct sia la prima stringa che la seconda e infine il conteggio complessivo sia per la prima stringa che per la seconda, ossia quella con il numero di occorrenze. Ecco perché necessito di fare il numero di occorrenze per stringhe e non per testo completo.
  • Re: Esercizio stringhe

    Usa i tag CODE (come da regolamento) per il codice nel forum altrimenti non si capisce nulla.

    Per tutto il testo o per ogni stringa la cosa non cambia molto. Ma il codice non si capisce senza tag CODE
Devi accedere o registrarti per scrivere nel forum
7 risposte