• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dzielniki liczby - poszukiwanie błędu

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
0 głosów
557 wizyt
pytanie zadane 12 lutego 2022 w C i C++ przez Mefer Nowicjusz (140 p.)

Witam, napisałem program wypisujący dzielniki właściwe z podanej liczby jednak nie działał - po wpisaniu liczby po prostu się kończył. Nie chodzi mi o to jak zrobić taki program bo napisałem go od inaczej i działa. Problemem jest to, że dalej nie wiem co w tym niedziałającym było nie tak, przeanalizowałem go i nawet rozpisałem sobie co po kolei zachodzi a dalej nie mogę się domyślić dlaczego po podaniu liczby nie dzieję się kompletnie nic  - program jakby omijał kompletnie pętle for i przechodził od razu do return 0 (nie ma tzw. laga tylko program się definitywnie kończy).

#include <iostream>

using namespace std;

int main()
{
    int i, l=1;
    cout << "Podaj liczbe: ";
    cin >> i;
    for(int g=1; g<=i; g++)
    {
        if (i%l==0)
        {
            cout << l << ", ";
            l++;
        }
        else
        {
            l++;
        }
    }
    return 0;
}

 

komentarz 12 lutego 2022 przez Whistleroosh Maniak (57,400 p.)
Ten program jak najbardziej działa. Co prawda wypisuje wszystkie dzielniki, a nie tylko właściwe. W jaki sposób uruchamiasz program?
komentarz 12 lutego 2022 przez Mefer Nowicjusz (140 p.)
Build and run (f9), wyłączyłem też avasta ale nic to nie dało.
komentarz 12 lutego 2022 przez Whistleroosh Maniak (57,400 p.)
Ale to po uruchomieniu pojawia Ci się terminal i od razu znika? To spróbuj uruchomić program bezpośrednio z terminala
komentarz 12 lutego 2022 przez Mefer Nowicjusz (140 p.)
Po uruchomieniu przez f9 i wpisaniu liczby pojawia się jedynie process returned 0 i okno czeka aż je zamknę, jeśli uruchomię program bezpośrednio z folderu to po wpisaniu liczby i kliknięciu enter okno się od razu zamyka. Dziwne, że kiedy pierwszy raz otworzyłem z folderu i wpisałem 5 to pojawiła się kolumna kilku piątek i program od razu się zamknął (ledwo zauważyłem) pomijając, że nie powinny się wypisać same piątki dziwne jest to, że nie mam w programie instrukcji endl czy /n a one były jak po enterze. Każda następna próba odpalenia programu kończyła się natychmiastowym zamknięciem ale już bez wypisania niczego.
komentarz 12 lutego 2022 przez Whistleroosh Maniak (57,400 p.)
Z jakiego IDE korzystasz? Codeblocks? Bo jak na razie uruchamiasz program bezpośrednio z IDE albo z folderu, a uruchom go z terminala
komentarz 12 lutego 2022 przez Mefer Nowicjusz (140 p.)
Korzystam z Codeblocks. Terminal czyli konsola? Jeśli tak to odpaliłem przez ścieżkę pliku i po wpisaniu liczby nic się jak zwykle nie pojawiło, po prostu mogłem wpisywać dalsze polecenia.
komentarz 12 lutego 2022 przez Whistleroosh Maniak (57,400 p.)
komentarz 12 lutego 2022 przez Mefer Nowicjusz (140 p.)

Niestety to nie pomogło, w Dev c++ działa, na razie będę pisał w nim. Zauważyłem, że CodeBlocks normalnie wypisuje cout jeśli jest "prosto" wpisany (np. początkowy kod Hello World) natomiast kiedy pojawia się pętla for coś zaczyna szwankować, a u wielu osób z podobnym problemem cout nie działało wcale. 

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 913 wizyt
pytanie zadane 3 listopada 2020 w C i C++ przez Niepokonana7999 Bywalec (2,310 p.)
0 głosów
1 odpowiedź 408 wizyt
pytanie zadane 6 sierpnia 2017 w C i C++ przez jankowa1ski Gaduła (3,560 p.)

93,444 zapytań

142,436 odpowiedzi

322,698 komentarzy

62,806 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

...