Fișierul date.in conține mai multe caractere, să se afișeze cea mai lungă secvență de caractere identice. Dacă sunt mai multe secvențe, se va afișa prima.
Exemplu: Date de intrare: aabsssdadaaab; Date de ieșire: sss.
Rezolvare in C++
Răspunsuri la întrebare
Răspuns de
0
Răspuns:
#include <fstream>
#include <cstring>
ifstream fin("date.in");
ofstream fout("date.out");
using namespace std;
int main()
{
string a;
fin >> a;
char curchar = a[0], ans = a[0];
int count = 1;
int maxi = 0;
for(int i = 1; i < a.size(); i++){
if(a[i] == curchar) count++;
else count = 1, curchar = a[i];
if(count > maxi){
maxi = count;
ans = curchar;
}
}
for(int i = 0; i < maxi; i++) fout << ans;
}
Explicație:
In C++, poti folosi container-ul std::string. E alocat dinamic si poti citi fara a declara marimea anterior. Are proprietati diverse precum string::size, string::find. Trebuie sa ai tagul C++11 activ in compilator.
Utilizator anonim:
Este o eroare la if(count > max) max = count, ans = curchar;
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Engleza,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă