Va rog mult! M-am chinuit si tot nu imi iese. vreau sa stiu cum se face problema secvelim de pe pbinfo
Cerința
Se dă un șir de caractere care conține doar litere mici și mari ale alfabetului englez. Se parcurge șirul de la stânga la dreapta și dacă se întâlnește o secvență de litere alăturate egale, se șterge. Dacă în urma acestei operații se obține o nouă secvență de litere egale, se șterge și ea, ș. a. m. d.
Să se afișeze șirul obținut.
Date de intrare
Programul citește de la tastatură un șir de caractere.
Date de ieșire
Programul va afișa pe ecran șirul obținut.
Restricții și precizări
șirul dat conține maximum 255 de caractere
nu se face diferență între literele mari și mici
Exemplu
Intrare
aAcboOoBcAXa
Ieșire
AXa
Răspunsuri la întrebare
Răspuns de
5
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
char s[255], ch;
short n, i, j, cod;
int main()
{
cin >> s;
n=strlen(s);
for (i=0; i<n-1; ++i)
{
if (s[i]==s[i+1] || (int)s[i]-(int)s[i+1]==32 || (int)s[i]-(int)s[i+1]==-32 )
{
while (s[i]==s[i+1] || (int)s[i]-(int)s[i+1]==32 || (int)s[i]-(int)s[i+1]==-32)
{
for (j=i; j<n-1; ++j) s[j]=s[j+1];
--n; s[n]=0;
}
for (j=i; j<n-1; ++j) s[j]=s[j+1];
--n; s[n]=0;
i=-1;
}
}
cout << s;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Biologie,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă