Quantcast
Viewing all articles
Browse latest Browse all 21942

zadanie w c++ o snajperach

Czesc, zaczalem przedwczoraj nauke c++, przerobilem juz 5 odcinkow na kanale Pasji Informatyki, i wpadlo w moje rece ciekawe zadanie, wiec postanowilem sprobowac. Wydaje mi sie, ze jestem juz dosc blisko rozwiazania, ale ilekroć wydaje mi się, że jestem już blisko, okazuje się, że istnieją warunki, ktorych nie pokrywam. W jaki sposob zabierac sie do zadan tak, aby nie pominac potencjalnych przypadkow - czy wypada zrobic pierw schemat blokowy w przypadku bardziej skomplikowanych zadan ? Z góry dziekuje za porady.

Tresc zadania brzmi: Wyobraźmy sobie, że mamy ulicę, przy której stoi rząd wieżowców o różnej wysokości (całkowitej), a na dachu każdego z nich siedzi snajper.
Dwaj snajperzy się widzą, jeżeli odcinka pomiędzy ich dachami nie przecina żaden wieżowiec (zakładamy, że jeśli odcinek przecina się dokładnie na dachu to snajper jest widoczny).
Dla przykładu, jeżeli pierwszy wieżowiec ma wysokość 10 m a czwarty 40 m, snajperzy pierwszy i czwarty widzą się nawzajem, jeżeli drugi wieżowiec jest nie wyższy niż 20 m i trzeci jest nie wyższy niż 30 m.
Zakładamy, że odległości między kolejnymi wieżowcami są równe.
Napisz program, który wczyta liczbę wieżowców oraz wysokości kolejnych wieżowców (dodatnie liczby całkowite) oraz odpowie na pytania: Ilu innych snajperów widzi pierwszy snajper?

 kod, ktory zrobilem:

#include <iostream>
#include <windows.h>
#include <cstdlib>
#include <conio.h>

using namespace std;

int wysokoscwiezowca[1000000];
int x;

int main()
{
    cout << "Siemanko"<< endl;
    cout << "Ile wiezowcow ze snajperami bedzie? :"<< endl;
    cin >> x;

    cout << "Podaj wysokosc 1 wiezowca";
    cin >> wysokoscwiezowca[0];

    cout << "Podaj wysokosc 2 wiezowca";
    cin >> wysokoscwiezowca[1];

    cout << "Snajper pierwszy widzi 2 snajpera"<< endl;

    for (int i=2; i<x; i++)
    {

        cout << "Podaj wysokosc "<< i+1 << " wiezowca";
        cin >> wysokoscwiezowca[i];

        if((wysokoscwiezowca[i]<=wysokoscwiezowca[0])&&((wysokoscwiezowca[i]-wysokoscwiezowca[i-1]<=(wysokoscwiezowca[i-1]-wysokoscwiezowca[i-2]))))
            cout << "Snajper pierwszy widzi "<< i+1 << " snajpera"<< endl;

        else if(((wysokoscwiezowca[i]>wysokoscwiezowca[0]))&&(wysokoscwiezowca[i]>wysokoscwiezowca[i-1])&&(wysokoscwiezowca[i]-wysokoscwiezowca[i-1]>=(wysokoscwiezowca[i-1]-wysokoscwiezowca[i-2])))
        {
            cout << "Snajper pierwszy widzi "<< i+1 << " snajpera"<< endl;
        }

        else
        {
        cout << "Snajper pierwszy nie widzi "<< i+1 << " snajpera";
        break;
        }
    }

    return 0;
}

Z gory dzieki za pomoc w nauce! :)


Viewing all articles
Browse latest Browse all 21942

Trending Articles


MDM - Muzyka Dla Miasta (2009)


[TUT Giulietta] Zacinający się/ nieotwierający ekran multimedialny


Chusta Sislove


AŚ Jelenia Góra


Sprawdź z którą postacią z anime dzielisz urodziny


Ciasto 3 Bit


Sztuczne obciążenie od R140.


[Filmy XviD / DivX] Łowca czarownic - The Last Witch Hunter *2015* [720p]...


Tylne odłączenie ciała szklistego


Auta / Cars (2006) PLDUB.BRRip.480p.XviD.AC3-LTN / DUBBING PL


POTANIACZ


WindowsMX RGB by MalcolmX (PL) ISO


Musierowicz Małgorzata - Kwiat kalafiora [audiobook PL]


POSZUKIWANY TOMASZ SKOWRON-ANGLIA


Poszukuje ich zachodniopomorska Policja. Zobacz listę najgroźniejszych...


Kasowanie inspekcji Hyundai ix35


Bloodstained Ritual of the Night SPOLSZCZENIE


SZCZOTKOWANIE TWARZY NA SUCHO


Potrzebuje schemat budowy silnika YX140


Iveco Daily 2007 3.0 hpi P0148