1 / 3
May 2017

Witam ! Czy ktoś mógłby mi powiedzieć dlaczego SPOJ nie akceptuje tego kodu ?

#include <iostream>
#include <string>
#include <cstring>
#include <cstdlib>
using namespace std;

int znaki[256];

char in[200];

int n=0;

int main()
{

    for(int i=0; i<256; i++)
    {
        znaki[i]=0;
    }

    cin>>n;

    if(n>150)
    {
        return 0;
    }
    else
    {
        for(int k=0; k<=n; k++)
        {

            cin.getline(in,300); // pobiera cala linie ze spacjami
            //cout<<strlen(in)<<endl; // wyswietla dlugosc zdania ktore wpisujemy

            if(strlen(in)>200)
            {
                break;
                return 0;
            }
            else
            {

                for(int y=0; y<strlen(in); y++)
                {
                    znaki[in[y]]++; //zlicza ile razy wystapila dana litera w zdaniu
                }

                for(int i=97; i<123; i++)
                {
                    if(znaki[i]!=0)
                    {
                        cout<<(char)i << " " <<znaki[i]<<endl; // rzutuje zmienna na char od danego zakresu i podaje ile razy wystapila
                    }

                }
                for(int i=65; i<91; i++)
                {
                    if(znaki[i]!=0)
                    {
                        cout<<(char)i << " " <<znaki[i]<<endl; // rzutuje zmienna na char od danego zakresu i podaje ile razy wystapila
                    }
                }
            }
        }
    }

    return 0;
}
  • created

    May '17
  • last reply

    May '17
  • 2

    replies

  • 538

    views

  • 2

    users

  1. Nie jest to twój pierwszy post na forum, więc powinieneś już chyba dobrze wiedzieć, że należało doklejać się do jedenego z istniejących już wątków na temat tego zadania.
  2. Nie jest to twoje pierwsze AC [WA, TLE] na SPOJU, wiec powinieneś już dobrze wiedzieć, że dobrze jest przetestować swoje rozwiązanie, na różnych testach, a obowiązkowo na początek na przykładzie z zadania.

PS
Co do "piękna" twojego kodu, to niestety nie wpływa ono na decyzje sędziego na SPOJu, jednak pozostawiam to bez komentarza.

PS 2
Proponuję też, jeszcze raz, uważnie przeczytać treść zadania - może to wystarczy?

Wyjścieundefined> W kolejnych wierszach litery od 'a' do 'z' i od 'A' do 'Z' w tej kolejności, a po każdej literze spacja i liczba wskazująca, ile razy ta litera wystąpiła w tekście.

Uwaga: Pomiń litery, które nie występują w tekście.

PS 3
Nie ten dział. Takie pytania, dotyczące zadań, zadawaj/doklejaj w dziale: Zbiór zadań. Możesz poprawić na odpowiedni dział, poprzez edycję tytułu wątku.

Okay, mógłbyś dać mi jakąś podpowiedź jak zrobić aby traktowało te przykładowo 2 zdania jako jeden text ?