
C++ IF.
Dobrý den. Mám vytvořené pole pomocí příkazu new a chci označit čísla,která jsou dělitelná čísly v poli v rozmezí x,y , ale zjístil jsem ,že musím definovat if a jeho podmínky už předem, ale nějak nevím jak.
Jediné co mě napadá je udělat cyklus v němž se všechna čísla jenž jsou dělitelné číslem pole a následně je uložit do jiného pole(např cisla) a pak "posunout pole dělitelů na další číslo" a následně prověřit čísla pole cisla číslem pole dělitelů a tak pokračovat dokud nebude hodnota pole dělitelů NULL.... a pak vypsat čísla v poli cisla. .............................
Ale to je jen teorie blba co se v tom moc nevyzná. No, raději se vrátím zpět - existuje nějaký příkaz jimž bych mohl přidávat do kódu IF a jeho podmínky během chodu programu? Předem moc děkuji za odpovědi
Hmm, asi to už mám, ale pokaždé mi to crashne, poradí mi někdo? Přiložím kod(snad jsem nic nevynechal):
v tych cykloch mas totalny bordel, bb je najskor furt okolo 5 takze prvy cyklus asi ani neskonci nikdy a pp sa zvysi az dokial to necrashne.
1) prepis vsetjy nazvy premennych na jasne oznacenie vyznamu. Ziadne pepe bebe pp veve ani podobne hovadiny.
2) najprv si ujasni co sa bude zvysovat od kolko po kolko a preco. Preber si ten algoritmus offline v hlave alebo v niecom inteligentnom.
3) az potom zacni pisat nejake cykly.
Díky, už mi to funguje jak má.... když jsem se na to koukl dnes tak jsem musel být asi mimo když jsem psal ten kód... těch chyb co jsem tam měl. No nic, jdu si ještě upravit výstup.
#include <iostream>
#include <windows.h>
using namespace std;
void cistka()
{
system("CLS");
}
int main()
{
int Odk,dok;
int kod;
cout <<" Od kolika: "<< ' ';
cin >> Odk;
cout <<" Do kolika: "<< ' ';
cin >> dok;
cout <<" Kolik delitelu: " <<' ';
cin >> kod;
int *delitele = new(nothrow) int[kod];
for(int tt = 0;tt < kod;++tt)
{
cout << " " << tt+1 << ". delitel:" <<' ';
cin >> delitele[tt];
}
int rozdil = dok - Odk;
int *vpole = new(nothrow) int[rozdil];
int a = 0;
for(;Odk <= dok;++Odk)
{
for(int bb = 0;bb < kod;++bb)
{
if(Odk%delitele[bb]==0)
{
vpole[a]= Odk;
}
else
{
vpole[a]= 0;
bb = kod;
}
}
a = a + 1;
}
for(int ii=0;ii < dok;++ii)
{
if(vpole[ii]!=0)
{
cout << vpole[ii] << endl;
}
}
return 0;
}