|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Jun 2010
Messaggi: 3
|
[c] Programma con funzione e stringe
sto sviluppando un programma che data una parola in input elimina le vocali (tranne la prima se c'è) e ti dà in output la parola modificata e il numero di vocali eliminate, per fare il tutto devo usare una funzione esterna a intmain() che ti riesce a far fare tutte e due le cose, il problema è che non mi parte e facendo un pò di tentativi sono riuscito a farlo partire ma in svolgimento mi dà un errore di windows, non oso nemmeno immaginare cosa abbia sbagliato... ci sto perdendo un sacco di tempo senza trovare una soluzione, ecco il programma:
#include <stdlib.h> #include <stdio.h> int EliminaVocaliNonIniziali (char &); int main(){ char parola[20]; printf("inserire parola:"); gets(parola); printf("le vocali eliminate sono:",EliminaVocaliNonIniziali (*parola)); printf("la stringa finale è: %s", parola[20]); system ("PAUSE"); return 0; } int EliminaVocaliNonIniziali (char &parola[20]) { int i=0,a=1,c=0; for (i=1; i<=20; i++) { if((parola[i]!='a') && (parola[i]!='e') && (parola[i]!='i') && (parola[i]!='o') && (parola[i]!='u')) { parola[a++]=parola[i]; c++; } } return c; } grazie a tutti quelli che mi aiuteranno. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Magari riporta gli errori...
Comunque, quelli macroscopici: int EliminaVocaliNonIniziali (char &parola[20]) Il C non ha il passaggio per riferimento, ma solo per puntatore o per valore. Tra l'altro il prototipo non corrisponde all'implementazione. |
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Dec 2007
Messaggi: 10
|
Consiglio anch'io un bel ripasso delle basi.
Una possibile implementazione al tuo problema è la seguente, senza badare troppo alla complessità computazionale. [Edit, vedere in fondo la motivazione]
__________________
If my memory of her has an expiration date, let it be 10000 years. Ultima modifica di cionci : 26-06-2010 alle 09:18. Motivo: non si risolvono completamente gli esecizi, lo vieta il regolamento |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:09.



















