• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

zadanie w c++ o snajperach

Object Storage Arubacloud
0 głosów
229 wizyt
pytanie zadane 21 czerwca 2017 w C i C++ przez kekoludek Nowicjusz (160 p.)

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! :)

1 odpowiedź

0 głosów
odpowiedź 21 czerwca 2017 przez kekoludek Nowicjusz (160 p.)
Juz sobie poradziłem :) .

Podobne pytania

+1 głos
1 odpowiedź 189 wizyt
pytanie zadane 15 września 2017 w C i C++ przez qlucha Obywatel (1,790 p.)
0 głosów
3 odpowiedzi 210 wizyt
pytanie zadane 18 kwietnia 2016 w C i C++ przez Ditrix Mądrala (5,650 p.)
0 głosów
2 odpowiedzi 509 wizyt
pytanie zadane 3 czerwca 2016 w C i C++ przez iai Nowicjusz (200 p.)

92,576 zapytań

141,426 odpowiedzi

319,650 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...