Ще запазим количеството елементи, които машина произвежда в глобална константа MACHINE_DAY_RECORDS (равна на 8 * 10000 = 80000). От научните изследвания очакваме, че дефектите в произведените елементи ще се срещат в "купчини". Тоест ще имаме последователност от изправни елементи, след това последователност от дефекти и после пак последователност от изправни елементи и так. нат. (където всяка последователност съдържа поне 2 елемента). Това означава, че ако имаме много самостоятелни срещания на дефекти, работниците най-вероятно ги крадат. Аналогично, ако имаме повече редици дефекти отколкото самостоятелни дефекти, то машината ще е в неизправно състояние. double defectPercentage(bool outputRecords[MACHINE_DAY_RECORDS]); Дефинираме променлива defectiveElements със стойност 0. Итерираме линейно през outputRecords, като за всеки един елемент сумираме единица към defectiveElements, когато е дефектен. Накрая връщаме defectiveElements делено на MACHINE_DAY_RECORDS (като конвертираме поне едно от двете към double). bool isMachineBroken(bool outputRecords[MACHINE_DAY_RECORDS]); Дефинираме променливи sequencesOfDefects и countDefects, и двете със стойност 0. Ако първия елемент е дефектен, добавяме единица и към двете променливи. След това итерираме линейно през останалите елементи, като пазим предходната стойност в променлива prevDefect (която в началото е истина, ако първия елемент е дефектен и лъжа иначе). На всеки елемент в итерацията, ако е дефектен, добавяме единица към countDefects. Ако е дефектен и предходния не е бил дефектен, тогава добавяме единица към sequencesOfDefects. Накрая връщаме истина когато sequencesOfDefects е повече от половината от countDefects и лъжа иначе. int main(); Декларираме масив machineRecords с размер MACHINE_DAY_RECORDS и го попълваме с данни от входа. След това подаваме machineRecords на defectPercentage. Ако е повече от 0.0003, то тогава го подаваме на isMachineBroken. Ако резултата е истина, изкарваме съобщение че машината е счупена, иначе че се краде от нея. Ако резултата от defectPercentage е по-малък от 0.0003, тогава изкарваме че машината е в изправно състояние. Повтаряме тази процедура общо 5 пъти, за всяка машина.