$$ \newcommand{\floor}[1]{\left\lfloor{#1}\right\rfloor} \newcommand{\ceil}[1]{\left\lceil{#1}\right\rceil} \renewcommand{\mod}{\,\mathrm{mod}\,} \renewcommand{\div}{\,\mathrm{div}\,} \newcommand{\metar}{\,\mathrm{m}} \newcommand{\cm}{\,\mathrm{cm}} \newcommand{\dm}{\,\mathrm{dm}} \newcommand{\litar}{\,\mathrm{l}} \newcommand{\km}{\,\mathrm{km}} \newcommand{\s}{\,\mathrm{s}} \newcommand{\h}{\,\mathrm{h}} \newcommand{\minut}{\,\mathrm{min}} \newcommand{\kmh}{\,\mathrm{\frac{km}{h}}} \newcommand{\ms}{\,\mathrm{\frac{m}{s}}} \newcommand{\mss}{\,\mathrm{\frac{m}{s^2}}} \newcommand{\mmin}{\,\mathrm{\frac{m}{min}}} \newcommand{\smin}{\,\mathrm{\frac{s}{min}}} $$

Prijavi problem


Obeleži sve kategorije koje odgovaraju problemu

Još detalja - opišite nam problem


Uspešno ste prijavili problem!
Status problema i sve dodatne informacije možete pratiti klikom na link.
Nažalost nismo trenutno u mogućnosti da obradimo vaš zahtev.
Molimo vas da pokušate kasnije.

Kontrola leta

vreme memorija ulaz izlaz
1 s 1000 Mb standardni izlaz standardni ulaz

Program  za kontrolu letova između grada A i grada B treba radi po sledećem principu:

Svakih par sekundi avioni pošalju rastojanje od grada A, i nadmorsku visinu. U slučaju kad su avioni na manje od jednog kilometra jedan od drugog, sistem proveri njihovu visinu. U slučaju da je razlika izmedju njihovih visina manja od 500 metara, sistem kaže višem avionu da ide na gore, a nižem avionu da ide na dole. U slučaju da su iste visine, prvi avion treba ići na dole, a drugi na gore.

Nažalost, program ima gresku koja dovodi do neispravnog izlaza. Poznato je da za sledeća kombinacija ulaza ispisuje avionima da idu na pogresnu stranu:

9

0 10 4000 20

50 20 3900 70

120 80 3750 180

300 220 3500 400

550 400 3250 650

800 550 3000 800

1050 780 2750 1000

1300 1000 2500 1210

1550 1300 2250 1300

Ispod je program koji vrši kontrolu leta. Treba ispraviti grešku u programu, i poslati ispravnu verziju.

#include <iostream>

using namespace std;

void main()

{

    int Pozicija1;

    int Visina1;

    int Pozicija2;

    int Visina2;

    int n;

    cin >> n;

    for (int i  = 0; i < n; i++)

    {

        cin >> Pozicija1 >> Visina1 >> Pozicija2 >> Visina2;

        

        int rastojanje;

        if (Pozicija1 > Pozicija2)

        {

            rastojanje = Pozicija1 - Pozicija2;

        }

        else

        {

            rastojanje = Pozicija2 - Pozicija1;

        }

        if (rastojanje < 1000)

        {

            if (Visina1 > Visina2)

            {

                cout << "AVION1 GORE ";

            }

            else

            {

                cout << "AVION1 DOLE ";

            }

            if (Visina2 > Visina1)

            {

                cout << "AVION2 GORE ";

            }

            else

            {

                cout << "AVION2 DOLE ";

            }

            cout << "\r\n";

        }

    }

}

Morate biti ulogovani kako biste poslali zadatak na evaluaciju.