#5 vitamin
Jednak jsem nepsal, že to nejde dalšími sta způsoby a jednak tvoje řešení nemusí fungovat na spoustě toolchainech.
Příspěvky odeslané z IP adresy 88.83.169.–
Ono bez větších úprav to asi neuděláš
template<class T>
void Mix_HookMusicFinished(void (T::*optr)(void), T &val)
{
(val.*optr)();
}
class A{
public:
int i;
void f()
{
i=789;
m(true);
}
void m(bool Play)
{
if(Play)
{
//...
}
else
{
Mix_HookMusicFinished(&A::f, *this);
int o=78;
}
}
A(){}
~A(){}
};
Nemusíš
Zkus nějaký lepší tutoriál, na internetu je jich spousta
Můžeš mít jeden .bat soubor, který bude spouštěn dané instance s různými parametry, které budou odkazovat na .ini.
Nebo prostě system()
způsobů je více
Tvůj kód jsem nezkoumal, ale k tvojí otázce třeba takto:
http://stackoverflow.com/questions/8767166/passing-2d-array-to-function
nebo třeba:
template<int T, int E>
void ok(int (*a)[T][E])
{
std::cout<<T<<"\n"<<E;
};
int main(void)
{
int i[3][2];
ok(&i);
}
Asi si to zamýšlel tak, že si ten soubor nejdříve sestavíš a až pozdějí použiješ linker. Při linkování musíš mít v nějakém zdrojovém kodu main funkci.
Odpověď máš přímo ve svém dotazu....musíš tam mít tu funkci main.
No já v současné době dělám web server pro online chat v reálném čase, něco jako https://www.zopim.com/...Dělám to ale v Qt. Kdyby jsi to chtěl pro inspiraci, klidně pošlu část kodu.
http://stackoverflow.com/questions/2128620/how-to-create-timer-in-winapi-c
Přes vlákna nebo nějaký eventy řízený framework. Win API ti také může poskytnout co potřebuješ.
Pokud by jsme ale zvolnili pravidla pointerů tak, aby nemusely vždy ukazovat na property tříd:
#include <iostream>
using namespace std;
class Y
{
public:
int o;
};
class X {
public:
int a;
Y objY;
void f(int b) {
cout << "The value of b is "<< b << endl;
}
};
template<class T>
void ok(T *p)
{
*p=88;
}
void ko(int *ptiptr)
{
*ptiptr=78;
}
int main() {
// declare pointer to data member
int X::*ptiptr = &X::a;
// declare a pointer to member function
void (X::* ptfptr) (int) = &X::f;
// create an object of class type X
X xobject;
int *lo = &xobject.a;
*lo=10;
cout << "The value of pointer is " << xobject.a << endl;
ok(&xobject.objY.o);
cout << "The value of pointer is " << xobject.objY.o << endl;
ko(&xobject.objY.o);
cout << "The value of pointer is " <<xobject.objY.o << endl;
// initialize data member
xobject.*ptiptr = 10;
cout << "The value of pointer is " << xobject.*ptiptr << endl;
cout << "The value of property is " << xobject.a << endl;
// call member function
(xobject.*ptfptr) (20);
}
Páč používat odkazy na property by se ti asi nemuselo líbit
class X {
public:
int a;
void f(int b) {
cout << "The value of b is "<< b << endl;
}
};
int main() {
int X::*ptiptr = &X::a;
void (X::* ptfptr) (int) = &X::f;
X xobject;
xobject.*ptiptr = 10;
cout << "The value of pointer is " << xobject.*ptiptr << endl;
cout << "The value of property is " << xobject.a << endl;
(xobject.*ptfptr) (20);
}
Lepší asi bude předat funkci Chart1 a až tam přistupovat k té property.
Firma zabývající se vesmírným programem? Hmm, to zní slušně.
Pak dej vědět, jak ti to dopadlo ;)
Nech se inspirovat
http://www.programiz.com/article/c%2B%2B-programming-pattern
Až to budeš mít vyřešené, ,můžeš sem dát nějaký podrobnější popis toho, jak jsi to kompletně zprovoznil? Byl bych ti vděčný. D9ky
Ano možné to je. Je jen na tobě kolik úsilí do toho chceš investovat a zda se ti to vyplatí.
Ještě bych doplnil, že bychom neměli zapomínat na přetěžování funkcí, se kterými se to může zdát jednodušší. ;)
template <class t,class x,class z>
class trida
{
template<class T,class U>
void funkce_tmpl(T,U){cout<<"-, -"<<endl;};
template<class T,class U>
void funkce_tmpl(T,T){cout<<"double, double"<<endl;};
template<class T,class U>
void funkce_tmpl(T,T*){cout<<"double, double*"<<endl;};
public:
void funkce(){funkce_tmpl<t,x>(t(),x());}
};
int main()
{
trida<double, double*,int> s;
trida<int, double,int> l;
trida<double, int,int> k;
trida<double, double,int> w;
s.funkce();
l.funkce();
k.funkce();
w.funkce();
return 0;
}
Koukám, že jste tu Domiš -Mickey- pěkně rozebrali :)
Ano, máš pravdu, že na tyto druhy specializace bude efektivnější použít šablony tříd
using namespace std;
template <class t,class x,class z>
class trida
{
template<class Q, class W>
class trida_tmpl
{
public: void operator()(trida *tmp){cout<<"-, -"<<endl;};
};
template<class Q>
class trida_tmpl<Q,Q>
{
public: void operator()(trida *tmp){cout<<"double, double"<<endl;};
};
template<class Q, class W>
class trida_tmpl<Q,W*>
{
public: void operator()(trida *tmp){cout<<"double, double*"<<endl;};
};
public:
void funkce(){trida_tmpl<t,x>().operator()(this);}
};
int main()
{
trida<double, double*,int> s;
trida<int, double,int> l;
trida<double, int,int> k;
trida<double, double,int> w;
s.funkce();
l.funkce();
k.funkce();
w.funkce();
return 0;
}
Tvůj problém lze vyřešit mnoha způsoby
using namespace std;
template <class t,class x>
class trida
{
public:
void funkce(){funkce_tmpl<t>();}
template<class D>
void funkce_tmpl() {cout<<"prvni parametr sablony neni double"<<endl;}
template<>
void funkce_tmpl<double>() {cout<<"prvni parametr sablony je double"<<endl;}
};
int main()
{
trida<double, double> s;
trida<int, double> l;
s.funkce();
l.funkce();
return 0;
}
Nemůžete částečně specializovat funkci. Lze ji specializovat pouze úplně.
Fungovat to tedy bude pouze tak, jak jste psal. Musíte vytvořit příslušnou specializaci třídy, přilehlé k oné částečně spec. funkci.
template <class t,class x>
class trida
{
public: void funkce() {cout<< "funkce1";}
};
template <class x>
class trida<x,double>
{
public: void funkce();
};
template <>
void trida<int,int>::funkce() {cout<< "funkce2";}
template <class x>
void trida<x,double>::funkce() {cout<< "funkce3";}
int main()
{
trida<int, double> s;
s.funkce();
return 0;
}
Čerpám to zde: http://www.stroustrup.com/C++11FAQ.html
class Objekt {
public:
Objekt (std::initializer_list<int> list);
};
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
int t=0;
char jmeno[10]={0};
char jmeno1[6]={0};
for(int i=0; i<10; i++)
cout << "ahoj" << endl;
cout << "Zadejte vase jmeno: ";
cin >> jmeno;
cout << jmeno[0] << endl;
for(int g=0; g<5; g++)
{
if(t==0)
{ cout << "Zadejte jednociferne cislo: ";
cin >> jmeno1[0];
}
if(t==1)
{cout << "Zadejte jednociferne cislo: ";
cin >> jmeno1[1];
}
if(t==2)
{cout << "Zadejte jednociferne cislo: ";
cin >> jmeno1[2];
}
if(t==3)
{cout << "Zadejte jednociferne cislo: ";
cin >> jmeno1[3];
}
if(t==4)
{cout << "Zadejte jednociferne cislo: ";
cin >> jmeno1[4];
}
t++;
}
cout << jmeno[0] << jmeno[1] <<" "<< jmeno1 << endl;
cout << "Dekuji za pouziti programu. Jeste nez ukoncite tento program, vas chci seznamit se strankou programujte.com" << endl;
cout << "Programujte.com je stránka zamerená na svet technologie. Najdete na ni spoustu navodu a novinek se sveta technologie" << endl;
system("PAUSE");
return 0;
}
Ano, díky,
mě jen přijde template<class T> struct X<int, T*, 10> specializovanější než template<class T, int I> struct X<T, T*, I> a přesto se kompilátor nemůže rozhodnout jakou vybrat. Proto bych rád viděl nějaká pravidla, podle kterých kompilátor rozhoduje, kterou vybrat.
Třeba u tohoto kodu je jasné, co je specializovanější, musí se ale rozhodovat podle nějakých pravidel:
template<class T, class U, int I> struct X
{ void f() { cout << "Primary template" << endl; } };
template<class T> struct X<int, T*, 10>
{ void f() { cout << "Partial specialization 3" << endl;
} };
template<class T, class U, int I> struct X<T, U*, I>
{ void f() { cout << "Partial specialization 4" << endl;
} };
int main() {
X<int, char*, 10> d;
d.f();
}
Napevno zadané hodnoty "int " a "10" ve specializaci pro něj mají větší váhu, a proto si vybere tu druhou funkci.
Proč tedy napevno zadané hodnoty ve specializaci v příkladu předchozím, nemají také větší váhu a nevybere ji? Tam ta první specializace template<class T, int I> struct X<T, T*, I> má navíc ty dvě T vedle sebe, takže to je ten důvod, proč má tatto spec. stejnou váhu, jako ta třetí. Tohle všechno se ale musí nějakým způsobem vyhodnocovat, aby bylo zjištěno jaké specializace mají jakou prioritu, proto bych rád věděl jak to dělá ;)
Ahoj, může mi někdo poradit, podle čeho kompilátor posuzuje jaká specializace je specializovanější na kódu níže? Čekal bych, že podle typu objektu(X<int, int*, 10>) bude specializovanější ta poslední funkce. Kompilátor ale hlásí, že je to nerozhodně.
Podle jakých pravidel se tedy vybírá specializace?
Díky
template<class T, class U, int I> struct X
{ void f() { cout << "Primary template" << endl; } };
template<class T, int I> struct X<T, T*, I>
{ void f() { cout << "Partial specialization 1" << endl;
} };
template<class T> struct X<int, T*, 10>
{ void f() { cout << "Partial specialization 3" << endl;
} };
int main() {
X<int, int*, 10> f;
f.f();
}
Doporučuji C++ Visual Express 2012
http://go.microsoft.com/?linkid=9816768
Sice ti sem nedám žádný kód, ale zkusím tě navést.
Budeš muset nejdříve nějakým způsobem vyčíst data z pdf a až poté z toho vytvořit xml.
Pro přečtení pdf je na výběr několik knihoven:
http://en.wikipedia.org/wiki/List_of_PDF_software#Development_libraries
Pokud znáš Qt tak doporučuji: http://qt-project.org/wiki/Handling_PDF
No a pak by nemělo být nic těžkého vytvořit xml.
K tomu je taky spousta knihoven nebo zase použij Qt:
http://developer.nokia.com/Community/Wiki/Generate_XML_programatically_in_Qt
Já jsem také někde četl, že by to mělo být ošetřeno na úrovni hardwareu. Ale nebyl jsem si jistý, zda to platí i pro tuto situaci. Díky
Ještě mě napadla jedna věc :)
Když mám třeba 2 vláknový procesor a přesto obě vlákna provedou atomickou operaci sučasně (třeba přiřadí obyčejné číslo do společné int proměnné, což by měla být atomická operace). Může zde nastat kolize?
Jde mi o to, zda jsou tyto atomické instrukce chráněny před tím, aby dvě vlákna(skutečná 2 fyzická) nemohla současně provést jednu instrukci nad společnou proměnnou.
NA jednoprocesorovém systému to chráněno je, tam to jedno vlákno nemůže být přerušeno, i kdyby mu skončil čas přidělený procesorem. Ale u fyzicky 2 procesorovém systému je tato atomicita nějak zajištěna?
Ahoj,
zkus int mat [MAX][MAX]; nahradit int mat [MAX+1][MAX+1];
Děkuji vám
Aha, díky já s tímhle začínám, to si ještě musím nastudovate co znamená atomická operace, díky.
Je omlouvám se, ono se mi to sem vložilo všechno nějak špatně :)
Zkusím to popsat znovu, to první ignorujte, tam mi nějak zablbnul editor.
Takže, mám jednu instanci objektu. Tento objekt obsahuje jednu proměnnou, kterou umí ten objekt inkrementoat pomocí metody increment().
Když to inkrementování tohoto jednoho objektu spustím na několika vláknech, tak ta inkrementace probíhá zcela v pořádku. Chci tím říci, že si ty vlákna vůbec nelezou do zelí a to nepoužívám žádné mutexy a podobně.
Někde jsem četl, že když se nepoužívá uzamčení, měli by si vlákna lézt do zelí a inkrementovaná hodnota by mohla vrátit jiné číslo, než bych očekával, protože třeba 3 vlákna z těch šesti si zároveň inkrementují svoji nahranou hodnotu a pak ji zároveň zapíší zpět do objektu což by způsobilo to, že se vlastně inkrementuje jen jednou.
Mě se tohle prostě nestává a to mi přijde divné. Proto bych rád znal názor odborníků.
Dík z toho je jasný k čemu je dobrý ohledně ukazatelů či referencí(pouze statická kontrola).
Má cenu ho ale používat například zde?
double d=3.14159265;
int i = static_cast<int>(d);
Prostě mi přjide jednodušší to udělat po stylu C:
double d=3.14159265;
int i = (int) d;
U primitivních datových členů mi prostě účelnost uniká
Zdravim, dost často používám dynamic_cast, je to velmi užitečný nástroj. Co mi ale není moc jasné je jeho bratr static_cast.
Kde tento operátor hlavně využíváte vy?
Je mi jasné, že například zde by se hodil kvůli bezpečnosti:
class CBase {};
class CDerived: public CBase {};
CBase * a = new CBase;
CDerived * b = static_cast<CDerived*>(a);
ale má cenu ho používat například pro:
double d=3.14159265;
int i = static_cast<int>(d);
?
Jaké má vlastně navíc výhody oproti klasickému explicitnímu přetypování? Díky
#2 rodinne.baleni.ryze
Díky, vypadá to, že se mi to podařilo zprovoznit. Podle tohoto postupu:
http://stackoverflow.com/…-studio-2010
Jen mi to házelo nějaký chyby při kompilaci, tak sem nainstaloval service pack do visual stuia a je to ok
Zdravim, najde se tu někdo kdo ovládá qt? Mám pár dotazu na zprovoznění.
Potřebuji zprovoznit samostatnou knihovnu, abych ji mohl použít ve Visual c++ express
Pokud tedy nejsi winapi master
Musíš použít nějakou knihovnu: http://www.sfml-dev.org/documentation/1.6/classsf_1_1Image.php
Problém je s
template <class T> Stack1<T>::~Stack1()
{
delete[] arr;
}
a možná ještě někde jinde. Takže si projdi všechny místa kde něco dealokuješ. Měj na paměti, že automatické objekty také spustí svůj destruktor, když přestanou existovat, což může být jeden z tvých problémů...Tedy několikanásobné aplikování delete na jeden pointer
Do stack1.h si přidej bezparametrický konstruktor...
Předělávat nic nemusíš, jen si tam přidej kopírovací kontruktor a přetěž operátor přiřazení
Tvé nedostatky pramení z toho, že nevíš jak se u objektů používají kopírovací konstruktory a přiřazovací operátory
Myslel jsem Vitaminovo řešení abys použil.
Pak používej řešení viz. výše
template <class T, int x=1, int y=1>
class A
{
public:
T v[x][y];
T * operator [](int i){return v[i];}
};
int _tmain(int argc, _TCHAR* argv[])
{
A<double,5,5> b;
b[0][2]=25.115;
std::cout<<b[0][2];
std::cin.get();
return 0;
}
Takže hurá do toho
Zavaděč je krátký kód, typicky napsaný v jazyce symbolických adres, jehož účelem je, aby do operační paměti počítače nakopíroval větší program (typicky jádra operačního systému) a aktivoval ho (tj. skočil na jeho začátek, čímž je mu předáno řízení počítače). Zavaděč nemusí sloužit pouze k výběru OS. V Linuxu i u Windows NT slouží k předání parametrů zaváděnému jádru. V Linuxu pak běžně též předání specifických parametrů pro startovací skripty.
Nebo to můžeš kombinovat s obyč. 2d polem
class A
{
public:
int **v;
int ** operator [](int i){return v;}
};
int _tmain(int argc, _TCHAR* argv[])
{
A b;
b[1][2];
return 0;
}
Super díky.
Mám ještě jeden trochu odlišný dotaz. Když provedu boxing struktury a rozhodnu se zavolat metodu rozhraní, kterou struktura implementuje....kdy přesně tam dochází k unboxingu? K unboxingu dojde jen pokud metoda používá this? Jak to vlastně funguje? Má dojít k unboxingu za účelem získání správného ukazatele na zabalenou strukturu, ale nějak si nedokáži představit jak se to v paměti provádí. Velmi děkuji
PS: Zajímá mě pouze případ volání metod zabalené struktury. Obecně vím jak zabalení a roznalení struktur funguje.
Ahoj, teprve se učím c# a mám na vás dotaz ohledně struktury.
Co přesně ve struktuře znamená slovo this? Vím, že ve třídě je to odkaz na aktuální instanci, ale co je to ve struktuře?
Někde jsem četl, že se to chová někdy jako ref a někdy jako out a v tom mám zmatek. Kdy se to tedy jak chová? :)
Jak je možné, že this můžu přiřadit jinou strukturu a udělat tak kopii? Já myslel, že this je vždy pouze reference(ukazatel), ale u struktur to asi vždy nebude, nebo se pletu? Děkuji
Jasně díky
Ahoj, mám na vás teoretickou otázku.
Řekněme, že mám třídu A, od které dědí třídy A1,A2,A3...až A10. Později mi dojde, že třída A1 až A3 budou obsahovat jednu metodu navíc. Tato metoda bude stejná pro všechny 3 třídy. Moje otázka zní, Mám tuto novou funkci udělat virtuální už v základní třídě, i když ji ostatní třídy(A4 až A10) nikdy nebudou využívat?
Neexistuje na to nějaký efektivnější způsob? Díky
OK díky, podařilo se mi to obejít vlastním timeoutem
Pokud chceš v c tak použij funkci atoi, zde příklad:
Velice vám děkuji vitamin a KIIV....díky vám se mi to podařilo zprovoznit, děkuji.
Ano přesně tak
Bagr bagr = 10; ale třeba i
Bagr bagr;
bagr=10;
Kdybych to měl zjednodušit tak mě zajímá, jak je možné, že do struktur vestavěných typů(int,double...) lze přiřazovat hodnoty obyčejným operátorem přiřazení. :) Asi to vypadá, že pro tyto struktury existují nějaké speciální vyjímky, které to umožňují, ale možná se pletu?
Takže jde přetížit operátor přiřazení? Jde mi pouze o přiřazovací operátor. Vím, že ostatní lze přetížit.
Ještě bych ovšem měl jeden dotaz. Po nastudování těch typů je jasné, že se jedná o struktury.
Zajímalo by mě však, jak je možné, že u nich funguje operátor přeřazení. V c++ se musejí u každé struktury definovat. V C# se však nedefinují a nelze je tedy stejně jako v c++ použít. Jak je tedy toto řešeno v .net?
int a=32 //funguje přiřazení obyčejného čísla struktuře
mojestruktura b=32 //nefunguje, nelze přetížit operátor přiřazení
nemůžu si tedy vytvořit vlastní strukturu, kde budu mít zajištěné toto elegantní přiřazení hodnoty struktuře?
Doufám, že to nepíše příliš složitě.
Ve skutečnosti to testuji ve vb ale čekám, že v c# to bude stejné
Díky, zkusím to ale ještě jinak. Asi jsem položil špatně otázku.
Mám malé zkušenosti s c++ a chtěl bych .net zkusit právě s ním.
Konkrétně mi nejsou jasné tyto věci:
Jak je možné, že Object Class dědí automaticky všechny třídy jak je popsáno zde? http://msdn.microsoft.com/en-us/library/e5kfa45b
má s tím něco společné právě ten jiný styl zápisu (^,gcnew)?
V klasickém céčku moje třídy přeci nemůžou jen tak dědit tuto třídu, sám bych u ní musel uvést od jaké dědit, správně?
Omlouvám se, že je to jiný odkaz
Ahoj, jelikož jsem na tomto fóru dostal vždy odpověď, obracím se sem znovu.
Mám dotaz na toto: http://msdn.microsoft.com/en-us/library/s2wzt390
Když bych chtěl použít tuto metodu, musím mé třídy dědit z této třídy kde je virtuální a nadefinovat vlastní? Děkuji
Případně pokud by jste sem napsali malý příklad byl bych vděčný.
Ještě prosím vysvětlit, co v tom zápisu virtual Type^ GetType() sealed znamená ten znak ^ a slovo sealed :)
Ahoj, podle mě ty životopisy hned nevyhazujou jak říkáš. Prostě si ho jen uprav a doplň tam svoje zkušenosti, dovednosti, úspěchy a podobně. Oni tě stejně nejspíš pozvou na pohovor. Až tam se totiž většinou ukáže co z tebe vyleze. Nevýhoda je jen ta, že téměř všude v tomto oboru požadují nějakou praxi, pokud žádnou nemáš, tak si něco tvoř pro sebe a uč se třeba framework. To je dobrá reference
Ahoj, klasické winapi z těchto stránek: http://msdn.microsoft.com/en-us/library/windows/desktop/ms645505(v=vs.85).aspx je použitelné pouze pro jazyk c/c++? Například visual studio používá jiné winapi?
Ahoj, dost zde na foru se lidé ptají na qt. Mám na něj také dotaz. Nikdy jsem v něm nedělal a mám jen základní informace co to je.
QT je multiplatformní. Co přesně to znamená? Tedy zda jednou napsaný program(a přeložený) lze použít napříč různými os včetně linuxu? Nebo je to myšleno, že samotný kód, který je jednou v tomto napsaný je přenositelný, ale musí se přeložit v závislosti na platformě?
Jak je to s kompilátorem? Musí se používat kompilátor dodaný s tímto frameworkem?
Hezké léto všem.
Dobře...
tedy zápis
if((Listen=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP))==-1)
je správný?
D9ky, ale zápis if(socket(AF_INET,SOCK_STREAM,IPPROTO_TCP)==-1) by měl fungovat správně? Protože to je to samé.
Ano funguje, můžu se zeptat, proč můj zápis nefunguje?
Ahoj, snažím se vytvořit socket:
SOCKET Listen;
if(Listen=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP)==-1)
ShowMessage("Error-socket");
SOCKADDR_IN Server;
Server.sin_addr.s_addr=inet_addr("77.75.76.3");
Server.sin_family=AF_INET;
Server.sin_port=htons(100);
if((connect(Listen,(sockaddr *)&Server, sizeof(Server)))==-1)
{
ShowMessage("Error");
WSACleanup();
}
Ale nemohu se dostat ani přes první podmínku, vždy je vyhodnocena, jako -1
Můžete poradit kde je problém?
Ok dík to mi stačí
#2 yaqwsx
A to winapi je v jaké fyzické knihovně? Nebo je přilinkován z dynamické knihovny až za běhu? Když si například operátor new volá funkci z win api, kompilátor pozná, ýe má přilinkovat knihovnu s winapi?
Nevíte o nějaké dobré dokumentaci kde je to probrané trochu podrobněji? Myslím cekový průběh kompilace, spojování knihoven při kompilaci apod...
Souhlasim s Hmm...codeigniter je best.
Pitomej editor...
podívej se sem, snad to pochopíš: http://pastebin.com/EKt0qq5D
Z jakého důvodu? Aby ti vracela přímo hodnotu?
Zkus si ty hodnoty
std::cout << temp.substr(0, 2) << " " << hexToDec(temp.substr(0, 2)) << std::endl;
std::cout << temp.substr(2, 2) << " " << hexToDec(temp.substr(2, 3)) << std::endl;
std::cout << temp.substr(4, 2) << " " << hexToDec(temp.substr(4, 5)) << std::endl;
vypsat a hned zjistíš kde je chyba
V podmínce použij regulární výraz.
"dynamickou alokaci snad zvládneš sám..."....
Dle úrovně dotazu se dá předpokládat, že i to je nad tazatelovo síly.
int n=4;
int **mat = new int*[n];
for(int i = 0; i < n; ++i) {
mat[i] = new int[n];
}
for( int i = 0; i < n; i++ )
for( int j = 0; j < n; j++ )
if( i+j+1 == n )
mat[j][i] = 2*j;
else
mat[i][j] = 0;
for( int i = 0; i < n; i++ )
for( int j = 0; j < n; j++ ) {
cout<<mat[j][i];
if(j==(n-1))
cout<<"\n";}
Asi by jsi si musel udělat nějakého klienta, kterého by měl každý na svém lokálním pc, který by se uměl připojit na server, stáhnout data a poslat je na usb.
Na lokálu si to dokážu představit, ale ze vzdáleného serveru ne.
Všude za GetResultValue odstraň const
Zkus jiné kódování:
Ve vstupní frontě zůstává \n
musíš se ho zbavit např
using namespace std;
int a;
cout << "Vlozte cislo\n";
cin >> a;
cin.get();
cout << "Zadal jste cislo: " << a << endl;
cin.get();
string a="seznam.cz";
string b("ping ");
b+=a;
system(b.c_str());
Pro představu jak má správně vypadat framework založený na mvc:
http://www.phpro.org/…ler-MVC.html
jinak je zbytečné znovu vynalézat kolo. Spíše se na nějaký zaměř a nauč se ho používat.
Děkuji
Ahoj,
chci se zeptat, proč když vytvářím přítele v šablonové třídě pomocí explicitní specializace, musím před šablonu třídy vložit deklarace těchto šablonových přátel?
Zdravim, potřebuji radu. Učím se z tutoriálu na builderu iterátory. Nějak mi ale pořád nedochází, k čemu můžou být dobré.
Iterátory jsou určeny pouze k tomu, abych pomocí nich mohl procházet kontejnery a používat pomocí jejich iterátoru funkce ze souboru <algorithm> plus další? Je to tedy pouze zobecnění typu což znamená, že je mohu používat jak pro typ int tak například pro třídu "mojetrida"?
Byl bych vděčný za jakoukoli pomoc. Případně kdyby jste věděli o nějakém srozumitelném tutoriálu.
Případně na co používáte iterátory vy?