« Exercices en langage C++/Les tableaux de char » : différence entre les versions
Contenu supprimé Contenu ajouté
Correction typographiques, mise en forme de certains exercices |
Mise en forme de tous les codes |
||
Ligne 13 :
Voici le fichier source :
<source lang=cpp>
#include <iostream>
bool valide_entier(char
bool valide = true;
refNombreEntier = 0;
int compteur = 0;
while (valide && chaine[compteur]!='\0') {
if (
refNombreEntier = 10 * refNombreEntier + (chaine[compteur] - '0');
compteur++;
} else {
valide = false;
}
}
return valide;
}
int main() {
int
char
do {
std::cout << "Tapez une chaîne de caractères : ";
std::cin >> chaine;
} while (!valide_entier(chaine, nombreEntier));
std::cout << "L'entier vaut : " <<
return
}
</source>
Ligne 91 ⟶ 97 :
{{Boîte déroulante|titre=Solution|contenu =
* 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>
void remplaceVoyelle(char
int
while(
if((chaine[compteur] == 'a') || (chaine[compteur] == 'e') || (chaine[compteur] == 'i') ||
chaine[compteur] = '.';
}
}
}
int main() {
char chaine[255];
std::cout << "
std::cin >> chaine;
remplaceVoyelle(
std::cout << "Voici la phrase avec la modification : "<<
return EXIT_SUCCESS;
}
</source>
Ligne 149 ⟶ 143 :
Voici le fichier source :
<source lang=cpp>
bool chainePrincipaleContientSecondaire(char chainePrincipale[],
char chaineSecondaire[]) {
int ii, i, j = 0;
bool estFini, estTrouve = false;
while (!estTrouve && chainePrincipale[ii] != '\0') {
if(chainePrincipale[ii] == chaineSecondaire[j]){
ii++;
j++;
if (chaineSecondaire[j] == '\0') {
estTrouve = true;
}
} else {
i++;
ii = i;
j = 0;
}
}
return estTrouve;
}
int main() {
char chainePrincipale[255], chaineSecondaire[255];
std::cout << "Tapez
std::cin >> chainePrincipale;
std::cout << "Tapez une chaîne de caractères secondaire : ";
std::cin >> chaineSecondaire;
if(chainePrincipaleContientSecondaire(chainePrincipale, chaineSecondaire)) {
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>
int main() {
char chaine[255];
std::cout << "Tapez un verbe du premier groupe : ";
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>
int main() {
char phrase[50];
char mot[50];
int i, j, indiceDuMot = 0;
int state = 1;
std::cout << "Tapez une phrase : ";
std::cin.getline(phrase, 50);
if (state == 1) {
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;
}
</source>
}}
|