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

question-closed Zadanie z Main2. Czy macie pomysł jak zrobić takie zadanie?

Object Storage Arubacloud
0 głosów
1,006 wizyt
pytanie zadane 3 grudnia 2016 w C i C++ przez kmarcin Użytkownik (590 p.)
zamknięte 3 grudnia 2016 przez Arkadiusz Waluk

Dany jest ciąg liczb całkowitych dodatnich określający ceny akcji danej spółki na giełdzie w kolejnych dniach(na koniec każdego dnia). Chcemy stwierdzić, czy któregoś dnia cena akcji wynosiła dokładnie x. Jeśli był więcej niż jeden taki dzień, Twój program powinien wyznaczyć pierwszy i ostatni taki dzień.

Wejście

Pierwszy wiersz wejścia zawiera dwie liczby całkowite n oraz x (1 ≤ n ≤ 100000, 1 ≤ x ≤109), oddzielone spacją i oznaczające liczbę kolejnych dni, przez które notowano ceny akcji danej spółki, oraz interesującą nas cenę akcji. Drugi wiersz zawiera n liczb całkowitych z zakresu od 1 do 109, oddzielonych spacjami, oznaczających ceny akcji spółki w kolejnych dniach.

Wyjście

Twój program powinien wypisać dwie liczby oddzielone spacją. Pierwszą z nich powinien być numer pierwszego dnia (będący liczbą między 1 a n), którego cena akcji wynosiła dokładnie x. Drugą natomiast powinien być numer ostatniego takiego dnia. Jeśli był tylko jeden dzień, gdy cena akcji wynosiła x, obie liczby na wyjściu powinny być takie same. Jeśli cena x w ogóle nie wystąpiła, obie liczby powinny być równe −1.

Przykład

Dla danych wejściowych:

7 3

1 3 5 2 3 4 3

poprawnym wynikiem jest:

2 7

a dla danych wejściowych:

4 2

2 3 4 5

poprawnym wynikiem jest:

1 1

natomiast dla danych wejściowych:

3 2

5 3 1

poprawnym wynikiem jest:

-1 -1

 

Jak narazie napisałem tyle kodu i nie wiem jak ruszyć z tym dalej.

#include <iostream>
#include <cstdlib>

using namespace std;


int main()
{
    int n, poz,liczba, szukana;
    int tab[100], tab2[50];

    cin >> n>>szukana;
    for (int i = 0; i < n; i++)
    {
        cin >> liczba;
        tab[i] = liczba;
    }



system("pause");

}

 

komentarz zamknięcia: Pytający samemu rozwiązał problem

1 odpowiedź

0 głosów
odpowiedź 3 grudnia 2016 przez kmarcin Użytkownik (590 p.)
edycja 3 grudnia 2016 przez Arkadiusz Waluk

Dobra, już sam rozwiązałem.

#include <iostream>
#include <cstdlib>
#include <string>
#include <string.h>

using namespace std;

int main()
{
    int n, poz=0,liczba, szukana;
    int temp = 0, ilosc = 0;
    int tab[1000000], tab2[100000];

    cin >> n>>szukana;
    for (int i = 0; i < n; i++)
    {
        cin >> liczba;
        tab[i] = liczba;
    }

    for (int i = 0; i < n; i++)
    {
        if (tab[i] == szukana)
        {
            poz = i + 1;
            tab2[temp++] = poz;
            ilosc++;
        }        
    }
/*
    for (int i = 0; i < ilosc; i++)
        cout << tab2[i];
*/
    if (ilosc >= 2)
        cout << tab2[0] <<" "<< tab2[ilosc-1];
    if (ilosc == 1)
        cout << tab2[0] <<" "<< tab2[0];
    if (ilosc == 0)
        cout << -1 << " " << -1;

    system("pause");

}

 

komentarz 3 grudnia 2016 przez Arkadiusz Waluk Ekspert (287,950 p.)

Wstawiaj kod na forum w przeznaczony do tego bloczek.

Podobne pytania

+1 głos
1 odpowiedź 714 wizyt
pytanie zadane 15 grudnia 2017 w C i C++ przez Józef Niecierski Początkujący (440 p.)
0 głosów
0 odpowiedzi 382 wizyt
pytanie zadane 24 maja 2018 w PHP przez Igor Gawrys Stary wyjadacz (12,460 p.)
0 głosów
2 odpowiedzi 867 wizyt
pytanie zadane 9 lipca 2015 w C i C++ przez Mieszko I Stary wyjadacz (10,980 p.)

92,556 zapytań

141,404 odpowiedzi

319,560 komentarzy

61,942 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!

...