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

Anonymní profil Martin Kozibrátka – Programujte.comAnonymní profil Martin Kozibrátka – Programujte.com

 

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

C / C++ › Jak nejlépe a nejjednodušeji…
30. 9. 2013   #181782

#13 kuhy
Tutoriálů je na internetu dost, věnuj se raději něčemu užitečnému.

PHP › Index Webových Stránek
16. 9. 2013   #181405

#28 crazy
Souhlas, nemusí se nic podařit, důležité je se na tom něco naučit.

C / C++ › Komunikační protokol
11. 9. 2013   #181275

Možná by bylo dobré vzít nějaký hotový a zkusit si ho třeba jenom modifikovat.

Třeba Modbus je jednoduchý a snadno si ho přizpůsobíš:

http://home.zcu.cz/~ronesova/bastl/files/modbus.pdf

C / C++ › Stack
9. 9. 2013   #181212

Shrnul bych to asi takto:

http://cs.wikipedia.org/wiki/Z%C3%A1sobn%C3%ADk_(datov%C3%A1_struktura)

#include <iostream>
 
using namespace std;
 
class Stack
{
private:
    int *p;
    int top,length;
 
public:
    Stack(int = 0);
    ~Stack();
 
    void push(int);
    int pop();
    void display();
};
 
Stack::Stack(int size)
{
    top=-1;
    length=size;
    if(size == 0)
        p = 0;
    else
        p=new int[length];
}
 
Stack::~Stack()
{
    if(p!=0)
        delete [] p;
}
 
void Stack::push(int elem)
{
    if(p == 0)                //If the stack size is zero, allow user to mention it at runtime
    {
        cout<<"Stack of zero size"<<endl;
        cout<<"Enter a size for stack : ";
        cin >> length;
        p=new int[length];
    }
    if(top==(length-1))     //If the top reaches to the maximum stack size
    {
        cout<<"\nCannot push "<<elem<<", Stack full"<<endl;
        return;
    }
    else
    {
        top++;
        p[top]=elem;
    }
}
int Stack::pop()
{
    if(p==0 || top==-1)
    {
        cout<<"Stack empty!";
        return -1;
    }
    int ret=p[top];
    top--;
    length--;
 
    return ret;
}
 
void Stack::display()
{
    for(int i = 0; i <= top; i++)
        cout<<p[i]<<" ";
    cout<<endl;
}
 
int main()
{
    Stack s1;             //We are creating a stack of size 'zero'
    s1.push(1);
    s1.display();
    s1.push(2);
    s1.push(3);
    s1.push(4);
    s1.push(5);
    s1.display();
    s1.pop();
    s1.display();
    s1.pop();
    s1.display();
    s1.pop();
    s1.display();
    s1.pop();
    s1.display();
}
C / C++ › DLL knihovna a export funkce…
6. 9. 2013   #181112

Aha tak to promiň, špatně jsem to přečetl.

Zkus tento článek, třeba ti něco poradí:

http://www.tenouk.com/ModuleBB.html

sekce Importing and Exporting

C / C++ › DLL knihovna a export funkce…
6. 9. 2013   #181110

Těžké je to takto tipnout.

Problém může být se špatně přilinkovanou knihovnou.

Ale s .def nemám zkušenost.

Jakým způsobem inicializuješ dll? Dynamicky nebo staticky?

Klidně sem dej nějakou ukázku

C / C++ › práce se soubory v C/C++ (ko…
3. 9. 2013   #180984

Ale jistě že.

#include <iostream>
#include <fstream>
#include <ctime>
#include <algorithm>
#include <iterator>
using namespace std;

int main() {
    clock_t start, end;
    start = clock();

    ifstream source("from.ogv", ios::binary);
    ofstream dest("to.ogv", ios::binary);

    istreambuf_iterator<char> begin_source(source);
    istreambuf_iterator<char> end_source;
    ostreambuf_iterator<char> begin_dest(dest); 
    copy(begin_source, end_source, begin_dest);

    source.close();
    dest.close();

    end = clock();

    cout << "CLOCKS_PER_SEC " << CLOCKS_PER_SEC << "\n";
    cout << "CPU-TIME START " << start << "\n";
    cout << "CPU-TIME END " << end << "\n";
    cout << "CPU-TIME END - START " <<  end - start << "\n";
    cout << "TIME(SEC) " << static_cast<double>(end - start) / CLOCKS_PER_SEC << "\n";

    return 0;
}
#include <iostream>
#include <fstream>
#include <ctime>
using namespace std;

int main() {
    clock_t start, end;
    start = clock();

    ifstream source("from.ogv", ios::binary);
    ofstream dest("to.ogv", ios::binary);

    dest << source.rdbuf();

    source.close();
    dest.close();

    end = clock();

    cout << "CLOCKS_PER_SEC " << CLOCKS_PER_SEC << "\n";
    cout << "CPU-TIME START " << start << "\n";
    cout << "CPU-TIME END " << end << "\n";
    cout << "CPU-TIME END - START " <<  end - start << "\n";
    cout << "TIME(SEC) " << static_cast<double>(end - start) / CLOCKS_PER_SEC << "\n";

    return 0;
}
#include <iostream>
#include <cstdio>    // fopen, fclose, fread, fwrite, BUFSIZ
#include <ctime>
using namespace std;

int main() {
    clock_t start, end;
    start = clock();

    // BUFSIZE default is 8192 bytes
    // BUFSIZE of 1 means one chareter at time
    // good values should fit to blocksize, like 1024 or 4096
    // higher values reduce number of system calls
    // size_t BUFFER_SIZE = 4096;

    char buf[BUFSIZ];
    size_t size;

    FILE* source = fopen("from.ogv", "rb");
    FILE* dest = fopen("to.ogv", "wb");

    // clean and more secure
    // feof(FILE* stream) returns non-zero if the end of file indicator for stream is set

    while (size = fread(buf, 1, BUFSIZ, source)) {
        fwrite(buf, 1, size, dest);
    }

    fclose(source);
    fclose(dest);

    end = clock();

    cout << "CLOCKS_PER_SEC " << CLOCKS_PER_SEC << "\n";
    cout << "CPU-TIME START " << start << "\n";
    cout << "CPU-TIME END " << end << "\n";
    cout << "CPU-TIME END - START " << end - start << "\n";
    cout << "TIME(SEC) " << static_cast<double>(end - start) / CLOCKS_PER_SEC << "\n";

    return 0;
}
C / C++ › for_each a metoda třídy
29. 8. 2013   #180890

   Nebo použij statickou metodu třídy, to ale asi neni co uplne chceš


class MyClass
{
public:
  static void Test(int a) 
  {
    std::cout << a << std::endl;
  }
};

int _tmain(int argc, char* argv[])
{
	vector<int> myvector;
	myvector.push_back(5);
	myvector.push_back(6);
	for_each (myvector.begin(), myvector.end(),MyClass::Test);

	return 0;
}
C / C++ › for_each a metoda třídy
29. 8. 2013   #180882

   

class ahoj
{
public: void  bla(int i){std::cout<<i;}


};

int _tmain(int argc, char* argv[])
{
	std::vector<int> myvector;
	ahoj k;
	myvector.push_back(10);
	myvector.push_back(20);
	myvector.push_back(30);

	std::cout << "myvector contains:";
	for_each (myvector.begin(), myvector.end(),bind1st (mem_fun(&ahoj::bla), &k));
	std::cout << '\n';

	return 0;
}
C / C++ › Vlastní knihovna šablon
9. 8. 2013   #180138

ok díky. Předpokládám, že  thred safe se myslí pouze atomické operace nad počtem referencí. Současný zápis/ čtení adresy nad jednou instancí už bezpečné nejsou.

C / C++ › Vlastní knihovna šablon
9. 8. 2013   #180125

Zdravim, chci se zeptat jestli si také dělate vlastní třídy, které jsou už udělané ve standartní knihovně šavlon?

Nedávno jsem si třeba dělal vlastní shared_ptr a zjistil jsem, že moje verze je 3x rychlejší než ta ze knihovnyc++.

Vyplatí se dělat některé často používané třídy ve vlastní verzi, když jsou mnohem rychlejší? Je jasné, že toho nebudou umět tolik, ale pro vlastní potřeby a v poměru rychlost/funkčnost si myslím, že se to vyplatí.

C / C++ › Problém z polom štruktúr
1. 8. 2013   #179758

level[0].area[0][0]=char(178);

C / C++ › Ako instalovat Qt ?
30. 7. 2013   #179713

Co si pamatuju jak jsem zkoušel verzi 4.8 tak asi takhle:

1. Stáhneš http://download.qt-project.org/official_releases/qt/4.8/4.8.5/qt-everywhere-opensource-src-4.8.5.zip

2.po rozbalení spustíš na příkazovém řádku configure.exe, který najdeš asi ve složce qt ve src nebo bin, už si to nepamatuju...
configure.exe -release -no-webkit -no-phonon -no-phonon-backend -no-script -no-scripttools -no-qt3support -no-multimedia -no-ltcg

3 Pak do příkazového řádku napíšeš nmake a spustíš.

Tím se ti v některé složce(už nepamatuju ve které, asi lib) vytvoří jednotlivé knihovny, které můžeš používat ve VS. Jednotlivé knihovny reprezentují moduly: http://qt-project.org/doc/qt-4.8/modules.html

....pokud budeš mít zájem, rozepíšu to tady podrobněji

C / C++ › Vlákna pro zkušené
3. 7. 2013   #178701
C / C++ › Vlákna pro zkušené
3. 7. 2013   #178654

Díky mrknu na to

C / C++ › Vlákna pro zkušené
2. 7. 2013   #178640

Zdravim, mám krátký dotaz spíše pro zkušené.

Pokud používáte atomické operace mezi vlákny, jak zajišťujete aktuálnost dat? Může nastat situace, kdy si některé vlákno nahraje data do své cache a po úpravě je nemusí zapsat do hlavní paměti hned, což muže způsobit neaktuálnost dat pro jiná vlákna, která tyto data také používají.

Našel jsem článek(Memory ordering semantics) viz.:

http://blog.qt.digia.com/…g-semantics/

Píše se tam o release/acquire sémantice. Jak správně se tyto operace používají k zajištění platných dat? Má s tím někdo zkušenost? 

Díky

C / C++ › Problém s předáním stringove…
20. 3. 2013   #173077

#5 vitamin
To je jen narychlo zkopírovaná ukázka z netu bez úprav

C / C++ › Problém s předáním stringove…
20. 3. 2013   #173072

Ano, pro ty co neovládají c++11

template<size_t n> double f(double (&c)[n]);

C / C++ › Problém s předáním stringove…
20. 3. 2013   #173065

   

#include <iostream>
#include <string>
using namespace std;
	
void vykresliPole( string pole[],int j)
{
	for (int i = 0; i < j;i++)
	{
		cout << i << endl;
	}
}  
int main()
{
	int pocet;
	string pole[] = {"pole","pole2","d","asojasijsaf","asd"};
	vykresliPole(pole,sizeof(pole) / sizeof(pole[ 0 ]));
	system("pause");
	return 0;
}

Ale není to moc spolehlivá metoda

C / C++ › Načtení textu z texťáku a př…
13. 3. 2013   #172711

Nech se inspirovat http://www.daniweb.com/software-development/cpp/threads/74451/reading-in-a-random-line-from-a-file

C / C++ › (Ne)uložení struktury po seř…
12. 3. 2013   #172640

   

struct DB
{
	string jmeno;
};

void bubblesort(DB * dtbs, int pocet)
{
    string pom;
    for(int i=0; i < pocet; i++) {
        for(int j=0; j < pocet - i - 1; j++) {
             if(dtbs[j].jmeno > dtbs[j+1].jmeno) {
                pom = dtbs[j+1].jmeno;
                dtbs[j+1].jmeno = dtbs[j].jmeno;
                dtbs[j].jmeno = pom;
            }}}
}

int _tmain(int argc, _TCHAR* argv[])
{
	DB serazena[3];
	DB jmena[3];
	
	jmena[0].jmeno="Martin";
	jmena[1].jmeno="David";
	jmena[2].jmeno="Ales";
	bubblesort(jmena,3);	

	memcpy(&serazena,&jmena,sizeof(jmena));



}
Martin Kozibrátka
C / C++ › (Ne)uložení struktury po seř…
12. 3. 2013   #172637

#1 Tuqi
Zanamená to, že v dtbs1 a dtbs2 je to seřazené, ale v DB dtbs1b[MAX] ne? Z tohodle kousku kodu to není moc čitelné

Martin Kozibrátka
C / C++ › Pouzivani kontejneru vs. vla…
8. 3. 2013   #172481

Nemyslím si, vyjmenované kontejnery jsou navrženy jak pro výkon tak pro usnadnění práce. Samozřejmě je důležité(zvláště u velkých projektů) vybrat vhodný kontejner a vědět jaký se pro jaké účely hodí, protože to už na výkon vliv mít může. Závěr je takový, pro studijní účely si můžeš navrhnout vlastní a něco se tím naučíš, ale v praxi klidně používej již vyvinuté, ušetříš si práci a výkon bude srovnatelný s těmi, které by jsi si navrhl sám, stačí vybrat ten vhodný. 

Martin Kozibrátka
C / C++ › Protokol třídy
8. 3. 2013   #172473

Často narážím na to, že lidé neví co si pod slovem protokol představit.

Já si ho vždy představuji jako kuchařku. Například sada protokolů Tcp/Ip se skládá ze spousty menších protokolů. Na každý takový protokol musí existovat nějaká dokumentace kde se člověk dozví k čemu onen protokol slouží, z čeho se skládá, jak funguje a podobně. Například protokol aplikační vrstvy Tcp/Ip popisuje jak má vypadat paket, který tato vrstva vytváří nebo i přijímá z jiného PC.

Martin
.NET › Kniha c#
4. 3. 2013   #172303

#1 petr143
Ano pokud si začátečník, mohu ji doporučit, sám jsem ji četl a je super....srozumitelná i pro naprosté amatéry

Martin
.NET › VS 2010 vs. 2012
6. 2. 2013   #171193

Zdravim, jaký z těchto dvou editorů používáte raději? Jáké mají podle vás jeden oproti druhému výhody? Díky

Martin
PHP › helpdesk - htaccess
23. 1. 2013   #170564

Tak sem dej alespoň to co jsi udělal a my ti s tím poradíme

Petr
C / C++ › Zápis
31. 12. 2012   #169606

Ahoj, můžete mi někdo poradit co je toto za zápis?

TiXmlString::Rep TiXmlString::nullrep_ = { 0, 0, { '\0' } };

Martin
C / C++ › Socket C++ builder
14. 12. 2012   #168830

Zdravim, mám jeden problém se sokety.

Při inicializaci soketu v borland builderu 2009 mu nastavím onerror event. To znamená, že pokud se například pokusím připojit na neplatnou ip adressu tento event se mi spustí. To funguje, jen je problém v tom, že to vyvolání eventu trvá strašně dlouho. 

Pokusím se připojit ke špatné adrese, ale onerror se spustí třeba až za 10 vteřin. Nevíte čím to může být?

Martin
C / C++ › Algoritmus na nalezení všech…
10. 12. 2012   #168565

Děkuji

Martin
C / C++ › Algoritmus na nalezení všech…
10. 12. 2012   #168559

Zdravim, potřebuji nějaký algoritmus, který umí nalézt všechny cesty (body) z bodu A do bodu B v síti různých bodů.
Nevíte o něčem? Díky

Martin
C / C++ › Globální proměnné
7. 12. 2012   #168296

Díky, já bych měl spíše představu udělat bázovou třídu, ze které by dědily ostatní třídy.

V této bázové třídě by byly ony proměnné, které by byly společné(sdílené) pro všechny třídy, které by tuto bázovou třídu dědily. Jde něco takového udělat? 

Martin
C / C++ › Globální proměnné
6. 12. 2012   #168149

Ahoj, mám na vás spíše teoretický dotaz.

Mám třídu A a v této třídě vnořenou instanci třídy B a v této třídě B vnořenou instanci třídu C...

Prostě vnořené třídy. Já však potřebuji vytvořit někde globální proměnnou, ke kterým budou mít tyto třídy přístup. Zároveň však musí být tyto globální proměnné jedinečné pro každou novou instanci třídy A a vnořené třídy(takže nemohou být statické?). Jak by jste toto vyřešili? Děkuji mnohokrát.

Martin Kozibrátka
C / C++ › Problém s programom
5. 12. 2012   #168092

Pokud nastuduješ stringstream, jistě ho znovu v budoucnu použiješ. 

#include <sstream>

main()
{
char znakmy_char[10];
int znamky_int[10]
for(i=1;i<=10;i++)                                         
  {
	stringstream (znakmy_char[i])>>znamky_int[i]; 
	
  }


}
Martin
C / C++ › Hlavička
14. 11. 2012   #166769

Ten //#include "Unit1.h" není zakomentovaný....

Martin
C / C++ › Hlavička
14. 11. 2012   #166767

Už sem na to přišel, ale nechápu proč je v tomto zádrhel?

Takto to funguje, když jsou obě abc proměnné ukazatel. Když je jeden ukazatel a drhý ne tak to nefunguje...nechápu

//Unit2.h
#ifndef _UNIT2_H
#define _UNIT2_H
class B;
//#include "Unit1.h"
class B
{
public:
	 A *abc;
};
#endif



//Unit1.h
#ifndef _UNIT1_H
#define _UNIT1_H
class A;
#include "Unit2.h"
class A
{
public:
	B *abc;
};
//---------------------------------------------------------------------------
#endif
Martin
C / C++ › Hlavička
14. 11. 2012   #166765

C++ Builder 2009 a ve Visual c++. C++ Builder 2009 píše chybu nahoře a visual něco ve smyslu, že chybí středník, ale ty tam všude jsou.

Martin
C / C++ › Hlavička
14. 11. 2012   #166763

Píše to: 

[BCC32 Error] Unit1.h(10): E2450 Undefined structure 'B'

[BCC32 Error] Unit1.h(10): E2449 Size of 'abc' is unknown or zero

Takto to funguje, ale nedělá to co bych si příl:


//Unit2.h
#ifndef _UNIT2_H
#define _UNIT2_H
class B;
//#include "Unit1.h"
class B
{
public:
	 //A *abc;
};
#endif



//Unit1.h
#ifndef _UNIT1_H
#define _UNIT1_H
class A;
#include "Unit2.h"
class A
{
public:
	B abc;
};
//---------------------------------------------------------------------------
#endif
Martin
C / C++ › Hlavička
14. 11. 2012   #166761

Nyní to mám takto a stále nic:


//Unit1.h
#ifndef _UNIT1_H
#define _UNIT1_H
class A;
#include "Unit2.h"
class A
{
public:
	B abc;
};
//---------------------------------------------------------------------------
#endif



//Unit2.h
#ifndef _UNIT2_H
#define _UNIT2_H
class B;
#include "Unit1.h"
class B
{
public:
	 A *abc;
};
#endif
Martin
C / C++ › Hlavička
14. 11. 2012   #166759

Pardon je to 

//Unit2.h
#ifndef _B_H
#define _B_H
class A;
#include "Unit1.h"
class B
{
public:
	 A *abc;
};
#endif

//Unit1.h
#ifndef _A_H
#define _A_H
class B;
#include "Unit2.h"
class A
{
public:
	B abc;
};
//---------------------------------------------------------------------------
#endif
Martin
C / C++ › Hlavička
14. 11. 2012   #166758

Zajímavé ale stále nefunguje, Bude chyba někde u mě:

Něco špatně? :)

//Unit2.h
#ifndef _B_H
#define _B_H
class A;
#include "Unit1.h"
class B
{
public:
	 A *abc;
};
#endif

//Unit1.h
#ifndef _B_H
#define _B_H
class B;
#include "Unit2.h"
class A
{
public:
	B abc;
};
//---------------------------------------------------------------------------
#endif
Martin
C / C++ › Hlavička
14. 11. 2012   #166755

Díky, ale toto mi nefunguje, i když si myslim, že by mělo. Skutečně to pomáhá i proti zaciklení hlaviček v hlavičkách?

Martin
C / C++ › Hlavička
14. 11. 2012   #166752

Ahoj, mám na vás dotaz.

Zde v příkladu popíši:

Na tomto příkladu se mi hlavička vždy zaciklí...Je nějaký způsob jak tomu zamezit? Nějaké direktivum?

//--------a.h--------
#include "b.h"
class A
{
 b test;			
}

//--------b.h---------
#include "a.h"
class B
{
 A *test; 
}
Martin
.NET › Grafická knihovna
31. 10. 2012   #165601

Děkuji moc, určitě se na to podívám.

Martin
.NET › Grafická knihovna
31. 10. 2012   #165597

Ahoj, nevíte o nějaké dobré grafické knihovně, ve které by se daly kreslit elektronické obvody? Důležité je, aby byla rychlá, jelikož se bude kreslit tisíce různých prvků. Velmi děkuji

Martin
.NET › Jednoduchý dotaz
17. 9. 2012   #163309
Martin
.NET › Datové typy
13. 9. 2012   #163110

Super, díky

Martin
.NET › Datové typy
13. 9. 2012   #163105

Super, díky oběma. Mám poslední dotaz. Je někde v dokumentaci popsáno, jak konkrétně je to řešeno například u struktur typu double, integer apod?

Martin
.NET › Datové typy
12. 9. 2012   #163054

Tak už jsem si zjistil, že vestavěné typy jsou pouze aliasy .net struktur....

Martin
.NET › Datové typy
12. 9. 2012   #163053

Zdravim, učím se .net c# a mám jednoduchý dotaz.

jak je to se vestavěnými typy c#? Někde se píše, že jsou vestavěné do jazyka a někde, že to jsou struktury frameworku .net

V c++ je integer prostě vestavěný typ bez jakýchkoli metod a vlastností. Ale pokud ho použiji v c# visual basic tak má svoje metody. Nebo má programátor na výběr zda použije struktury z .net či prostě jednoduché typy vestavěné do c#?

A nebo se vestavěné typy c# myslí pouze typy(struktury) z .net? ěkuji

Martin
Visual Basic › Vektorová grafika
7. 9. 2012   #162875

Ahoj, hledám grafickou komponentu do visual basic express. Potřebuji ji na kreslení elektronických schémat. Nevíte o nějaké? Díky

Martin
C / C++ › Damian
29. 8. 2012   #162365

Ano, sice je to podobné tomu memcpy ze začátku ,ale je to zajímavá konstrukce

Martin
C / C++ › Damian
28. 8. 2012   #162313

Děkuji

Martin
C / C++ › Damian
28. 8. 2012   #162305

Ono totiž mám pole charů...

char a[4]...

a tohle pole chci vložit do jednoho floatu

tak mě napadlo memcpy

Martin
C / C++ › Damian
28. 8. 2012   #162301

Ahoj,

mám znak

char a=8;

a já potřebuji ten char převést na float na úrovni  bitů.

Lze i u float použít memcpy?

char a=8;

float b;

memcpy(&b,&a,1);

Martin
C / C++ › Bity
22. 8. 2012   #161887

Dííky je to tak, na nějaké články jsem už o tom narazil

Martin
C / C++ › Bity
22. 8. 2012   #161882

Ahoj, 

proč tento zápis 

char dpoved[0]=0x81

int i=odpoved[0]^(fcs>>8)

vrátí jiný výsledek než stejný zápis ovšem s neznaménkovým char?

unsigned char dpoved[0]=0x81

int i=odpoved[0]^(fcs>>8)

není z pohledu bitu jednou jestli jde o znamenkový či neznaménkový char?

Martin
C / C++ › Exception socket
16. 8. 2012   #161637

Ahoj potřebuji poradit.

Potřebuji vědět jak v c++ builderu 6 zachytit vyjímku, která nastane při potížích se soketovým spojením.

Například mi vypadne kabel a hodí to chybu 10061 ale já si ji chci chytit a vypsat vlastní dialogové okno s svým textem.

Pomocí události OnException to nějak ošetřit jde, ale to mi nepřijde moc elegantní řešení.

Díky za nápady. Jistě s tím už někdo má zkušenosti. Jednoduše potřebuji odchytávat chyby soketu a sám je prezentovat uživateli.

 

 

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