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

Citiţi de la tastatură un text scris cu litere mici şi spaţii. Scrieţi o funcţie care înlocuieşte în fiecare cuvânt din
text prima şi ultima litera cu literele mari corespunzătoare. De exemplu, ana are mere va deveni AnA ArE MerE.


limbajul C

Răspunsuri la întrebare

Răspuns de Utilizator anonim
2

#include <iostream>

#include <string.h>

using namespace std;

void inlocuieste(char s[100])

{

   char aux[2]=" ";    

   if(s[0]!=' ')

    s[0]=s[0]-32;   //primul caracter

   if(s[strlen(s)-1]!=' ')

    s[strlen(s)-1]=s[strlen(s)-1]-32; //ultimul caracter;

   char *p=strstr(s,aux); //cautam prima aparitie a spatiului liber

   while(p!=NULL)

   {

      if(*(p+1)!=' ')   //daca urmatorul caracter este litera

        *(p+1)=*(p+1)-32;  //transforma in litera mare

                     

     if(*(p-1)!=' ')

       *(p-1)=*(p-1)-32;  //analog pentru carcterul precedent

     p=strstr(p+1,aux) ; //cautam urmatoarea aparitie

       

   }

   

}

int main()

{

 char s[100];

 cin.get(s,100);

 inlocuieste(s);

 cout<<s;

return 0;

}

Alte întrebări interesante