1 / 4
Nov 2019

Jakieś pomysły czemu daje błędną odpowiedź? W kompilatorze wszystko działa tak jak powinno, próbowałem żeby wyrzucało odpowiedź od razu po wpisaniu zestawu i tak jak w kodzie poniżej.

#include
#include
using namespace std;

int main()
{
int powt,ilerazem[50][25],ascii;
string zestaw;
cin>>powt;
for(int i=1;i<=powt;i++)
{
for(int a=1;a<=25;a++) ilerazem[i][a]=0;
cin >> zestaw;
for(int b=1;b<=25;b++)
{
ascii=64+b;
for(int c=0;c<=zestaw.length();c++) if(zestaw[c]==(char)ascii) ilerazem[i][b]++;
}
}
for(int a=1;a<=powt;a++)
{
for(int b=1;b<=25;b++)
{
ascii=64+b;
if(ilerazem[a][b]==1) cout<<(char)ascii;
else if(ilerazem[a][b]==2) cout<<(char)ascii<<(char)ascii;
else if(ilerazem[a][b]>2)cout<<(char)ascii<<ilerazem[a][b];
}
cout<<endl;
}
return 0;
}

  • created

    Nov '19
  • last reply

    Apr '23
  • 3

    replies

  • 972

    views

  • 4

    users

  • 1

    like

  • 1

    link

  1. szkoda ze nie zachowaly sie wciecia (trudno jest analizowac) oraz nazwy bibliotek (chyba iostream oraz string)
  2. w alfabecie angielskim jest 26 liter
  3. W sumie udało mi się uzyskać prawidłowy wynik dla przykładu z zadania po kilku zmianach (trzeba dokładnie przyglądnąć się indeksom tablic). Bez zmian występuje naruszenie ochrony pamięci (testuje na ideone) na spoj dla c++ 4.3.2 pokazuje błędną odpowiedz ale to też jest błąd ochrony pamięci.
  4. Algorytm w tym programie jest nieprawidłowy. Poniżej test pokazujący trudniejsze przypadki.
    Wejście
    2
    CBA
    AAAABBBBAAAABBBB
    prawidłowym rozwiązaniem jest:
    CBA
    A4B4A4B4
3 years later

Hej, wskazałby mi ktoś jakieś wskazówki czemu mój kod nie dostaje AC, działa dla przykładów z zadania, a także dla tych trudniejszych przykładów podanych przez innego użytkownika powyżej, nie mam pojęcia co może być źle. Dostaję odpowiedź że błędna odpowiedź.

#include
#include
using namespace std;
int n, zap = 1,lol;
string s;
char z, z2, z3;
int main() {
ios::sync_with_stdio(false);
cin >> n;
lol=n-1;
for (int j = 0; j < n; j++) {

cin >> s;
for (int i = 0; i <= s.length(); i++) {


  if (s[i]== s[i + 1] )  {
    zap++;
  } else {

    if (zap > 2) {
      cout << s[i] << zap;
       zap=1;
    } else if(zap<2) {
      cout << s[i];
       zap=1;
    }else if(zap==2){

    cout<<s[i-1]<<s[i];
     zap=1;
    }

  }

}
zap=1;

cout<<endl;

}
}