Chtěl bych se zeptat, jestli neznate nejaky tutorial dobře pochopitelný na OOP a třídy.
Děkuji za odpovědi.
Chtěl bych se zeptat, jestli neznate nejaky tutorial dobře pochopitelný na OOP a třídy.
Děkuji za odpovědi.
Děkuju moc už mi to funguje :)
while(loop)
{
akt * pole = new akt[velikost];
if (id == velikost)
{
novavelikost = velikost * 2;
akt *novepole = new akt[novavelikost];
for(int i = 0; i < velikost; i++)
{
novepole[i].ID = pole[i].ID;
novepole[i].cislo1= pole[i].cislo1;
novepole[i].cislo2= pole[i].cislo2;
novepole[i].cislo3= pole[i].cislo3;
novepole[i].string1= pole[i].string1;
novepole[i].cislo4= pole[i].cislo4;
novepole[i].cislo5= pole[i].cislo5;
}
delete[] pole;
pole = novepole;
velikost = novavelikost;
}
}
Mám to takle je to v loopu, a problém asi bude že se mi to pole vytvoří znova nebo tak něco.
když to chci vypsat po vytvořeni novehopole tak se vypíšou akorát nuly, potřebuju toto upravit tak aby to fungovalo.
To je mi jasné, ale já mám ze začátku jedno pole o velikosti X, a když mi přestane stačit tak potřebuju vytvořit nové o 2*X, a smaza to stare, a takhle pořád dokola. Překopírování pole je mi +- jasné, ale nevím jak vytvořit to druhé pole aby nahradilo to první a používalo se jenom to dokud zase nepřestane stačit.
Mohli by jste mi prosím vás poradit jak překopíruju ty pole mezi sebou klidně i přes for nemusí to být přes memcpy. kod je pořád stejný jako v 6tém příspěvku celkem to spěcha. děkuju
Bohužel musím použít metodu s dvoumi poli, tak jestli by jste mi mohli pomoct upravit ten můj kód.
A když se pole jednou zvětší ztratím všechny hodnoty a vypisuje to jenom 0 0 .
struct struktura
{
int ID;
string jmeno;
};
int id = 0;
while(menu != 0)
{
struktura * pole = new struktura[velikost];
if (id == velikost)
{
novavelikost = velikost * 2;
struktura*novepole = new struktura[novavelikost];
memcpy(novepole, pole, sizeof(akt) * velikost);
delete[] pole;
pole = novepole;
velikost = novavelikost;
}
cin >> menu;
switch(menu)
{
case 0: break;
case 1: plneni pole po jednom prvku ...
cin >> pole[id].ID >> pole[id].jmeno;
id++;
break;
case 2: plneni pole ze souboru (ifstream) ...
while(getline(...))
{
plneni pole[id] ...
if (id == velikost)
{
akt * pole = new akt[velikost];
novavelikost = velikost * 2;
akt *novepole = new akt[novavelikost];
memcpy(novepole, pole, sizeof(int) * velikost);
delete[] pole;
pole = novepole;
velikost = novavelikost;
}
id++
}
break;
case 3: vypis pole
for(int i = 0; i < id; i++) cout << pole[i].ID << ' ' << pole[i].jmeno << endl;
break;
#2 q
děkuju za pomoc chtěl bych se ještě zeptat jak to zakombinuju do loopu a se strukturou, myslel jsem ze to zvladnu uz sam ale nejak mi to nejde
toto jsem vytvořil
a když chci vypsat pole po minimálně jednom přeplnění tak se vypíšou jenom 0,
Dobrý den potřebuju vytvořit dynamicky pole o určité velikosti a když přestane stačit tak zkopírovat obsah do druhého pole , smazat malé pole a vytvořit znovu pole o X násobek větší ,kde vrátím ty hodnoty z druhého pole
int main()
{
int static cislo = 0;
while(cislo < 50)
{
int static pole = 15;
int * zaznam = new int[pole];
if(pole == cislo)
{
int *zaznam2 = new int[pole*2]; // alokovat nove ople o potrebne velikosti
memcpy(zaznam2, zaznam, sizeof(int)*(pole/2)); // zkopirovat
delete [] zaznam; // smazat stare
zaznam = zaznam2; // pole bude ukazovat na nove aloovanz blok pameti
}
zaznam[cislo] = cislo;
cout << zaznam[cislo] << endl;
cislo++;
}
}
tento kód nefunguje úplně chtěl bych poprosit o opravu, děkuji.
Tohle jediné jsem schopný vyplodit :/
ifstream soubor("text.txt");
char cislo;
if(soubor.is_open())
{
soubor >> cislo;
}
#7 KIIV
Je zadané číslo 1010111001100.... které je dlouhé max 1000 znaků.
Já chápu že to pravděpodobně není nic těžkého ale v těch bitech se neorijentuju zkoušel jsem si o tom číst někde ale nikde jsem se nedočetl jak z 32bitového čísla dostanu normální číslo. (jsem začátečník tak se úplně v těch některých pojmech ztrácím)
Zadání je v textovém souboru, první 32-bitové číslo začína na 1bitu druhé 32-bit číslo na 2bitu atd. ... maximální delka textového souboru je 1000číslic.Mám zjistit největší sudé a liché číslo. A já bych chtěl vědět jenom jak z 32bit čísla dostanu normální číslo s ostatním už si nějak umím poradit.
A mohl by si mi ukazat jak jsem amater.
dobrý den,
pořebuju převést binární číslo na decimální v c++ a chtěl bych se zeptat jestli na to je nějaky jednoduchy kod a nebo jestli to jde nějakou jednoduchou cestou přes bity.
Zadání je několik náhodných 1 a 0, a mám je brát po 32 bitecha zjistit jaké číslo je největší.