Anonymní profil Martin – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Martin – Programujte.comAnonymní profil Martin – Programujte.com

 

Příspěvky odeslané z IP adresy 159.51.236.–

mitti
C / C++ › Bitova negacia ~
3. 12. 2015   #206999

chalani moc sa omluvam, som to zle previedol moja chyba.....dakujem za vyvedenie z omylu.....

mitti
C / C++ › Bitova negacia ~
3. 12. 2015   #206997

OK, a teraz snad uz naposledy kedze v tom nie som moc zbehnuty, ako to cele pracuje:

mam cislo 5 kedze sa jedna o 32 bit tak to je:

0000 0000 0000 0000 0000 0000 0000 1010

negovane to je:

1111 1111 1111 1111 1111 1111 1111 0101

a maska je predsa 0x7 co je v binare

0000 0000 0000 0000 0000 0000 0000 0111

a vysledok je predsa:

0000 0000 0000 0000 0000 0000 0000 0101

tak ako je mozne ze C mi hodi ze je to 2, toto potrebujem vysvetlit

mitti
C / C++ › Bitova negacia ~
3. 12. 2015   #206993

OK....takze este jedna vec: cislo 5 negovane je 2

mam cislo 5 (deciamlna sustava), v binare to je: kedze sa jenda o 32bitove

0000 0000 0000 0000 0000 0000 0000 0101

negovane je:

1111 1111 1111 1111 1111 1111 1111 1010

krat binarny sucin 0xF co je

1111 1111 1111 1111 1111 1111 1111 1111

vysledok by mal byt predsa ten isty:

1111 1111 1111 1111 1111 1111 1111 1010

tak akoze je to zrazu 0x0000000A co je cislo 15.....

ale ved cislo 5 negovane je cislo 2 a toto ja potrebujem vysvetlit ako to zapisat ked zadam do programu cislo 5 a dam ho negovat preto mi nevyde cislo 2 + vysvetlenie ako je mozne ze vysledok negace & 0xF je 

0x0000000A nejako to rozpisat.....uz som z toho jelen (dakujem)

mitti
C / C++ › Bitova negacia ~
3. 12. 2015   #206987

Takze ak tomu dobre chapem, este je nutne urobit bitovy sucin aby som mal spravny vysledok. A bez toho to nie je mozne nijako vypisat?

#include <stdio.h>

int main()
{
    int i = 10;

    printf("Invertovane cislo je: %d\n", (~i)&0x0F);

    system("pause");
    return 0;
}
MS SQL › Aktualizacia podformulara ce…
19. 9. 2014   #194086

Ahojte

Vytvoril som si tabulku s komponentami a k tomu formular od ktorého chcem aby sa pri zmene s vyberu pola so zoznamom, aktualizoval podformular ktory obsahuje vsetky hodnoty ...takze taky neaky filter...

C / C++ › Ako vratit referenciu
14. 8. 2014   #192979

#53 KIIV

#54 vitamin

nikto mi neodpovie???? ci to chapem dobre??

C / C++ › Ako vratit referenciu
13. 8. 2014   #192945

#63 vitamin

#64 Martin
AHoj, takze uz tomu trosku viac rozumiem, len mi nie uje jasne tot:

Bod 2: const Test & test = fnc(Test());

Bod 3: Test test = fnc(Test());

Mam tieto otazky:

1. Vypis prveho: vytvori sa referencia na strukturu, ale kedze sa vola metoda struktury, dak je destruktor zavolany az po opusteni vykonavania veci v strukture.

Ale pri vypise druhom, ako navratovy typ dostaneme referenciu na strukturu, fnc(Test()), zavola sa bezparametricky konstruktor, a to je vsetko co sa v strukture malo vykonat, tym padom objekt zanikol, a uz sa iba do funkcie ma vratit referencia na objekt, ktory uz neexistuje.....

Ale tu tomu poriadne nerozumiem....

2. V bode 3 prijima funkcia ako parameter konstruktor Test() bez parametrov, tak ako je mozne, ze po spusteni programu este vlezie do kontruktora Test(const Test & a), je to z toho dovodu ze funckia ma navratovy typ referenciu na Test?

C / C++ › Ako vratit referenciu
12. 8. 2014   #192920

#59 vitamin

mal by si cas napr. na Skype, ze by sme to trosku rozobrali, nech mam v tom jasno? Ale tu na fore sa tusim neda nikde napisat sukromna sprava,......

mohol by si mi prosim napisat tvoije Skype meno na mmittak@gmail.com? a dopist kedy by si mal na mna chvilku?

Dakujem

C / C++ › Ako vratit referenciu
12. 8. 2014   #192918

#56 vitamin
Vobec tomu kodu nerozumiem co si mi poslal, ja som myslel ze v strukture mozu byt iba premenne typu, int atd.

Ale ty to mas pokial tomu aspon trosku rozumiem:

Test(const Test& x){std::cout << this << "->Test(const Test& == " << &x << ");\n";}

mas Strukturu Test a v nej su metody ktore ako parameter prijimaju napr. conkastnu referenciu na nu samotnu...je to tak?

C / C++ › Ako vratit referenciu
12. 8. 2014   #192917

#54 vitamin
Inak teraz si prechadzam co si mi polal ten zdrojak a som z toho magor....ako sa to vyhodnocuje.......tymto si ma dostal.....

C / C++ › Ako vratit referenciu
12. 8. 2014   #192914

#54 vitamin
ja rozumiem preco nemozem vracat referenciu, lebo by som vracal referenciu na lokalnu premennu, a ked ta metoda skonci, hned sa vola destruktor, ktory automaticky tu premennu znici.....

Mne len neide do hlavy, preco to Visual Studio povoluje, ked Dev C++ nie......

C / C++ › Ako vratit referenciu
12. 8. 2014   #192908

#50 KIIV
Takze, po odskusani v Dev C++ to sice zbehne ale su namiesto casov hovadiny.....lebo sa fakt referencia stratila......asi ostanem nakoniec pri Dev C++, lebo VS2013 sa neda verit.....

Je fakt divne ze tam to ide normalne

C / C++ › Ako vratit referenciu
12. 8. 2014   #192907

#50 KIIV
Ved je tam aj destruktor 

#include <iostream>
#include "mytime.h"

using namespace std;

Time::Time()
{
	hours = minutes = 0;
}

Time::Time(int h, int m)
{
	hours = h;
	minutes = m;
}

Time::~Time()
{
}

void Time::AddHr(int h)
{
	hours += h;
}

void Time::AddMin(int m)
{
	minutes += m;
	hours += minutes / 60;
	minutes %= 60;
}

void Time::Reset(int h, int m)
{
	hours = h;
	minutes = m;
}

Time & Time::operator+(const Time & t) const
{
	Time sum;
	sum.minutes = t.minutes + minutes;
	sum.hours = hours + t.hours + sum.minutes / 60;
	sum.minutes %= 60;
	return sum;
}

void Time::Show() const
{
	cout << hours << " hodin, " << minutes << " minut." << endl;
}

a este ma napadaju tieto otazky: a ked robim step into, tak aj ten prejde akonahle vracia objekt return sum.

C / C++ › Ako vratit referenciu
12. 8. 2014   #192905

#48 KIIV
Tak, ako je mozne, ze toto prejde normalne

#include <iostream>
#include "mytime.h"

using namespace std;

int main()
{
	Time A;
	Time B(5, 40);
	Time C(2, 55);
	A.Show();
	B.Show();
	C.Show();
	A = B.operator+(C);
	cout << endl;
	A.Show();
	B.Show();
	Time D;
	D = A.operator+(B);
	D.Show();

	system("pause");
	return 0;
}
C / C++ › Ako vratit referenciu
12. 8. 2014   #192903

#46 mitti
inak metody

#include <iostream>
#include "mytime.h"

using namespace std;

Time::Time()
{
	hours = minutes = 0;
}

Time::Time(int h, int m)
{
	hours = h;
	minutes = m;
}

Time::~Time()
{
}

void Time::AddHr(int h)
{
	hours += h;
}

void Time::AddMin(int m)
{
	minutes += m;
	hours += minutes / 60;
	minutes %= 60;
}

void Time::Reset(int h, int m)
{
	hours = h;
	minutes = m;
}

Time & Time::operator+(const Time & t) const
{
	Time sum;
	sum.minutes = t.minutes + minutes;
	sum.hours = hours + t.hours + sum.minutes / 60;
	sum.minutes %= 60;
	return sum;
}

void Time::Show() const
{
	cout << hours << " hodin, " << minutes << " minut." << endl;
}

Mne ide hlavne o to, ved to je blbost ze nemozem vracat referenciu, vsak ja vytvorim v metode sum, novy objekt typu Time a ten vraciam ako referneciu do man ma vytvoreny objekt, nie? tym padom povodny objekt niekam ukazoval, a ja som mu prepisal referenciu....ci to chapem zle?

Tak ako ze bude zmazana referencia....

C / C++ › Ako vratit referenciu
12. 8. 2014   #192902

#43 KIIV


Ahojte mam dalsi dotaz....mam takuto triedu......ktora pouziva pretazenie operatora + na scitanie 2 casov.....

#ifndef _MYTIME_H_
#define _MYTIME_H_
class Time
{
private:
	int hours;
	int minutes;
public:
	Time();
	Time(int h, int m);
	~Time();
	void AddHr(int h);
	void AddMin(int m);
	void Reset(int h = 0, int m = 0);
	Time operator+(const Time & t) const;
	void Show() const;
};
#endif

ja osobne by som ju prepisal takto, aby vracala referenciu na objekt Time

#ifndef _MYTIME_H_
#define _MYTIME_H_
class Time
{
private:
	int hours;
	int minutes;
public:
	Time();
	Time(int h, int m);
	~Time();
	void AddHr(int h);
	void AddMin(int m);
	void Reset(int h = 0, int m = 0);
	Time & operator+(const Time & t) const;
	void Show() const;
};
#endif

Ale v knihe je pisane: citujem: ze to tak urobit nemozeme, lebo funkcia vytvori novy objekt Time(sum) ako sucet dvoch objektov Time. Vratenie objektu program vytvori jeho kopiu, ktoru moze pouzit volajuca funkcia. Keby vsak navratovy typ bola referencia na Time odkazovala by na objekt sum. Objekt sum je vsak lokalna premenna a je pri ukonceni funkcie znicena, takze referencia by bola na neexistujuci objekt....

C / C++ › Ako vratit referenciu
12. 8. 2014   #192893

#44 mitti

Uz to facha....tu je navod, uplne na samom spodku, ak by niekto potreboval....treba vytvorit novy filter

http://stackoverflow.com/questions/21836465/how-to-skip-debugging-all-of-std-namespace-in-visual-c-2013

C / C++ › Ako vratit referenciu
12. 8. 2014   #192892
Martin
C / C++ › Ako vratit referenciu
12. 8. 2014   #192886

#40 KIIV
Jasne, to viem, ja len ze ak som robil program v C#, tak ak som dal Step into, tak to neslo do triedy napr.....Collection, iba do mojej triedy.....a motody ktore som vyuzival z triedy Collection to iba spracovali, bez toho aby som sa cez ne musel preklikavat.....ale v C++ to hned vlezie aj do modet, ktore spracuvaju vstup, atd....a neviem preco

Martin
C / C++ › Ako vratit referenciu
12. 8. 2014   #192883

#38 KIIV
Tak nakoniec som zmenil IDE na VIdual studio 2013 Express, len mam jeden dotaz, ako dokazem ist step by step v programe aby mi program neskakal aj do kniznic isteam a osteam?

Je to vobec vo VS mozne? Lebo ak som robil v C#, tak mi to neskakalo do kniznic .NET framworks?

Dakujem

C / C++ › Ako vratit referenciu
8. 8. 2014   #192796
C / C++ › Ako vratit referenciu
8. 8. 2014   #192795

#35 KIIV
Takze ta definicie triedy musi byt aj v stocks.cpp aj v main.cpp? Lebo ak to nemam aj tam aj tam tak to neide.....a akto to ma byt uplne najlepsie, aby to bolo spravne, ale prosim polopatisticky

C / C++ › Ako vratit referenciu
8. 8. 2014   #192793
C / C++ › Ako vratit referenciu
8. 8. 2014   #192791

#31 KIIV
stale neviem kde robim chybu, obcas to ide a obcas nie....terez mi ho nechce ani za svet nalinkovat aj ked som si vytvoril novy projekt a vsetko tam dal ako ma byt......

Ak to dam vsetko dohromady, tak to ide, ale oddelene, ani za svet.....

Aj include path uz mam nastaveny na potrebny adresar......

Připojen obrázek.

Martin
C / C++ › Ako vratit referenciu
8. 8. 2014   #192781

#29 hlucheucho
Aha, dakujem za rady uz je to aplikovane a terza dalsi dotaz.......Idem podla knihy.....

je lepsie pouzivat

using namespace std; a mat vsetko global

alebo radsej takto:

using std::cin;

using std::cout;

using std::endl;

lebo ten druhy sposob je strasne zdlhavy a v knihe pisu ze je to najlepsie....ale asi iba z toho dovodu ak by som nahodou vytvoril funkciu s rovnakym menom abz ju nehladam v kniznici STD.....je to tak?

Tak ktory sposob?

Martin
C / C++ › Ako vratit referenciu
7. 8. 2014   #192732

#15 KIIV
#12 Martin
OK....ale podla knihy mam toto.....

tak ako to mam prerobit ak chcem mat 3 subory aby to islo? Ak aj ten file2.cpp premenujem na file2.h tak to nefunguje.....prosim porad....som uz bezradny

1. main.cpp

#include <iostream>
#include "coordin.h"

using namespace std;

int main()
{
    rect rplace;
    Polar pplace;
    
    cout << "Zadajte hodnoty x a y: ";
    while (cin >> rplace.x >> rplace.y)
    {
          pplace = rect_to_polar(rplace);
          show_polar(pplace);
          cout << "Zadajte dalsie dve cisla <q pre ukoncenie>: ";
    }
    
    system("pause");
    return 0;
}

2. subor: coordin.h

#include <iostream>
//structure template
struct Polar
{
     double distance;
     double angle;
};

struct rect
{
       double x;
       double y;
};

//prototypy
Polar rect_to_polar(rect xypos);
void show_polar(Polar dapos);

3. subor: file2.cpp

#include <iostream>
#include <cmath>
#include "coordin.h"

//funkcie volane hlavnym programom
using namespace std;

Polar rect_to_polar(rect xypos)
{
      Polar answer;
      answer.distance = sqrt(xypos.x * xypos.x * + xypos.y * xypos.y);
      answer.angle = atan2(xypos.y, xypos.x);
      
      return answer;
}

void show_polar(Polar dapos)
{
     const double Rad_to_deg = 57.29577951;
     
     cout << "vzdialenost = " << dapos.distance;
     cout << ", uhol = " << dapos.angle << endl;
}

Připojen obrázek.

Připojen obrázek.

C / C++ › Ako vratit referenciu
6. 8. 2014   #192685
C / C++ › Ako vratit referenciu
6. 8. 2014   #192684
Martin
C / C++ › Ako vratit referenciu
6. 8. 2014   #192679

#11 mitti
A fakt nevies o ziadnej cvicebnici s ulohami?

C / C++ › Ako vratit referenciu
6. 8. 2014   #192666

#10 KIIV
Vlastne ano, mas pravdu,. tam ma to nehrklo......

Martin
C / C++ › Ako vratit referenciu
6. 8. 2014   #192660

#8 KIIV
To mas pravdu.....dam znak 'l' potom pocet kolkokrat sa ma vzpisat 3x.....0, 1, 2 - su tri ale predsa ked vraciam adresu na char[] potrebujem mat posledny znak ktory ukoncuje retazec, nie? teda tento '\0' - ktory znaci koniec a preto potrebujem mat n + 1 aby som mal

0 = l

1 = l

2 = l

3 = '\0'

teda tak to tvrdi kniha podla ktorej sa ucim....Mistrovstvi v C++ od Stephena Prata

ved ja som si vztvoril novy ukazatel na dynamicke pole znakov chr* p = new char[n + 1]

tak je to dobre ci nie.....?

Martin
C / C++ › Ako vratit referenciu
6. 8. 2014   #192658

#6 KIIV
Nie priklady z praxe....nejaku knizku kde by boli zadania uloh samozrejme aj s vypracovanim na overenie.....

pockaj toto podla mna nie je chyba, ved ja som tu vytvoril novy ukazatel s hodnotou o 1 vyssie na ukoncovaci znak pola char

 char * p = new char[n + 1];
    p[n + 1] = '\0';
Ja sa prave ucim z knihy a snazim sa presne pochopit ako pracuju referencie, ukazatal mi je uplne jasny (aspon myslim) ale referencie je nieco podobne, len som nevedel ze dokaze ukazovat iba na jeden prvok.....ved ukazatale na char[] je adresa prveho prvku, ale ako teda pracuje ked mam referenciu na strukturu. Ta tiez iba ukazuje na 1 prvok, ale nedokazem sa dostat na iny ako u ukatazeta ze pricitam 1 bajt k adrese, ze? Lebo referenciu musim pri deklaracii priamo priradit typu

int a = 5;

int & pa = a;

tymto som vlastne povedal ze pa je to iste ako a, maju tu istu hodnotu aj adresu......a hlavne ako aj ukazatele pracuju s originalom a nerobia kopiu.

Martin
C / C++ › Ako vratit referenciu
5. 8. 2014   #192641

#2 KIIV
Prave som tu studoval a prave kvoli tomu to nepojde......lebo ja potrebjem vratit pole znakov......do programu zadas znak a cislo.....a na vystupe sa ti vypise znak tolkokrat kolko bola zadana ciselna hodnota......iba som chcel ci je mozne ten program prerobit aj na referenciu.....ale ako vidim bez novej obluznej funkcie ktora prijima tu referneciu, to nepojde.....

takto....

#include <iostream>
#include <ctime>
#include <cmath>

using namespace std;

char* buildstr(char & ch, int n);

int main()
{
    char ch;
    int n;
    
    cout << "Zadajte pismeno: ";
    cin >> ch;
    cout << "Zadajte kladne cislo: ";
    cin >> n;
    
    char* p = buildstr(ch, n);
    cout << p << endl;
    delete [] p;

    system("pause");
    return 0;
}

char* buildstr(char & ch, int n)
{
    char * p = new char[n + 1];
    p[n + 1] = '\0';
    
    while (n-- > 0)
          p[n] = ch;
    
    return p;
}

toto funguje ako ma......

Martin
C / C++ › Ako vratit referenciu
5. 8. 2014   #192639

Ahojte hclapi.....potrebujem aby mi tento kod vratil referenciu.....a stale neviem co tam mam zle.....

#include <iostream>
#include <ctime>
#include <cmath>

using namespace std;

char & buildstr(char & ch, int n);

int main()
{
    char ch;
    int n;
    
    cout << "Zadajte pismeno: ";
    cin >> ch;
    cout << "Zadajte kladne cislo: ";
    cin >> n;
    
    char & p = buildstr(ch, n);
    cout << p << endl;

    system("pause");
    return 0;
}

char & buildstr(char & ch, int n)
{
    char* p = new char[n + 1];
    p[n + 1] = '\0';
    
    while (n-- > 0)
          p[n] = ch;
          
    return p;
}

ak funkciu prepisem na 

char* buildstr(char & ch, int n) vsetko ide ako ma, samozrejme po zmene aj v main() ale ved takto by to malo tiey fungovat....preco to neide?

Martin
C / C++ › Sprava pamate
1. 8. 2014   #192548

Ahojte chalpi....

mam tu jeden doatz, ohladom pamate....ako je mozne ze ked spustim tento kod a pozeram sa na adresu jednotlivych premmenych v strukture, tak mi nesedi adrsa, ako je mozne ze ma char zrazu 4bajyty?

#include <iostream>
#include <ctime>
#include <cmath>

using namespace std;

struct str
{
       int a;
       char b;
       char c;
       int d;
};

int main()
{
    char p[3] = {'a', 'b'};
    char *ap = p;
    
    cout << "Hodnota: " << *ap << ", adresa je: " << (int*)ap << endl;
    ap += 1;
    cout << "Hodnota: " << *ap << ", adresa je: " << (int*)ap << endl << endl;
    
    char *a = "ahoj";
    cout << "Hodnota je: " << *a << ", adresa je: " << (int*)a << endl;
    a += 1;
    cout << "Hodnota je: " << *a << ", adresa je: " << (int*)a << endl << endl;
    
    int c[2] = {1, 5};
    int* cc = c;
    cout << "Hodnota je: " << *cc << ", adresa je: " << cc << endl;
    cc ++;
    cout << "Hodnota je: " << *cc << ", adresa je: " << cc << endl << endl;
    
    str s = {25, 'r', 't', 65};
   

Připojen obrázek.


    
    system("pause");
    return 0;
}

Visual Basic › ComboBox v programe
2. 7. 2014   #191756

#2 p3can

Samozrejme ze som to skusal cez Google ale problem je ze to robim vo vb6 a comboboxe vytvaram dynamicky ...

Visual Basic › ComboBox v programe
1. 7. 2014   #191723

Ahoj

Potrebujem poradit...Mam program ktory dynamicky vytvara combobox a naplna ich informáciami. Potreboval by som udalost pri zmene hodnoty jednotlivého comboboxu ale neviem ako...

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý