Announcement

Collapse
No announcement yet.

Array Stringhe e Stampa di sole vocali ( Senator Style )

Collapse
This is a sticky topic.
X
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Array Stringhe e Stampa di sole vocali ( Senator Style )

    PHP Code:
    /*
    *
    *array w di puntatori a stringhe.
    *definire una funzione con il seguente prototipo char * getVocali (chat * ).
    *prende come parametro il puntatore alla stringa s e
    *restituisce un puntatore a una nuova stringa composta da solo le vocali
    *in s al vettore originario
    *applicate tale funzione a ogni elemento array
    *
    */ 
    PHP Code:

    #include <st***.h>
    #include <string.h>
    #include <stdlib.h>

    #define INPUT 100
    #define INPUT_S "99"

    char getvocali (char a); // prototype

    int main(void){

    unsigned int n;
    char ** vet_s// vet a char
    char buf[INPUT]; // buffer temporaneo
    int i// indice

    ////////////////////////////////////////////////////////// numero stringhe
    printf("Numero elementi:\n");
    scanf("%u",&n);
    vet_s = (char **) malloc sizeof(char *));
    ////////////////////////////////////////////////////// inserimento dati
    for (i=0;i<n;i++){

    printf("Inserire la %d stringa\n",i+1);
    scanf("%" INPUT_S "s",buf);
    *(
    vet_s i) =strdup(buf);
    }
    ////////////////////////////////////////////////////// fine inserimento dati


    ////////////////////////////////////////////////////// stampa dati
    printf("\nStringhe inserite:\n");
    for(
    i=0;i<n;i++){
    printf("%s\n",*(vet_s i));
    }

    ////////////////////////////////////////////////////// chiamata a getvocali
    for (i=0;i<n;i++){
    *(
    vet_s i) = getvocali (*(vet_s i));
    }

    ////////////////////////////////////////////////////// stampa stringhe e free dei dati
    printf("\nStringhe con solo le vocali:\n");
    for(
    i=0;i<n;i++){
    printf("%s\n",*(vet_s i));
    free(*(vet_s i));
    }
    free(vet_s);

    return 
    0;

    }

    char getvocali (char a){

    int i// indice
    int j=-1// indice vocali
    char buffer[INPUT]; // buffer

    ////////////////////////////////////////////////////// verifica presenza vocali e inserimento tappi
    for(i=0;*(a+i)!=0;i++){

    if(*(
    a+i)=='a' || *(a+i)=='e' || *(a+i)=='i' || *(a+i)=='o' || *(a+i)=='u'){

    j++;
    *(
    buffer j) = *(a+i);

    }

    }

    *(
    buffer 1) = 0;
    ////////////////////////////////////////////////////// free dei vecchi dati prima di restituire e perdere il puntatore
    free(a);
    return 
    strdup (buffer);

    | VFX Artist, C++ Programmer, HW Overclocker | Web: xgiovio.com Email: xgiovio@gmail.com Twitter: @xgiovio
Working...
X

Google Profile


My name is Giovanni Di Grezia, but people call me xgiovio.

Here is my homepage:.

I'm a VFX Artist and Software Developer.

Giovanni Di Grezia