Informatică, întrebare adresată de mararogoz19, 9 ani în urmă

Se citeste de la tastatura un cuvant cu cel putin una si cel mult 20 de litere ale alfabetului englez. Construiti si afisati pe ecran cuvantul obtinut prin interschimbarea primei consoane cu ultima vocala din cuvantul citit. In cazul in care cuvantul este format numai din vocale sau numai din consoane, afisati pe ecran mesajul IMPOSIBIL. Se considera vocale literele a, e, i, o, u, A, E, I, O, U.
Exemplu: dacã se citeste cuvantul Marmorat se va obtine si afisa cuvantul aarmorMt

Răspunsuri la întrebare

Răspuns de ap53
1
#include<iostream.h> #include<string.h> void main() { char s[20], v[]="aeiouAEIOU"; int i,j; cin>>s; i=0; while(strchr(v,s[i])!=0 && i<strlen(s)) i++; j=strlen(s)-1; while(strchr(v,s[j])==0 && j>=0) j--; if(i>=strlen(s) || j==-1) cout<<"imposibil"; else { char aux=s[i]; s[i]=s[j]; s[j]=aux; cout<<s; } }
Răspuns de express
2
#include <iostream>
#include <cstring>
using namespace std;
char s[256],ch;
int n, i, p = -1, u, k;
int main()
{
    cin >> s;
    n = strlen(s);
    for(i = 0; i < n; i ++)
       if(strchr("aeiouAEIOU", s[i])) { p = i; break;}

    for(i = n - 1; i >= 0; i --)
        if(!strchr("aeiouAEIOU", s[i])) { u = i; break;}
    if(p == -1 || u == 0) cout << "IMPOSIBIL";
    else
    {
    ch = s[p];
    s[p] = s[u];
    s[u] = ch;
    cout << s;
    }
   return 0;
}

Alte întrebări interesante