Informatică, întrebare adresată de Utilizator anonim, 8 ani în urmă

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 DankWarrior
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;
DankWarrior: Acum?
Utilizator anonim: Acum nu este eroare dar afiseaza ddd
Utilizator anonim: in loc de sss
DankWarrior: Acum merge, l-am testat
Utilizator anonim: Mersi mult :)
Utilizator anonim: Ma ajuti la o alta intrebare
Utilizator anonim: https://brainly.ro/tema/6670644
Utilizator anonim: https://brainly.ro/tema/6670655
Utilizator anonim: https://brainly.ro/tema/6670668
Alte întrebări interesante