Здравейте! Бих искал да попитам за помощта ви къде се намира грешката в задачата. Това е задача номер 10 от Alpha Preparation за масиви.
Условие :
Given an array of integers, some elements appear twice and others appear once. Each integer is in the range of [1, N] where N is the number of elements in the array.
Find all the integers of [1, N] inclusive that do NOT appear in this array.
Input 1,2,3,3,5
Output 4
Input 4,3,2,7,8,2,3,1
Output 5,6
Ето това е кода https://pastebin.com/gwLgf7yr. Програмата си работи във Visual Studio.
От това което забелязвам е че когато въведа gets() за прием на входни данни, проверката във цикъла винаги дава положителен резултат и по този начин масива missing се пълни като брояч (1,2,3,4…), вместо само когато if-а е false . Ако въведа в judge първите входни данни директно, т.е. [1,2,3,3,5], програмата правилно показва отговор 4. До сега пробвах и с други методи като indexOf и допълнителни функции, но резултата всеки път е един и същ. Моите подозрения са, че проблема идва с взимането на самите входни данни, обаче нямам си и идея какво мога да променя в това отношение. Много ще съм ви благодарен за помощта.