Nie do końca dobrą drogą idziesz.
"wypisujący w kolejnych wierszach wszystkiewielokrotności n większe od m i mniejsze od k"
Twój program wypisuje wielokrotności n co prawda większe od n ale już nie mniejsze od k tylko po prostu tyle razy ile K wynosi.
Po pierwsze zastanowiłbym się na warunakami IF'a:
if((mnoznik<=k)&&(mnoznik>=m))
Sprawdzasz czy mnożnik jest mniejszy od k...
A wypisujesz mnoznik*n.
cout <<n*mnoznik<<endl;
Jeśli K=22, n=10, m=0 to powinno się wykonać 2 razy, nie? A u Ciebie
int mnoznik=i+2;
będzie się inkrementował 20 razy za każdym razem będzie mniejszy od K, więc się wypisze 20 razy. Dlatego pomyśl nad tym warunkiem - co chcesz sprawdzać - jaka była treść zadania.
Jeszcze propo tego:
int mnoznik=i+2;
Czemu chcesz od 2 zaczynać? n*2 = 2n, a czemu ma nie być pierwszej wielokrotności?
Po co ta linijka w ogóle się znajduje w kodzie? w jakim celu?
getch() ;
I ten else?
EDIT!: Dobra, to że mi bez tego działa poprawnie to nie znaczy, że komuś nie potrzebna. Z tym też działa, także odwołuje to co napisałem.