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

1. Scrieţi programul C/C++ care citeşte de la tastatură un text cu cel mult 100 de caractere
(doar litere ale alfabetului englez şi spaţii), construieşte în memorie şi apoi afişează pe
ecran şirul de caractere obţinut din şirul iniţial, în care se inserează după fiecare vocală
caracterul *. Se consideră vocale literele a, e, i, o, u, A, E, I, O, U.
Exemplu: dacă se citeşte de la tastatură textul Examenul de bacalaureat se va obţine
şi afişa: E*xa*me*nu*l de* ba*ca*la*u*re*a*t.
2. Scrieţi programul C/C++ care citeşte de la tastatură un text de cel mult 50 de caractere,
(litere mici ale alfabetului englez şi spaţii), text format din mai multe cuvinte, separate prin
câte un spaţiu, şi afişează pe ecran textul obţinut din cel iniţial prin transformarea primei
litere şi a ultimei litere ale fiecărui cuvânt în majusculă, restul caracterelor rămânând
nemodificate.
Exemplu: dacă se citeşte textul azi este examen de bacalaureat, se va afişa AzI
EstE ExameN DE BacalaureaT.

Răspunsuri la întrebare

Răspuns de SKREFI
3

Daca ai intrebari nu ezita sa ma intrebi in comentari!

Exercitiu 1:

#include<iostream>

#include<cstring>

using namespace std;

int main()

{

   char s[256],temp[256];

   cin.get(s,256); cin.ignore();

   for(int i=0;i<strlen(s);i++){

       if(strchr("AEIOUaeiou",s[i]) != nullptr){

           strcpy(temp,s+i+1);

           s[i+1] = '*';

           strcpy(s+i+2,temp);

           i++;

       }

   }

   cout<<s;

}


Exercitiu 2:

#include<iostream>

#include<cstring>


using namespace std;



int main()

{

   char s[256],temp[256];

   cin.get(s,256); cin.ignore();

   s[0] = toupper(s[0]);

   s[strlen(s)-1] = toupper(s[strlen(s)-1]);

   for(int i=0;i<strlen(s);i++){

       if(s[i] == ' '){

           s[i-1] = toupper(s[i-1]);

           s[i+1] = toupper(s[i+1]);

       }

   }

   cout<<s;

}

Alte întrebări interesante