SPOJ JSPACE-Spacje

0

Witam ,
nie rozumiem czemu spoj nie przepuszcza mi kodu w c++
zadanie : http://pl.spoj.com/problems/JSPACE/

#include <iostream>
#include <string>


using namespace std;
int gdzie=0;
string ciag;

int main()
{
getline(cin,ciag);
string spacja=" ";
ciag[0]=toupper(ciag[0]);


do{
size_t gdzie=ciag.find(spacja);

if(gdzie!=string::npos)
{
ciag[gdzie+1]=toupper(ciag[gdzie+1]);
ciag.erase(gdzie,1); // usuwa jeden znak
}
else
{
gdzie=0;

cout<<ciag<<endl;

return 0;
}

} while(gdzie==0);

}

 

Wydaje mi się że przetestowałem wszystkie udziwnienia tego zadania, jakieś sugestie ?

0

A nie wykłada się czasowo przypadkiem?

0

Mam w RESULT 'Błędna odpowiedź'
Jeśli program za wolno działa to SPOJ informuje o tym ?

0

Użyj maszyny Turinga:

#include <cstdio>
#include <cctype>
using namespace std;

int main()
  {
   for(int ch,sp=1;(ch=getchar())!=EOF;0) if(ch==' ') sp=1; else if(ch=='\n') putchar('\n'); else if(!sp) putchar(ch); else { putchar(toupper(ch)); sp=0; }
   return 0;
  }
2

Po pierwsze nie zmieniaj pierwszej litery w linii na dużą.
Po drugie ten program wczytuje i przerabia tylko jedną linię, a powinien wszystkie jakie się pojawią na wejściu.

2

Z uwag niezwiązanych bezpośrednio z zadaniem:

  1. Sformatuj kod, tego czytać się nie da: http://format.krzaq.cc/
  2. Nie używaj zmiennych globalnych, te rzeczy
int gdzie=0;
string ciag;

wrzuć do środka main.

1 użytkowników online, w tym zalogowanych: 0, gości: 1