Napisałeś mało konkretów - czy pojawiające się liczby są zawsze w kolejności rosnącej (to wtedy łatwo jest kontrolować bieżącą wartość), bo jeśli w losowej, to trzeba to trzymać w tablicy (trochę miejsca zajmie, nawet jak się użyje mapowania bitowego), czy mamy te brakujące liczby (jedna czy może być ich więcej?) wypisywać na końcu? No i nie podałeś, w jakim języku masz to napisać (czy może chodzi tylko o algorytm)?
Przyjąłem że ostrzeżenie pojawiło się przy próbie ściągania pliku, a nie w trakcie jego uruchamiania i dlatego go dodatkowo spakowałem choć też miałem wątpliwości czy to ma sens, ale tak dla świętego spokoju. Z tymi antywirusami to różnie bywa, ale formalnie masz oczywiście rację, że nie powinno mieć żadnego znaczenia czy plik jest spakowany czy nie.
Dla świętego spokoju przeskanowałem też jeszcze plik Avastem i komunikat mówi wyraźnie: “Nie znaleziono zagrożenia”.
Umieszczanie tu jakichkolwiek plików źródłowych jest pozbawione sensu bo gdybym chciał umieścić w programie jakieś szkodliwe fragmenty, to w pliku źródłowym bym ich tu nie zaprezentował. Nie mówiąc o tym że takie sprawdzanie jest dla mnie trochę obraźliwe w przypadku gdy informuję, że jest to programik napisany przeze mnie i że jest czysty.
Jedyne co mogę zrobić, to nie umieszczać tutaj linku do pliku, a co najwyżej link do mojej strony lub innej na której zainteresowany będzie mógł sobie plik ściągnąć lub zrezygnować.
Ależ ja wcale nie sugerowałem, że Ty wrzuciłeś zawirusowany program. Mnie chodziło tylko o to, żeby autor wątku miał możliwość zapoznać się z algorytmem działania tego programu i ewentualnie sam go sobie przerobić i skomplilować (bo nie podał informacji, skąd się biorą liczby z ciągu - w klawiatury/stdin są czytane, czy może są w jakimś pliku).
No, to się ubawiłem stwierdzeniem: “program trochę prymitywny…poprawności działania nie sprawdzałem.”
Ciekawe czym u Ciebie program może sobie zasłużyć na genialność bez sprawdzania poprawności działania, ale trochę się domyślam.
Programik był napisany na szybko na konkretne zapotrzebowanie i nawet nie wiem czy spełnia życzenia zainteresowanego dlatego nawet się nie siliłem na jakieś opisy takich lub innych czynności użytkownika czy sugestii postępowania, co prawdopodobnie uznałeś za brak odporności na błędy, ale można i tak.
Mnie ten programik nie jest do niczego potrzebny i jeżeli zainteresowanemu nie o to chodziło, to najzwyczajniej go skasuje.
W każdym bądź razie dziękuję za zainteresowanie, tylko szkoda, że Twoje uwagi bardzo ogólnikowe.
– Dodane 10.02.2013 (N) 13:15 –
Masz rację, tym niemniej w takim przypadku też powstaje wiele pytań typu: Czy pytający programuje i w jakim języku?
Problem był na tyle banalny, że nawet początkujący przynajmniej próbował by go rozwiązać.
Sam algorytm w opisie słownym sprowadza się np. do:
Wczytania danych do pliku i utworzenia z niego tablicy.
Utworzenia pętli “for” której najmniejszym indeksem jest pierwszy element tablicy, a ostatnim ostatni element tablicy.
Umieszczenie w pętli “for” instrukcji “if” sprawdzającej czy kolejne indeksy pętli są kolejnymi elementami tablicy i jeżeli nie, to dołączamy je do nowego zbioru brakujących elementów który na końcu prezentujemy i wszystko.
Algorytm świetnie nadaje się do przećwiczenia w dowolnym języku programowania, a także w arkuszach kalkulacyjnych tworząc odpowiednie makro.
Ciekawszym dla mnie okazał się problem z tym rzekomym złośliwym kodem w pliku, na co zwrócił uwagę Areh.
i rzeczywiście niektóre antywirusy wskazywały na istnienie jakoby złośliwego kodu.
Ponieważ program był bardzo krotki i nie było za bardzo co w nim zmieniać więc zmieniłem dołączaną do pliku grafikę (ikonę) i…problem zniknął. Oczywiście sprawdziłem też te pliki graficzne na istnienie złośliwego kodu z rezultatem negatywnym.