18 / 93
Jan 2016

U mnie działa wink Na ideonie pokazuje, że: "standard input is empty" oraz stdout: "bln. mld. mln. tys." . Czy to fochy sędziego, czy problem z kodem?

Tu był kod.

Więc napisałeś [bardzo] nie-przenośny kod.

Bo powinieneś w okienko imput wkleić jakikolwiek test, np z zadania.

Jak okno input jest puste, to i tu [stdout] powinno być pusto - nawet Salomon z pustego nie naleje.

A jak myślisz? Z w/w wynika, że to problemy z twoim kodem. No i ideone, to nie to samo co sędzia na spoju. Na ideone tylko możesz potestować na swoich testach, a sędzia ma swoje własne zestawy testowe, przygotowane przez autora zadania..

A to takie buty. Link ze spoja mnie tam przeniósł, więc myślałem, że testy też tam są. Ten kod wklejałem na spoju i pokazuje, że "błędna odpowiedź". Są gdzieś testy do tego zadania?

Np tu --> https://gist.github.com/radarek/480fecd791aff7ff0af9130
Ale oglądając outputy twojego zadania wszystko wygląda ok. Niestety, oglądając "pod lupą", na końcu każdej odpowiedzi widzę dwa dodatkowe znaki 32 i 08. Oba znaczki są normalnie niewidoczne [spacja i ^H] i o ile spacja nie robi zazwyczaj różnicy sędziemu, to znaczek ^H już nie koniecznie. Może to jest powód problemu?

Napisałem też o liczbie zero, ale jednak nie ma zera w testach - właśnie sprawdziłem.

W końcu wymęczyłem. Już wiem, gdzie miałem błędy. Jedna literówka oraz sędzia z jakiegoś powodu nie uznaje "\b" jako backspace-a do wymazania ostatniej spacji. Zamiast tego dodaje go jako nowy znak do linii. Dzięki za pomoc.

W tym zadaniu spacje na końcu lub podwójne spacje nie są dozwolone.

Sprawdzałem, Spacje na końcu są jak najbardziej dozwolone, a więc [tego już nie sprawdzałem] podwójne i wielokrotne spacje pewnie też. Natomiast nawet pojedyńcza literówka już nie jest "przepuszczana". Swoją drogą, ciekawe gdzie miałeś literówkę, bo przyglądałem się dość dokładnie twojemu kodowi [i testowałem] i nie znalazłem jej - nie zauważyłem.

PS
Znak bakspace nie jest przepuszczany, bo sprawdzane przez sędziego [porównywane] są dwa pliki, wzorcowy i wynikowy twojego programu, a taki znak działa tylko na końcowy wygląd pliku w edytorze [nie w każdym] lub na wydruku z drukarki.

1 year later

Witam ma taki kod `#include

include

using namespace std;
string x,l1="jeden",l2="dwa",l3="trzy",l4="cztery",l5="piec",l6="szesc",
l7="siedem",l8="osiem",l9="dziewiec",l10="dziesiec",l11="jedenascie",
l12="dwanascie",l13="trzynascie",l14="czternascie",l15="pietnascie",l16="szesnascie",
l17="siedemnascie",l18="osiemnascie",l19="dziewietnascie",l20="dwadziescia",
l30="trzydziesci",l40="czterdziesci",l50="piecdziesiat",l60="szescdziesiat",
l70="siedemdziesiat",l80="osiemdziesiat",l90="dziewiecdziesiat",l100="sto",
l200="dwiescie",l300="trzysta",l400="czterysta",l500="piecset",l600="szescset",
l700="siedemset",l800="osiemset",l900="dziewiecset",tys="tys.",mln="mln.",
mld="mld.",bln="bln.",b;
void jed(char x)
{
switch(x)
{
case '1':
b+=l1;
break;
case '2':
b+=l2;
break;
case '3':
b+=l3;
break;
case '4':
b+=l4;
break;
case '5':
b+=l5;
break;
case '6':
b+=l6;
break;
case '7':
b+=l7;
break;
case '8':
b+=l8;
break;
case '9':
b+=l9;
break;
}
}
void d1(char x)
{
switch(x)
{
case '0':
b+=l10;
break;
case '1':
b+=l11;
break;
case '2':
b+=l12;
break;
case '3':
b+=l13;
break;
case '4':
b+=l14;
break;
case '5':
b+=l15;
break;
case '6':
b+=l16;
break;
case '7':
b+=l17;
break;
case '8':
b+=l18;
break;
case '9':
b+=l19;
break;
}

}
void d2(char x)
{
switch(x)
{
case '2':
b+=l20;
break;
case '3':
b+=l30;
break;
case '4':
b+=l40;
break;
case '5':
b+=l50;
break;
case '6':
b+=l60;
break;
case '7':
b+=l70;
break;
case '8':
b+=l80;
break;
case '9':
b+=l90;
break;
}
}
void set(char x)
{
switch(x)
{
case '1':
b+=l100;
break;
case '2':
b+=l200;
break;
case '3':
b+=l300;
break;
case '4':
b+=l400;
break;
case '5':
b+=l500;
break;
case '6':
b+=l600;
break;
case '7':
b+=l700;
break;
case '8':
b+=l800;
break;
case '9':
b+=l900;
break;
}
}
int main()
{
int n,dl,i,j;
cin>>n;
for(i=0;i<n;i++)
{
cin>>x;
dl=x.length();
switch(dl)
{
case 1:
jed(x[0]);
break;
case 2:
if(x[0]=='1')
d1(x[1]);
else
{
d2(x[0]);
b+=" ";
jed(x[1]);
}
break;
case 3:
set(x[0]);
b+=" ";
if(x[1]=='1')
d1(x[2]);
else
{
d2(x[1]);
b+=" ";
jed(x[2]);
}
break;
case 4:
jed(x[0]);
b+=" ";
b+=tys;
b+=" ";
set(x[1]);
b+=" ";
if(x[2]=='1')
d1(x[3]);
else
{
d2(x[2]);
b+=" ";
jed(x[3]);
}
break;
case 5:
if(x[0]=='1')
d1(x[1]);
else
{
d2(x[0]);
b+=" ";
jed(x[1]);
}
b+=" ";
b+=tys;
b+=" ";
set(x[2]);
b+=" ";
if(x[3]=='1')
d1(x[4]);
else
{
d2(x[3]);
b+=" ";
jed(x[4]);
}
break;
case 6:
set(x[0]);
b+=" ";
if(x[1]=='1')
d1(x[2]);
else
{
d2(x[1]);
b+=" ";
jed(x[2]);
}
b+=" ";
b+=tys;
b+=" ";
set(x[3]);
b+=" ";
if(x[4]=='1')
d1(x[5]);
else
{
d2(x[4]);
b+=" ";
jed(x[5]);
}
break;
case 7:
jed(x[0]);
b+=" ";
b+=mln;
b+=" ";
set(x[1]);
b+=" ";
if(x[2]=='1')
d1(x[3]);
else
{
d2(x[2]);
b+=" ";
jed(x[3]);
}
b+=" ";
b+=tys;
b+=" ";
set(x[4]);
b+=" ";
if(x[5]=='1')
d1(x[6]);
else
{
d2(x[5]);
b+=" ";
jed(x[6]);
}
break;
case 8:
if(x[0]=='1')
d1(x[1]);
else
{
d2(x[0]);
b+=" ";
jed(x[1]);
}
b+=" ";
b+=mln;
b+=" ";
set(x[2]);
b+=" ";
if(x[3]=='1')
d1(x[4]);
else
{
d2(x[3]);
b+=" ";
jed(x[4]);
}
b+=" ";
b+=tys;
b+=" ";
set(x[5]);
b+=" ";
if(x[6]=='1')
d1(x[7]);
else
{
d2(x[6]);
b+=" ";
jed(x[7]);
}
break;
case 9:
set(x[0]);
b+=" ";
if(x[1]=='1')
d1(x[2]);
else
{
d2(x[1]);
b+=" ";
jed(x[2]);
}
b+=" ";
b+=mln;
b+=" ";
set(x[3]);
b+=" ";
if(x[4]=='1')
d1(x[5]);
else
{
d2(x[4]);
b+=" ";
jed(x[5]);
}
b+=" ";
b+=tys;
b+=" ";
set(x[6]);
b+=" ";
if(x[7]=='1')
d1(x[8]);
else
{
d2(x[7]);
b+=" ";
jed(x[8]);
}
break;
case 10:
jed(x[0]);
b+=" ";
b+=mld;
b+=" ";
set(x[1]);
b+=" ";
if(x[2]=='1')
d1(x[3]);
else
{
d2(x[2]);
b+=" ";
jed(x[3]);
}
b+=" ";
b+=mln;
b+=" ";
set(x[4]);
b+=" ";
if(x[5]=='1')
d1(x[6]);
else
{
d2(x[5]);
b+=" ";
jed(x[6]);
}
b+=" ";
b+=tys;
b+=" ";
set(x[7]);
b+=" ";
if(x[8]=='1')
d1(x[9]);
else
{
d2(x[8]);
b+=" ";
jed(x[9]);
}
break;
case 11:
if(x[0]=='1')
d1(x[1]);
else
{
d2(x[0]);
b+=" ";
jed(x[1]);
}
b+=" ";
b+=mld;
b+=" ";
set(x[2]);
b+=" ";
if(x[3]=='1')
d1(x[4]);
else
{
d2(x[3]);
b+=" ";
jed(x[4]);
}
b+=" ";
b+=mln;
b+=" ";
set(x[5]);
b+=" ";
if(x[6]=='1')
d1(x[7]);
else
{
d2(x[6]);
b+=" ";
jed(x[7]);
}
b+=" ";
b+=tys;
b+=" ";
set(x[8]);
b+=" ";
if(x[9]=='1')
d1(x[10]);
else
{
d2(x[9]);
b+=" ";
jed(x[10]);
}
break;
case 12:
set(x[0]);
b+=" ";
if(x[1]=='1')
d1(x[2]);
else
{
d2(x[1]);
b+=" ";
jed(x[2]);
}
b+=" ";
b+=mld;
b+=" ";
set(x[3]);
b+=" ";
if(x[4]=='1')
d1(x[5]);
else
{
d2(x[4]);
b+=" ";
jed(x[5]);
}
b+=" ";
b+=mln;
b+=" ";
set(x[6]);
b+=" ";
if(x[7]=='1')
d1(x[8]);
else
{
d2(x[7]);
b+=" ";
jed(x[8]);
}
b+=" ";
b+=tys;
b+=" ";
set(x[9]);
b+=" ";
if(x[10]=='1')
d1(x[11]);
else
{
d2(x[10]);
b+=" ";
jed(x[11]);
}
break;
case 13:
jed(x[0]);
b+=" ";
b+=bln;
b+=" ";
set(x[1]);
b+=" ";
if(x[2]=='1')
d1(x[3]);
else
{
d2(x[2]);
b+=" ";
jed(x[3]);
}
b+=" ";
b+=mld;
b+=" ";
set(x[4]);
b+=" ";
if(x[5]=='1')
d1(x[6]);
else
{
d2(x[5]);
b+=" ";
jed(x[6]);
}
b+=" ";
b+=mln;
b+=" ";
set(x[7]);
b+=" ";
if(x[8]=='1')
d1(x[9]);
else
{
d2(x[8]);
b+=" ";
jed(x[9]);
}
b+=" ";
b+=tys;
b+=" ";
set(x[10]);
b+=" ";
if(x[11]=='1')
d1(x[12]);
else
{
d2(x[11]);
b+=" ";
jed(x[12]);
}
break;
}
for(j=0;j<b.length();j++)
{
if(b[j]==' '&&b[j+1]==' ')
{
b.erase(j,1);
j--;
}
}
cout<<b<<endl;
}

return 0;

}
`
Powie ktoś co jest źle

Oczywiście, z chęcią. Tutaj masz gotowe kody tylko trzeba trochę przerobić:

tutaj60
tutaj40

tak, ja powiem co jest źle:

1) niewłaściwy sposób przekazania kodu - wskazany jest link do ideone.com9
2) oczywiście tam też jakieś dane testowe dla których program daje poprawne wyniki
3) kod powinien mieć rozsądną długość - 550 linii to co najmniej 5 * za dużo
4) kod powinien mieć co najmniej poprawne formatowanie

z powodów 3) i 4) nikt nie poświęci czasu na spojrzenie na treść programu

3 months later

Witam,

mam problem z zaliczeniem programu Liczba na słowo przez sędziego. Nie mam pojęcia gdzie jest błąd, gdyż wszystkie zadane testy program przechodzi. Literówki też sprawdzałam. Nie dawałam znaku backspace, jedynie co to są spacje na końcu, ale jak wyczytałam z forum, sędzia nie powinien tego traktować jako błąd. Również testy dla liczb z zerami na początku program przechodzi. Program działa od 1 do 1 bln włącznie (gdyż sugerowałam się treścią zadania i zablokowałam wyświetlanie wyników dla liczb większych od 1 bln). Nadmieniam, że miałam również wersję, która liczyła do 999 bln i też nie została zaakceptowana. Bardzo proszę o pomoc, bo męczę się już z tym tydzień. Umieszczam poniżej link do kodu.
[kod usunięty)

Maybe one week isn’t enough? Honey, ist’t you must work and test harder? Maybe one mounth or honeymount willbe enough? :wink:

Not enough exectly my sweet :heart:
Whay honey don’t do that: [edit here was a code] and look for line before last?
Maybe its not one mistake?

BTW
You don’t belive me, but when I write my answer, I was sure, thet you are a man and I want make small joke. I don’t read your post enough carefully, forgive me?

PS
I write in english not becouse it’s easer for me. It’s harder but I want to learn.

PS 2
As a some kind of exuse:
dzwadziescia

Ciekawe kto Cie za ten angielski opieprzy jako pierwszy :japanese_ogre: Chociaż forum angielskie tylko dzial polski, niech sie ucza :wink:

Sorry for my bad english, but isn’t better good advaisis in bad english or Polish without polish tails then nothing? [e istead ę, a instead ą, l instaed ł etc ;-)] I know, writing on ceil keyboard isn’t easy :wink:

PS
It’s harder to me writing, but I hope it’s not to much hard reading for questioning.

Wielkie dzięki narbej. Najlepsze jest to, że prosiłam kilka znajomych o przeczytanie w celu wykluczenia literówek i nikt tego nie zauważył (włącznie ze mną). Oczywiście AC. Kod usunęłam. Jeszcze raz dzięki.

20 days later

Proszę o pomoc z zadaniem Liczba na słowo jest jakiś błąd którego nie widzę. Sędzia nie zaliczył.

Dziękuje za wszelkie sugestie.

A sędzia widzi bo ma :eyeglasses: :wink:
Co to jest [ile to jest] “siedemnasie”, ? :wink:

11 days later

Hejo. Czy ma ktoś może jakieś dodatkowe przykłady oprócz ujętych tutaj w temacie ? bo wszystkie przechodzą na ideone, ale nie u sędziego.

98
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
40
41
50
51
60
61
70
71
80
81
90
91
100
101
111
121
199
200
222
333
444
555
666
777
888
999
1000
1001
1011
1022
2000
2222
3333
4444
5555
6666
7777
8888
9999
10000
10001
10101
11111
22222
55555
100000
101001
111111
222222
555555
1000000
1000001
1111111
2222222
5555555
10000000
1000000000
1000000001
1001001001
1111111111
2000000000
2002002002
2222222222
5000000000
5005005005
5555555555
1000000000000

out:

jeden
dwa
trzy
cztery
piec
szesc
siedem
osiem
dziewiec
dziesiec
jedenascie
dwanascie
trzynascie
czternascie
pietnascie
szesnascie
siedemnascie
osiemnascie
dziewietnascie
dwadziescia
dwadziescia jeden
dwadziescia dwa
dwadziescia trzy
dwadziescia cztery
dwadziescia piec
dwadziescia szesc
dwadziescia siedem
dwadziescia osiem
dwadziescia dziewiec
trzydziesci 
trzydziesci jeden
czterdziesci 
czterdziesci jeden
piecdziesiat 
piecdziesiat jeden
szescdziesiat 
szescdziesiat jeden
siedemdziesiat 
siedemdziesiat jeden
osiemdziesiat 
osiemdziesiat jeden
dziewiecdziesiat 
dziewiecdziesiat jeden
sto 
sto jeden
sto jedenascie
sto dwadziescia jeden
sto dziewiecdziesiat dziewiec
dwiescie 
dwiescie dwadziescia dwa
trzysta trzydziesci trzy
czterysta czterdziesci cztery
piecset piecdziesiat piec
szescset szescdziesiat szesc
siedemset siedemdziesiat siedem
osiemset osiemdziesiat osiem
dziewiecset dziewiecdziesiat dziewiec
jeden tys. 
jeden tys. jeden
jeden tys. jedenascie
jeden tys. dwadziescia dwa
dwa tys. 
dwa tys. dwiescie dwadziescia dwa
trzy tys. trzysta trzydziesci trzy
cztery tys. czterysta czterdziesci cztery
piec tys. piecset piecdziesiat piec
szesc tys. szescset szescdziesiat szesc
siedem tys. siedemset siedemdziesiat siedem
osiem tys. osiemset osiemdziesiat osiem
dziewiec tys. dziewiecset dziewiecdziesiat dziewiec
dziesiec tys. 
dziesiec tys. jeden
dziesiec tys. sto jeden
jedenascie tys. sto jedenascie
dwadziescia dwa tys. dwiescie dwadziescia dwa
piecdziesiat piec tys. piecset piecdziesiat piec
sto  tys. 
sto jeden tys. jeden
sto jedenascie tys. sto jedenascie
dwiescie dwadziescia dwa tys. dwiescie dwadziescia dwa
piecset piecdziesiat piec tys. piecset piecdziesiat piec
jeden mln. 
jeden mln. jeden
jeden mln. sto jedenascie tys. sto jedenascie
dwa mln. dwiescie dwadziescia dwa tys. dwiescie dwadziescia dwa
piec mln. piecset piecdziesiat piec tys. piecset piecdziesiat piec
dziesiec mln. 
jeden mld. 
jeden mld. jeden
jeden mld. jeden mln. jeden tys. jeden
jeden mld. sto jedenascie mln. sto jedenascie tys. sto jedenascie
dwa mld. 
dwa mld. dwa mln. dwa tys. dwa
dwa mld. dwiescie dwadziescia dwa mln. dwiescie dwadziescia dwa tys. dwiescie dwadziescia dwa
piec mld. 
piec mld. piec mln. piec tys. piec
piec mld. piecset piecdziesiat piec mln. piecset piecdziesiat piec tys. piecset piecdziesiat piec
jeden bln.