Witam,
Mam problem z zadaniem 5.1 z matury próbnej 2014/2015:
Mateusz cały rok przygotowuje się do zawodów sportowych w skoku w dal. Codziennie
trenuje, a wynik – długość najdłuższego skoku podaną w centymetrach – zapisuje w pliku
tekstowym dziennik.txt. W pliku tym znajduje się 310 liczb odpowiadających
długościom najlepszych skoków Mateusza w kolejnych dniach treningowych. Każda liczba
jest zapisana w osobnym wierszu.
Przykład:
436
571
569
435
Pozytywną serią treningową Mateusz nazywa każdy ciąg kolejnych dni treningowych,
w czasie których uzyskuje on każdego następnego dnia treningu lepszy rezultat niż dnia
poprzedniego i którego to ciągu nie można przedłużyć (jest to ostatni zanotowany wynik albo
wynik z następnego dnia jest gorszy).
Przykład:
478 475 470 480 481 481 475 477 480 482 470
W tym przypadku najdłuższa pozytywna seria treningowa (podkreślona) trwała 4 dni,
a Mateusz w jej trakcie poprawił swój wynik o 482–475=7 centymetrów.
W wybranym przez siebie języku programowania napisz program, za pomocą którego
uzyskasz odpowiedzi na poniższe pytania.
Zadanie 5.1.
Ile Mateusz miał pozytywnych serii treningowych dłuższych niż 3 dni?
Napisalem taki kod:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
int a[310];
int licznik1=1;
int licznik2=0;
ifstream dane;
dane.open("dziennik.txt");
for(int i=0;i<310;i++)
{
dane>>a[i];
}
for(int i=0;i<310;i++)
{
if(a[i]<a[i+1])
{
licznik1++;
continue;
}
if(licznik1>3)
{
licznik2++;
licznik1=1;
}
else
{
licznik1=1;
}
}
cout<<licznik2;
}
Wychodzi 11, a w odpowiedziach jest 14.
Link do danych: DANE