bogdanNiculeasa

Interschimbare-vocala consoana

Jan 11th, 2023
763
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.26 KB | None | 0 0
  1. #include <iostream>
  2. #include<string.h>
  3. #include <ctype.h>
  4. using namespace std;
  5.  
  6. int isVowel(char ch);
  7. int isConsonant(char ch);
  8.  
  9.  
  10. int main()
  11. {
  12.     //0 1 2 3 4 5 6
  13.     //p r o g r a m
  14.     char s[11];
  15.     cin >> s;
  16.     int pozitiePrimaVocala = -1;
  17.     int pozitieUltimaConsoana = -1;
  18.     for (int i = 0; i < strlen(s); i++) {
  19.         if (pozitiePrimaVocala == -1 && isVowel(s[i])) {
  20.             pozitiePrimaVocala = i;
  21.         }
  22.         else if (isConsonant(s[i])) {
  23.             pozitieUltimaConsoana = i;
  24.         }
  25.     }
  26.  
  27.     if (pozitiePrimaVocala != -1 && pozitieUltimaConsoana != -1) {
  28.         swap(s[pozitiePrimaVocala], s[pozitieUltimaConsoana]);
  29.         cout << s;
  30.     }
  31.     else {
  32.         cout << "IMPOSIBIL";
  33.     }
  34.  
  35.     return 0;
  36. }
  37.  
  38. int isVowel(char ch) {
  39.     return strchr("aeiouAEIOU", ch) != NULL;
  40. }
  41.  
  42. int isConsonant(char ch) {
  43.     if (((ch > 'a' && ch <= 'z') || (ch > 'A' && ch <= 'Z')) &&
  44.         !isVowel(ch)
  45.         ) {
  46.         return 1;
  47.     }
  48.     else {
  49.         return 0;
  50.     }
  51. }
  52.  
  53. // isalpha => verifica daca un caracter este alfabetic sau nu(adica daca este o litera sau nu)
  54. //int isConsonant(char ch) {
  55. //    if ( isalpha(ch) && !isVowel(ch)) {
  56. //        return 1;
  57. //    }
  58. //    else {
  59. //        return 0;
  60. //    }
  61. //}
Advertisement
Add Comment
Please, Sign In to add comment