Soyez le premier à donner votre avis sur cette source.
Snippet vu 4 613 fois - Téléchargée 39 fois
//--------------------------------------------------------------------------- #include <iostream> using namespace std; #include <iomanip> using std::setw; #pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused int main(int argc, char* argv[]) { //initialisation des variables char ligne[100]; int i=0,j=0,compte[20],espace=20,maxi=0,mini=100; compte[j]=0; cout<<"entrer une ligne de 100 caracteres maxi : "<<endl; //pour rentrer les carractères qui se rangeront dans le tableau ligne cin.getline(ligne,100); cout<<endl; //boucle tant que le carractère testé n'est pas egale a \0 avec i=0 au //premier passage while(ligne[i]!='\0'){ //si le carractère est égale à ' le remplacer par un espace if(ligne[i]=='\'') ligne[i]=' '; //si le carractère est different d'un espace et different de \0 //afficher le carractère et incrémenter la valeur du tableau compte //correspondant au nombre de carractère de chaque mot if(ligne[i]!=' ') { cout<<ligne[i]; compte[j]++; } else { //sinon afficher le nombre de carractères du mot if(compte[j]>1) cout<<setw(espace-compte[j])<<"mot de "<<compte[j]<<" caracteres"<<endl; else cout<<setw(espace-compte[j])<<"mot de "<<compte[j]<<" caractere"<<endl; j++; //incrémenter j pour passer au mot suivant compte[j]=0; //initialiser cette valeur à 0 } i++; //incrémenter i //si le carractère est égale à "," ";" "." "?" incrémenter la variable i if((ligne[i]==',')||(ligne[i]==';')||(ligne[i]=='.')||(ligne[i]=='?')){ i++; } } if(compte[j]>1) cout<<setw(espace-compte[j])<<"mot de "<<compte[j]<<" caracteres"<<endl; else cout<<setw(espace-compte[j])<<"mot de "<<compte[j]<<" caractere"<<endl; j++; //affichage du nombre de mots if(j>1) cout<<endl<<"Cette phrase comporte "<<j<<" mots"<<endl; else cout<<endl<<"Cette phrase comporte "<<j<<" mot"<<endl; //boucle permettant de caluculer le mot le plus long et le mot le plus court for(i=0;i<j;i++){ if(compte[i]>maxi) maxi=compte[i]; if(compte[i]<mini) mini=compte[i]; } //affichage du mot le plus long et du mot le plus court if(mini>1) cout<<endl<<"le mot le plus court possede : "<<mini<<" lettres"<<endl; else cout<<endl<<"le mot le plus court possede : "<<mini<<" lettre"<<endl; if(maxi>1) cout<<"le mot le plus long possede : "<<maxi<<" lettres"<<endl; else cout<<"le mot le plus long possede : "<<maxi<<" lettre"<<endl; cout<<endl<<endl; system("pause"); return 0; } //---------------------------------------------------------------------------
20 déc. 2004 à 23:43
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.