Ciao ragazzi,vi scrivo per un problema
Devo realizzare un programmino che date n stringhe,ad ogni stringa mi effettui il controllo per vedere se i caratteri inseriti non siano ne numeri,ne simboli strani.
e successivamente mi ordini le stringhe in ordine crescente o decrescente,in base a quello che preferisce l'utente
ora: per quanto riguarda l'ordinamento ci sono,e anche per quanto riguarda l'algoritmo per il controllo ci sono,ma non so come inserirlo in una funzione,perchè è questo che dovrei fare.
vi posto il codice così magari capite meglio cosa intendo.
codice:#include<stdio.h> #include<iostream> #include<conio.h> #include<string.h> #define dim 5 using namespace std; void controllo(); main() { char a[dim][15]; char temp[15]; int flag=1,k=dim-1,i,scelta; cout<<"Controllo e ordinamento stringhe"; cout<<"\n--------------------------------\n\n\n"; for(i=0;i<dim;i++){ cout<<"\n- Inserisci stringa numero "<<i<<": "; cin>>a[i]; controllo(); } cout<<"\nPremere 1 per ordine crescente oppure 2 per ordine decrescente: "; cin>>scelta; switch(scelta){case 1: while(flag==1 && k>0){ flag=0; for(i=0;i<k;i++){ if(strcmp(a[i],a[i+1])>0){ strcpy(temp,a[i+1]); strcpy(a[i+1],a[i]); strcpy(a[i],temp); flag=1; } } k=k-1; } break; case 2: while(flag==1 && k>0){ flag=0; for(i=0;i<k;i++){ if(strcmp(a[i],a[i+1])<0){ strcpy(temp,a[i+1]); strcpy(a[i+1],a[i]); strcpy(a[i],temp); flag=1; } } k=k-1; } break; default:cout<<"\nErrore: le scelte possibili sono 1 o 2"; } for(i=0;i<dim;i++){ cout<<a[i]<<"\n"; } getch(); }void controllo(){ int lung=0,flag=1,i; lung=strlen(a); for(i=0;i<lung;i++){ a[i]=tolower(a[i]); } if(lung+1>15){ cout<<"\nErrore: Dimensione non consentita"; } while((i<lung) && flag){ if(a[i]<97 && a[i]>122){ flag=0; cout<<"\n"<<a[i]<<" Carattere non valido"; } i++; } }

Rispondi quotando