Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

C - przecięcie zera - odczyt liczb całkowitych

camakal 06 Lis 2012 13:37 1587 1
  • #1 06 Lis 2012 13:37
    camakal
    Poziom 7  

    Witam, mam mały problem.

    Zaproponuj i zapisz kompletny algorytm pozwalający na realizację następującego zadania:

    Napisać program, który ma odczytywać sekwencję liczb całkowitych z terminala i wyliczać częstotliwość wystąpień przecięć zera we wczytywanym strumieniu wejściowym. Przecięcie zera następuje każdorazowo, gdy po wartości dodatniej następuje wartość ujemna lub po wartości ujemnej dodatnia (także, gdy między tymi wartościami pojawia się jedno lub więcej zer). W przypadku wykroczenia wyliczanej częstotliwości poza zadany przedział na wyjściu programu powinien pojawić się odpowiedni komunikat. W szczególności:

    pod uwagę mają być brane jedynie liczby z przedziału od -10 do 10 oraz liczba 99 oznaczająca koniec strumienia danych; pozostałe wartości są uznawane za niepoprawne i pomijane;
    częstotliwość ma być określana jako liczba wystąpień przecięcia zera w kolejnych grupach złożonych z 99 liczb - wartość częstotliwości spoza przedziału od 5 do 8 uznawana jest za niepoprawną i powoduje pojawienie się na wyjściu programu odpowiedniego komunikatu; w pozostałych przypadkach nie jest generowany żaden komunikat.

    Kod źródłowy:

    Kod: cpp
    Zaloguj się, aby zobaczyć kod



    Czy mógłby mi ktoś podpowiedzieć jak efektownie przetestować ten program i jak to zrobić?


    Proszę pamiętać o używaniu znaczników syntax. Opcja Listing kodu. - arnoldziq

    0 1
  • #2 06 Lis 2012 16:21
    stanleysts
    Poziom 27  

    Stwórz sobie najlepiej jakis plik z gotowymi danymi i z niego odczytuj sobie po kolei. Zaoszczędzi Ci to czasu na wklepywanie własnej sekwencji. Najlepiej tak zaprojektować program, żeby Ci coś wyświetlał w konsoli, np. tą częstotliwość przecięć. No a sam sobie to też możesz na papierze przeliczyć i zobaczysz czy to to samo.

    0