Problema:
Se da un sir de caractere reprezentând o propozitie formata din litere mici ale alfabetului englez si spatii.
Cerinta
Transformati sirul dat astfel încât prima si ultima litera a fiecarui cuvânt sa fie înlocuite cu litera mare corespunzatoare.
Date de intrare
Programul citeste de la tastatura propozitia data.
Date de iesire
Programul afiseaza pe ecran propozitia transformata.
Restrictii si precizari
sirul de caractere citit contine cel mult 255 de caractere
....................
Asa am rezolvat eu . Imi da corect , nu inteleg de ce ultimul caracter se face automat litera mare .Dupa ultimul caracter nu este NULL ?
......................
#include
#include
using namespace std ;
int main ()
{int n,i;
char s[256];
cin.getline(s,256);
for(i=0;i ='a'&&s[i]<='z')
{
if(strchr(" ",s[i+1])!=NULL)
{
s[i]=s[i]-32;
}
if(strchr(" ",s[i-1])!=NULL)
{
s[i]=s[i]-32;
}
}
}
c o u t < < s;
}
Răspunsuri la întrebare
Răspuns de
0
Salut!
Ai rezolvarea problemei in limbajul C++ mai jos
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int n, i = 0;
char s[256];
cin.getline(s, 256);
s[i] -= 32; //prima din sir
for (i = 1; s[i + 1] != '\0'; ++i)
{
if (s[i] == ' ' && s[i + 1] != ' ') //prima litera
{
s[i + 1] -= 32;
}
if (s[i] == ' ' && s[i - 1] != ' ') //ultima litera
{
s[i - 1] -= 32;
}
}
s[i] -= 32; //ultima din sir
cout << s;
return 0;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Biologie,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă