1 / 12
Jul 2017

Witam,

W zadaniu EUCGAME http://pl.spoj.com/problems/EUCGAME/2 autor prosi o wprowadzenie liczby partii, danych dla a oraz b po czym przechodzi do następnej partii itd. Moje pytanie brzmi: w jaki sposób mogę zrobić tak, by kompilator pokazywał wyniki wprowadzonych danych dopiero po zakonczeniu wszystkich partii tak jak w przykladzie dla zadania?
Mój kod:

include

using namespace std;

int main()
{
int partie;
partie<=10;
partie>=1;
float a, b;

cin>>partie;
cout<<"==================="<<endl;

for(int i=0;i<partie; i++)
{

cin>>a >>b;

if(a<b)
b-=a;
if(b<a)
a-=b;

cout<<a+b<<"\n"<<endl;
}

return 0;

}

chyba nie muszę mówić, że sędzia nie przyjmuje mojego rozwiązania, wynik to: 0(thresold:5).

Z góry dzięki.

  • created

    Jul '17
  • last reply

    Jul '17
  • 11

    replies

  • 625

    views

  • 3

    users

  • 3

    links

Wrzuć kod na ideone.com wraz z inputem lub popraw kodowanie tutaj (zaznaczasz cały kod i przycisk od formatkowania ).

I dlaczego Twój program nic nie wyświetla? Wrzuć kod tak jak masz u siebie, z cout

Więc jak widzisz z wyświetlaniem masz wszystko w porządku (no może za dużo enterów). Nie musisz zapamiętywać wyników i wyświetlać ich po skończeniu obliczeń. Wypisywanie na bieżąco jest ok (ba... jest pożądane).

No skoro tak jest do dlaczego sędzia odrzuca to rozwiązanie? Robiłem to na milion sposobów i wszystkie wywalają ten sam błąd wykonania 0(thresold:5) :confused:

Ok jest wyświetlanie (prócz dwóch enterów - popraw)... O to pytałeś w pierwszym poście. Teraz inna sprawa poprawności rozwiązania. Wrzuć na ideone sobie taki test:
1
2 999999999

i zobacz jaki masz out

okej, widzę o co chodzi. Czyżby nieprawidłowy typ zmiennych a,b ? Możesz mnie jakoś naprowadzić na rozwiazanie?

Tak, jest nieprawidłowy. W long long z pewnością obliczenia się zmieszczą. Następnie... obliczenia też masz błędne:
http://ideone.com/Qd71sK8

Wynik dla ostatniego testu powinien być 6

To nie jest błąd wykonania. Kliknij w 0 w napisie "0(thresold:5)"

Działa!!

poprawiłem typ danych na long oraz obliczenia z a-=b i b-=a na a=a-b i b=b-a i poszło!

Dzięki bardzo za pomoc! :slight_smile: temat do zamknięcia.