| Precedente :: Successivo |
| Autore |
Messaggio |
bronx87 Utente del Forum


Registrato: Jun 17, 2002 Messaggi: 55 Località: .........BARI
|
Inviato: Mer Gen 02, 2008 12:18 am Oggetto: [c]modificare questo programmino |
|
|
| Codice: | #include <stdlib.h>
#include <stdio.h>
#include<string.h>
int contaVocali(int k,char *stringa);
int main(void)
{
char stringaDaLeggere[51];
int conta;
int k;
printf("\n\ninserire la stringa:");
gets(stringaDaLeggere);
k=0;
conta=contaVocali(k,stringaDaLeggere);
printf("ho trovato %d vocali\n\n",conta);
system("PAUSE");
return EXIT_SUCCESS;
}
int contaVocali(int k,char *stringa){
int conta=0;
int i;
i=strlen(stringa);
for(k=0;k<i;k++)
{
if((stringa[k]=='a')||(stringa[k]=='e')||(stringa[k]=='i')||(stringa[k]=='o')||(stringa[k]=='u'))
{switch(stringa[k])
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
case 'A':
case 'E':
case 'I':
case 'O':
conta++;
}
else
{++conta;
contaVocali(0,stringa);
}
}
return (conta);
}
|
ragazzi sapreste aiutarmi a trasformare la funzione contaVocali di questo programmino in una ricorsiva?sono alle prime armi ho un professore che non sa spiegare un cavolo l'ultima mia speranza siete voi! grazie in anticipo tutti! _________________ [img]http://digilander.libero.it/siempreche/sito/bse/che1.jpg[/img]
|
|
| Torna in cima |
|
 |
bronx87 Utente del Forum


Registrato: Jun 17, 2002 Messaggi: 55 Località: .........BARI
|
Inviato: Mer Gen 02, 2008 12:22 am Oggetto: codice giusto |
|
|
non guardate quel codice quella era una prova che avevo fatto ma senza alcun risultato positivo questo e' il codice giusto!:: | Codice: | #include <stdlib.h>
#include <stdio.h>
#include<string.h>
int contaVocali(char *stringa);
int main(void)
{
char stringaDaLeggere[51];
int conta;
printf("\n\ninserire la stringa:");
gets(stringaDaLeggere);
conta=contaVocali(stringaDaLeggere);
printf("ho trovato %d vocali\n\n",conta);
system("PAUSE");
return EXIT_SUCCESS;
}
int contaVocali(char *stringa){
int conta=0;
int i,k;
i=strlen(stringa);
for(k=0;k<i; k++){
switch(stringa[k]){
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
case 'A':
case 'E':
case 'I':
case 'O':
conta++;
}
}
return conta;
}
|
_________________ [img]http://digilander.libero.it/siempreche/sito/bse/che1.jpg[/img]
|
|
| Torna in cima |
|
 |
Morfeus666 Assiduo del Forum


Registrato: May 26, 2003 Messaggi: 526 Località: BERGAMO
|
Inviato: Ven Gen 04, 2008 11:17 am Oggetto: |
|
|
Scusa, volevo solo farti notare una cosa, giusto per evitare l'errore, di inserire questo case dove ho messo la freccia:
| Codice: | for(k=0;k<i; k++){
switch(stringa[k]){
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
case 'A':
case 'E':
case 'I':
case 'O':
case 'U': <----------------------------------------------------
conta++;
} |
_________________ "Non è difficile fare il salto, lo è il convincersi di poterlo fare..." |
|
| Torna in cima |
|
 |
alexfox Nuovo del Forum


Registrato: Jun 07, 2008 Messaggi: 3
|
Inviato: Sab Giu 07, 2008 10:39 am Oggetto: |
|
|
| Puoi utilizzare un do - while oppure un altro switc... ora provo a modificartelo e poi invio... |
|
| Torna in cima |
|
 |
alexfox Nuovo del Forum


Registrato: Jun 07, 2008 Messaggi: 3
|
Inviato: Sab Giu 07, 2008 12:54 pm Oggetto: |
|
|
CODICE RICORSIVO:
#include <stdlib.h>
#include <stdio.h>
#include<string.h>
#include<conio.h> //SOLO WINDOWS (per utilizzare getch() devi inserire questa libreria!!)
#define MAX 100
int contaVocali(char *stringa);
int main()
{
char stringaDaLeggere[MAX];
int conta;
do
{
printf("\nInserire la stringa: ");
gets(stringaDaLeggere);
conta=contaVocali(stringaDaLeggere);
printf("Ho trovato %d vocali.\n\n",conta);
printf("Vuoi rieseguire? s/n \n");
}while(getch()!='n');
return 0;
}
int contaVocali(char *stringa){
int conta=0;
int i,k;
i=strlen(stringa);
for(k=0;k<i; k++){
switch(stringa[k]){
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
case 'A':
case 'E':
case 'I':
case 'O':
case 'U':
conta++;
}
}
return conta;
} |
|
| Torna in cima |
|
 |
|