Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- Sviluppare una function C che, dati come parametri di input un array di char e
- il suo size, determina e restituisce come parametro di output l’array
- occorrenze (di size 21) del numero delle occorrenze dell’evento a precede
- ognuna delle 21 lettere dell’alfabeto italiano (cioè occorrenze[0] è il numero
- di volte in cui accade che “a precede a”, cioè che nel testo compare aa,
- occorrenze[1] è il numero di volte in cui accade che “a precede b”, cioè
- che nel testo compare ab, occorrenze[2] è il numero di volte in cui accade
- che a precede c, cioè che nel testo compare ac, …).
- **/
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- void occor_prec_a(int n, char s[], int occor[]) {
- int i,j;
- char *alfabeto = "abcdefghilmnopqrstuvz";
- for(i = 0; i < 21; i++)
- occor[i] = 0;
- for(i=0;i<n;i++)
- {
- s[i]=tolower(s[i]);
- //facciamo diventare tutta da frase in minuscolo in modo da semplificare
- }
- // Scorro tutte le lettere della stringa
- for(i=0;i<strlen(s);i++) {
- // Ogni volta che trovo una a
- if(s[i] == 'a') {
- // Scorro tutte le lettere dell'alfabeto
- for (j=0;j<21;j++) {
- // Controllo tutti le lettere dell'alfabeto, se mi trovo in uno spazio non prendo in considerazione
- if(s[i+1]==alfabeto[j] && s[i+1]!=' ')
- { // l'array avrà quindi le occorrenze di tutte le lettere dopo a
- occor[j]++;
- }
- }
- }
- }
- int x=0, b=21;
- for (x=0;x<b;x++) {
- // Ma stampo solo le occorrenze esistenti
- if(occor[x]!=0) {
- printf("a%c %d\n",alfabeto[x],occor[x]);
- }
- }
- }
- int main() {
- char s[]="Alle anatre piace essere attraenti perche' sono attente";
- int occor[21];
- int n=strlen(s);
- occor_prec_a(n,s,&occor);
- }
Advertisement
Add Comment
Please, Sign In to add comment