Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem c++ problém s kódem

Dobrý den, mám kód na vyhledání společných násobku v určitém rozmezí , ale když dám třeba od 100 a po 200, s 2 děliteli(např 2;9),tak mi to vypíše všechny násobky a k tomu to přidá asi 10 mnohonásobně větší čísla mimo rozmezí a crashne to.V rozmezí třeba 1 a 100 to nedělá... nic mě nenapadá čím by to mohlo být. Raději přiložím kód:
#include <iostream>
#include <windows.h>
using namespace std;

void cistka()
{
system("CLS");
}


int main()
{
int Odk,dok;
int kod;
cout <<" Od kolika: "<< ' ';
cin >> Odk; // tady se určuje minimální hranice
cout <<" Do kolika: "<< ' ';
cin >> dok; // tady se určuje maximalní hranice
cout <<" Kolik delitelu: " <<' ';
cin >> kod; // tady se určuje počet dělitelů
int *delitele = new(nothrow) int[kod];
for(int tt = 0;tt < kod;++tt) // v tomhle cyklu se určují dělitele
{
cout << " " << tt+1 << ". delitel:" <<' ';
cin >> delitele[tt];
}
int rozdil = dok - Odk; // tady se určuje velikost vpole(vysled.pole)
int *vpole = new(nothrow) int[rozdil];
cistka(); // vymaže plochu
int a = 0;
for(;Odk <= dok;++Odk)
{

for(int bb = 0;bb < kod;++bb) // tady se vyhodnocuje zda platí podmínky
{
if(Odk%delitele[bb]==0)
{
vpole[a]= Odk;
}
else
{
vpole[a]= 0; // pokud neplatí jedna podmínka z x, tak uloží do pole číslo 0 a stopne cyklus
bb = kod;
}
}
a = a + 1;
}
for(int ii=0;ii < dok;++ii) // tenhle cyklus je vypisuje
{
if((vpole[ii]!=NULL)||(vpole[ii]!=0))
{
cout<< vpole[ii] << endl;
}

}
return 0;

}


předem děkuji za odpovědi

Odpověď na otázku

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny