Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem 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

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Hmm, asi to už mám, ale pokaždé mi to crashne, poradí mi někdo? Přiložím kod(snad jsem nic nevynecha…
SiBa 13.10.2016 20:01
SiBa
v tych cykloch mas totalny bordel, bb je najskor furt okolo 5 takze prvy cyklus asi ani neskonci nik…
MM.. nereg 13.10.2016 21:41
MM.. nereg
#include <iostream> #include <windows.h> using namespace std; void cistka() { system("CLS"); } int… poslední
SiBa 14.10.2016 14:13
SiBa

Hmm, asi to už mám, ale pokaždé mi to crashne, poradí mi někdo? Přiložím kod(snad jsem nic nevynechal):

#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 *pepe = new(nothrow) int[kod];
    for(int tt = 0;tt < kod;++tt)
    {
    cout << " " << tt+1 << ". delitel:" <<' ';
    cin >> pepe[tt];
    }
    int *ee = new(nothrow) int[dok-Odk];
    int *veve = new(nothrow) int[dok-Odk];
   cistka();
   for(;Odk <= dok;++Odk)
   {

    veve[0] = Odk;
    int pp = 0;

    for(int bb = 0;bb < kod;++bb)
    {
    if(veve[0]%bb==0)
    {
    ee[pp]= veve[0];
    }
    else
    {
    bb = 5;
    }
    }
   pp = ++pp;
   }
   for(int ii=0;ii < dok;++ii)
   {
    cout << ee[ii] << endl;
   }
    return 0;

}

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.

#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;

}

Zpět do poradny Odpovědět na původní otázku Nahoru