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

question-closed Zadanie z laborków

Object Storage Arubacloud
0 głosów
531 wizyt
pytanie zadane 24 października 2018 w C i C++ przez kamasazi98 Początkujący (410 p.)
zamknięte 28 października 2018 przez kamasazi98

Cześć, jestem dosyć zielony z programowania i dopiero zaczynam, więc za drastyczne błędy przepraszam.
Zadanie brzmi tak:

"Dany jest ciąg n-liczb całkowitych. Napisz program, który obliczy i wypisze ilość
podciągów składających się z samych liczb dodatnich."

Stworzyłem coś takiego, lecz nie potrafie sprawić aby dodawało mi ilość wykonań pętli dla liczb dodatnich. Chodzi mi o to aby np. gdy dodatnia liczba trafi się przy 5 i 8 razie wykonania pętli wykazało wynik 2, a nie 13.

#include <iostream>

using namespace std;
int n,x2, suma = 0;
int main()
{
    cout << "Jak dlugi ma byc ciag?" << endl;
    cin>>n;
    for (int i=0; i<n;i++)
    {
        cout<<"Podaj liczbe: "<<endl;
        cin>>x2;
        if (x2>0)
            cout<<i<<" jest liczba dodatnia w tym ciagu"<<endl;
    }
    //cout<<"Suma liczb dodatnich: "<<suma<<endl;
    return 0;
}

Te dwa ostatnie cout'y to moje marne próby wskórania czegoś, myśle że mozna je pominąć.

komentarz zamknięcia: Znalazłem rozwiązanie
komentarz 24 października 2018 przez Aisekai Nałogowiec (42,190 p.)
Ile liczb dodatnich musi być jedna, po drugiej, aby uznać to za dodatni ciąg?  

Czy, gdy mamy ciąg np {2,-2} odpowiedzią jest 1, bo {2} jest ciągiem jednoelementowym czy 0?

Czy rozważamy permutacje ciągów? W sensie: jeżeli na wejściu mamy ciąg 2 elementowy: {1,2} to czy jest to liczony jako jeden podciąg? Czy podciągi to {1}, {2}, {1,2} czyli łącznie mamy 3 podciągi?
komentarz 26 października 2018 przez kamasazi98 Początkujący (410 p.)
wystarczy jedna liczba dodatnia, ale już osoby niżej mi dały cenne wskazówki, nie mniej dzięki za chęci

2 odpowiedzi

0 głosów
odpowiedź 24 października 2018 przez niezalogowany
wybrane 28 października 2018 przez kamasazi98
 
Najlepsza
Gdy liczba poprzedzająca wczytaną była niedodatnia, a wczytana liczba dodatnia zmień licznik (podciągów) o 1. Skoro nie używasz tablicy wyniki zapisuj do zmiennych pomocniczych typu bool. Pamiętaj nadać odpowiednie wartości początkowe.
komentarz 26 października 2018 przez kamasazi98 Początkujący (410 p.)
Dzięki za rade na pewno z niej skorzystam
+1 głos
odpowiedź 24 października 2018 przez Votex Początkujący (310 p.)
Cześć sam jestem początkujacym ale spróbuj zrobić nowa zmienna , która będzie przechowywac liczbę dodatnich liczb. Gdy ktoś poda dodatnią liczbę  zwiększaj ją. Wydaje mi się , że o to pytałes jak nie to źle zrozumiałem pytanie.
komentarz 24 października 2018 przez kamasazi98 Początkujący (410 p.)
Dzięki za podpowiedź rozwiązała ona moje pytanie i dokończyłem program :D

Jednak chyba źle zrozumiałem zadanie, bo jak teraz to czytam to chyba chodzi o to że np. mam 5 liczb dodatnich, nastepnie ujemna i znowu dodatnie, a wynikiem ma być 2. Co już chyba kompletnie zmienia postać rzeczy ;/
Masz może jakąś magiczną wskazówkę, która pomoże mi rozwiązać to zadanie?
komentarz 24 października 2018 przez j23 Mędrzec (194,920 p.)
Licz zmiany liczb z ujemnych na dodatnie, wtedy będziesz miał liczbę podciągów dodatnich.
komentarz 26 października 2018 przez kamasazi98 Początkujący (410 p.)
oo faktycznie dzięki

Nie znaleziono podobnych pytań

92,621 zapytań

141,477 odpowiedzi

319,817 komentarzy

62,005 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!

...