Informatică, întrebare adresată de geocaruoxxbvq, 8 ani în urmă

Cerința
Se consideră un text cu cel mult 100 de caractere, în care cuvintele sunt formate numai din litere mari și mici ale alfabetului englez și sunt separate prin câte un spațiu. Textul reprezintă numele unei instituții sau al unei organizații.

Scrieți un program care citește de la tastatură un text de tipul precizat și construiește în memorie, apoi afișează pe ecran, un șir de caractere ce reprezintă acronimul corespunzător numelui citit. Acronimul este format din primul caracter al fiecărui cuvânt al numelui care începe cu majusculă.

Date de intrare
Programul citește de la tastatură șirul.

Date de ieșire
Programul va afișa pe ecran acronimul construit.




Exemplu
Intrare

Universitatea de Arte Plastice BUCURESTI
Ieșire

UAPB

Răspunsuri la întrebare

Răspuns de pmarian98
11

#include <iostream>

#include <string.h>

using namespace std;

char c[100], b[100];

int nr, i;

int main()

{

   cin.getline(c, 100);  

   for (i = 0; i < strlen(c); i++)

    if ((c[i] >= 'A' && c[i] <= 'Z') && ((c[i - 1] == ' ') || i == 0))  

        b[nr++] = c[i];  

   cout << b;    

   return 0;

}

Răspuns de boiustef
8

#include <iostream>

#include <cstring>

using namespace std;

char s[100], acr[100];

short i, n, j=-1;

int main()

{

   cin.getline(s,100);

   n=strlen(s);

   acr[0]=0;

   if (s[0]>='A' && s[0]<='Z')

       { ++j; acr[j]=s[0]; }

   for (i=1; i<n; ++i)

   {

       if (s[i-1]==' ' && s[i]>='A' && s[i]<='Z') { ++j; acr[j]=s[i]; }

   }

   ++j; acr[j]='\0';

   cout << "Acronimul este: " << acr;

}

Alte întrebări interesante