« Exercices en langage C++/Les tableaux de char » : différence entre les versions

Contenu supprimé Contenu ajouté
Guilieb (discussion | contributions)
Correction typographiques, mise en forme de certains exercices
Guilieb (discussion | contributions)
Mise en forme de tous les codes
Ligne 13 :
Voici le fichier source :
<source lang=cpp>
#include <iostream>
using namespace std;
 
bool valide_entier(char tchaine[], int &erefNombreEntier) {
{
bool valide = true;
refNombreEntier = 0;
int i=0;
e=0;
if valide = !(tchaine[0] < '1' || tchaine[0] > '9')valide=false;
 
int compteur = 0;
while(valide && t[i]!='\0')
while (valide && chaine[compteur]!='\0') {
{
if (tchaine[icompteur] >= '0' && tchaine[icompteur] <= '9') {e=10*e+(t[i]-'0');i++;}
refNombreEntier = 10 * refNombreEntier + (chaine[compteur] - '0');
else valide=false;
compteur++;
}
} else {
return valide;
valide = false;
}
}
return valide;
}
 
int main() {
 
{
int anombreEntier;
char tchaine[20];
 
do {
do{cout<<"Tapez une chaine :";cin>>t;}while(!valide_entier(t,a));
std::cout << "Tapez une chaîne de caractères : ";
std::cin >> chaine;
} while (!valide_entier(chaine, nombreEntier));
 
std::cout << "L'entier vaut : " <<a nombreEntier << std::endl;
return 0EXIT_SUCCESS;
}
</source>
Ligne 91 ⟶ 97 :
{{Boîte déroulante|titre=Solution|contenu =
 
<source lang=cpp>
* y est une voyelle dans ce programme ;
* la phrase peut contenir des espaces mais doit avoir moins de 80 caractères incluant le '\0' ;
Ligne 97 ⟶ 102 :
* La voyelle est remplacée par un . pour afficher la suppression de la voyelle.
 
<source lang=cpp>
 
#include <iostream>
using namespace std;
#include <conio.h>
//------------------------------------------------------------------------------
 
void remplaceVoyelle(char phrasechaine[]) {
 
{
int icompteur = 0;
while(phrasechaine[icompteur] != '\0') {
if((chaine[compteur] == 'a') || (chaine[compteur] == 'e') || (chaine[compteur] == 'i') ||
{
if((phrase[i] == 'a')||(phrase[i] == 'e')||(phrase[i] == 'i')|| (phrasechaine[icompteur] == 'o') || (phrasechaine[icompteur] == 'u') || (phrasechaine[icompteur] == 'y')) {
chaine[compteur] = '.';
{
}
phrase[i]= '.';
i compteur++;
}
else
{
i++;
}
}
}
 
 
int main() {
 
{
char chaine[255];
int taille = 80;
char phrase[taille];
 
std::cout << "EntrezTapez une phrasechaîne de caractères : ";
std::cin >> chaine;
cin.get (phrase, taille);
//cout << "Voici la phrase sans la modification : "<<phrase<<endl; //peut être activé
 
remplaceVoyelle(phrasechaine);
 
std::cout << "Voici la phrase avec la modification : "<<phrase chaine << std::endl;
return EXIT_SUCCESS;
cout<<"Appuyez sur une touche pour quitter le programme...";
getch();
return 0;
}
</source>
Ligne 149 ⟶ 143 :
Voici le fichier source :
<source lang=cpp>
bool chainePrincipaleContientSecondaire(char chainePrincipale[],
#include<iostream>
char chaineSecondaire[]) {
using namespace std;
 
int ii, i, j = 0;
bool contient(char ch1[],char ch2[])
bool estFini, estTrouve = false;
{
int ii=0,i=0,j=0;
while (!estTrouve && chainePrincipale[ii] != '\0') {
bool fini,trouve;
if(chainePrincipale[ii] == chaineSecondaire[j]){
trouve=false;
ii++;
fini=false;
j++;
while(!trouve && !fini)
if (chaineSecondaire[j] == '\0') {
{
estTrouve = true;
if(ch1[ii]==ch2[j])
}
{
} else {
ii++;j++;
i++;
if(ch2[j]=='\0')trouve=true;
ii = i;
}
j = 0;
else
}
{
}
i++;ii=i;j=0;
return estTrouve;
}
if(ch1[ii]=='\0')fini=true;
}
return trouve;
}
 
int main() {
char chainePrincipale[255], chaineSecondaire[255];
{
char a[50],b[50];
std::cout << "Tapez laune chainechaîne principale,de svpcaractères principale : ";
std::cin >> chainePrincipale;
cin>>a;
cout<<"Tapez la chaine secondaire, svp :";
std::cout << "Tapez une chaîne de caractères secondaire : ";
cin>>b;
std::cin >> chaineSecondaire;
if(contient(a,b))cout<<"La chaine principale contient la chaine secondaire."<<endl;
else cout<<"La chaine principale ne contient pas la chaine secondaire."<<endl;
if(chainePrincipaleContientSecondaire(chainePrincipale, chaineSecondaire)) {
return 0;
std::cout << "La chaine principale contient la chaine secondaire." << std::endl;
} else {
std::cout << "La chaine principale ne contient pas la chaine secondaire." << std::endl;
}
return EXIT_SUCCESS;
}
 
</source>
}}
Ligne 199 ⟶ 194 :
Voici le fichier source :
<source lang=cpp>
#include <iostream>
#include <cstring>
using namespace std;
 
int main() {
{
char tt[20];
cout<<"Tapez un verbe du premier groupe : ";
cin>>tt;
int i;
i=strlen(tt);
if(i<=2 || tt[i-1]!='r' || tt[i-2]!='e')
cout<<"le verbe n'est pas du premier groupe"<<endl;
else
{
tt[i-2]='\0';
cout<<"je "<<tt<<"e"<<endl;
cout<<"tu "<<tt<<"es"<<endl;
cout<<"il "<<tt<<"e"<<endl;
cout<<"nous "<<tt<<"ons"<<endl;
cout<<"vous "<<tt<<"ez"<<endl;
cout<<"ils "<<tt<<"ent"<<endl;
 
char chaine[255];
}
std::cout << "Tapez un verbe du premier groupe : ";
return 0;
std::cin >> chaine;
int longueurChaine = strlen(chaine);
if (longueurChaine <= 2 ||
chaine[longueurChaine-1] != 'r' || chaine[longueurChaine-2] != 'e') {
std::cout << "Le verbe n'est pas du premier groupe." << std::endl;
} else {
chaine[longueurChaine-2] = '\0';
std::cout << "Je " << chaine << "e" << std::endl;
std::cout << "Tu " << chaine << "es" << std::endl;
std::cout << "Il " << chaine << "e" << std::endl;
std::cout << "Nous " << chaine << "ons" << std::endl;
std::cout << "Vous "<< chaine << "ez" << std::endl;
std::cout << "Ils " << chaine << "ent" << std::endl;
}
return EXIT_SUCCESS;
}
</source>
Ligne 243 ⟶ 237 :
Voici le fichier source :
<source lang=cpp>
#include <iostream>
using namespace std;
 
 
int main() {
{
char t[50];
char mot[50];
 
char phrase[50];
int i=0,j=0,state=1,num=0;
char mot[50];
 
int i, j, indiceDuMot = 0;
cout<<"Tapez une phrase : ";cin.getline(t,50);
int state = 1;
 
std::cout << "Tapez une phrase : ";
while(t[i]!='\0'){
std::cin.getline(phrase, 50);
if(state==1)
 
{
if while(tphrase[i] !=' '\0'){
if (state == 1) {
{
state=2;j=0;mot if (phrase[0i]!=t[i];j++;' ') {
state = 2;
j = 0;
mot[0] = phrase[i];
j++;
}
} else {
if (phrase[i] != ' ') {
mot[j] = phrase[i];
j++;
} else {
state = 1;
indiceDuMot++;
mot[j] = '\0';
std::cout << "Mot : " << indiceDuMot << " : " << mot << std::endl;
}
}
i++;
}
if(state == 2) {
indiceDuMot++;
mot[j]='\0';
std::cout << "Mot : " << indiceDuMot << " : " << mot << std::endl;
}
return EXIT_SUCCESS;
}
}
else
{
if(t[i]!=' '){mot[j]=t[i];j++;}
else
{
state=1;
num++;
mot[j]='\0';
cout<<"mot "<<num<<" : "<<mot<<endl;
}
}
i++;
}
if(state==2)
{
num++;
mot[j]='\0';
cout<<"mot "<<num<<" : "<<mot<<endl;
}
return 0;
}
 
</source>
}}