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

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

 

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

Jay
JavaScript, AJAX, jQuery › Javascript/Ajax kalendář
8. 3. 2012   #154564

Zdravím, 

potřebuju pro svou aplikaci vyvinout kalendář, nechci ale něco ve stylu všech těch kalendářů co se nabízejí na netu jako hotová řešení. Chci vypisovat měsíce, čísla týdnů a jednotlivé dni, ale trochu specifickým způsobem, který je asi zbytečné popisovat.

Spíše bych potřeboval navést na nějaký dobrý zdroj pro práci s daty v JS nebo Ajaxu - abych si mohl vypsat kalendář třeba na rok dopředu, aby to reflektovalo přestupné roky (letos), atd. 

Poradí někdo pls? Dík moc,

Honza

Jay
C / C++ › Vykreslování grafů
11. 12. 2011   #151106

Zdravím,

napsal jsem si jednoduchý program, který mi vyhodí pole hodnot. Potřeboval bych nějakým co nejjednodušším způsobem vykreslit graf z těchto hodnot. Tedy v rámci té aplikace (ne, že to zkopíruju do excelu). Neznáte nějakou jednoduchou knihovnu, která by to uměla?

Mám jednoduchou konzolovou aplikaci, ideální by bylo, kdyby po skončení výpočtu zavolal program nějakou tu knihovnu, která by ty grafy vykreslila ve vlastním okně. Ale možná si to představuju jako hurvínek válku, take prosím o radu.

Díky,

H.

C / C++ › snížení složitosti algoritmu
6. 2. 2011   #138577

Zdravím,

napsal jsem program, který implementuje problém batohu (mám n věcí, které mají své ceny a snažím se dostat do batohu s kapacitou M co nejvíce věcí aby celková cena byla maximální).

Tady je funkce, která zajišťuje kalkulaci hrubou sílou (zkouším veškeré kombinace věcí):

void Knapsack::Calculate(ofstream& fout, int ID, int n, int M, vector<Item>& items){

int max_cost = -1;
int mask, totalweight, totalprize;
bool overloaded;
vector<bool> max_things;
unsigned int iterations = (int)pow(2.0f, n);

for(int i = 1; i < iterations; i++)
{
vector<bool> things;
totalweight = 0;
totalprize = 0;
overloaded = false;
mask = 1;

for(int j = 0; j < n; j++)
{
things.push_back(i & mask);
totalweight += items[j].weight * things[j];
totalprize += items[j].cost * things[j];
if(totalweight > M)
{
overloaded = true;
break;
}
mask <<= 1;
}

if(!overloaded && totalprize > max_cost)
{
reverse(things.begin(), things.end());
max_cost = totalprize;
max_things = things;
}
}
fout << ID << " " << n << " " << max_cost << " ";
vector<bool>::const_iterator it;
for(it = max_things.begin(); it != max_things.end(); it++)
fout << " " << *it;
fout << endl;
}


Ten vnější cyklus představuje projítí všech kombinací, kterých je 2^n. Tzn. minimální (a očekávaná) složitost je 2^n. Uvnitř mám další for cyklus, který proběhne v nejhorším případě n-krát (kontroluju, jestli už jsem nepřekročil kapacitu). V něm sestavuju binární podobu kombinace věcí a sčítám jejich hmotnosti a ceny.

Nedá se to udělat nějak aby celková složitost bylo pouze těch 2^n, prostě to nějak zrychlit?

Dik moc,
H.

C / C++ › knapsack problém
1. 2. 2011   #138392

Zdravím, zkouším si dělat v c++ knapsack problém (http://en.wikipedia.org/wiki/Knapsack_problem), zatím hrubou silou.

T.j. potřebuju projít všechny možné kombinace věcí a zkoušet jestli součet cen je maximální a stále se ještě do batohu vejdou.

Zatím jsem si vytvořil 'strukturu prostředí' - třídu batoh:

class Knapsack {

public:
vector<Item> items;
int capacity;
int numb;
int ID;
Knapsack();
Knapsack(int c, int n, int ident, vector<Item> *things);
};


V tom vektoru items mám jednotlivé objekty představující věci, které budu vkládat do batohu.

Tak a teď začínám vytvářet samotný algoritmus a hned jsem se zaseknul na tom, že mě nenapadá, jakým způsobem projít všechny kombinace.. Ten cyklus bude vypadat nejak takhle:

for(int i=0; i<pow(2,numb);i++)


protože potřebuju projít 2^n kombinací, jak ale bude aspon v pseudokodu vypadat tělo toho cyklu? Jakým způsobem zkoušet ty kombinace?

Díky moc,
H.

C / C++ › vložení proměnné do řetězce
13. 11. 2010   #135854

Po několika letech jsem se vrátil v k c++, potřebuju v něm napsat program do školy.. A mám pocit, že jsem se zbláznil, protože si za boha nemůžu vzpomenout na základní věc a na googlu hledám marně..

Potřebuju stejnou konstrukci v c++ jako je tato, kterou běžně používám k php:

retezec = "nejaky_text".$promenna."nejaky_dalsi_text";


V c++ mam nasledujici situaci:



int cislo=4;
FILE *fr;
fr = fopen("/adresar/soubor_???.txt", "rb");


A teď místo těch tří otazníků potřebuju mít proměnnou cislo. (bude se menit, proto to tam potřebuju vkládat dynamicky...)

Díky za radu,
H.

CSS › optimalizace pro IE
25. 3. 2010   #125762

Zdravim,

uz nekolik dni se snazim optimalizovat tento web (http://advokat-slavik.cz) pro IE, ale za boha nemuzu prijit, proc je tam ta navigace polamana, nevedel by si v tom nekdo rady?

Dik moc,
H

C / C++ › grafika
7. 3. 2009   #96797

To crAzY^ : tak jsem se dival na vsechny a zatim nejvice se mi libilo wxWidgets (mimo jine take proto, ze se mi ho podarilo na prvni pokus nainstalovat a integrovat do VS - narozdil od ostatnich, kde jsem vzdy narazil na nejake problemy).

Nicmene, nechce se mi ucit kompletne programovani wx (resp. chce, ale nemam na to ted cas), proto se chci jen zeptat, kdyz potrebuju ciste grafickou verzi konzole (jednoradkovy text-input reprezentujici prikazovou radku a potom nejaky vetsi frame reprezentujici standardni vystup (cout)), neexistuje nekde nejake hotove reseni ci treba sablona? Nemuze to byt snad nic sloziteho, nevim.

Dik

C / C++ › grafika
3. 3. 2009   #96528

To crAzY^ : jj, diky

C / C++ › grafika
3. 3. 2009   #96523

Zdravim,

v jakem grafickem prostredi byste mi doporucili udelat nasledujici aplikaci c++ - potrebuju pouze jedno okno jehoz valna cast bude prostor pro vypisovani vystupu (v podstate totez co v konzoli), potom prostor pro prikazovou radku a nejake jednoduche menu. Da se rict, ze by to vlastne mela byt klasicka konzole predelana do grafiky s jednoduchym menu.

Dik.

Software › Modelovani automatu
14. 2. 2009   #94979

To Mega.Lama : To je sice hezke reseni, ale vysledny nakres ma byt soucasti diplomove prace :) Uz jsem googlil docela dost. Kdyby mel nekdo s necim podobnym zkusenosti, budu rad.

Software › Modelovani automatu
14. 2. 2009   #94950

Zdravim,
shanim nejaky prijemny jednoduchy program (idealne freeware) na kresleni prechodivych diagramu automatu,
neznate?
Diky, Honza

C / C++ › Navratovy typ
3. 2. 2009   #94093

Zdravim,

mam nejakou tridu a nezavisle na ni mam funkci, u ktere bych potreboval jako navratovy typ prave instanci te tridy. Jde to? Nebo musi byt ta funkce metodou te tridy?

class Trida { ... };


Trida funkce( ... );


Diky!

PHP › Refresh stranky
20. 12. 2008   #92281

To hrach : tak super, zase jsem se dozvedel novou vec. Takze se to pouziva takhle?

<form method="POST" action="">

...
...
<input type="submit" name="go">

a potom

if(isset($_POST['go'])){

...
...
...
$code=301;
$url=$_SERVER['REQUEST_URI'];
header('Location: '.$url, TRUE, $code);
}

PHP › Refresh stranky
20. 12. 2008   #92279

To hrach : Parada, funkci header uz jsem zkousel pouzit, ale asi spatne.. Nyni to funguje jak ma, akorat nevim, jestli to neni prilis 'prasacke' reseni. Kazdopadne diky.

PHP › Refresh stranky
10. 12. 2008   #91552

Zdravim, mam problem s webem - nektere prvky jsou zobrazeny pouze pro prihlasene uzivatele, ale po odhlaseni je sice uzivatel odhlasen, nicmene ty prvky vidi i nadale a zmizi az po obnoveni stranky... potreboval bych tedy neco jako refresh stranky hned po tom odhlaseni. Jak se toto resi?

HTML / XHTML › jednoduchy online text editor
31. 10. 2008   #88810

Zdravim,

hledam v podstate neco podobneho, jako je tady pri vkladani prispevku do fora - okenko pro vkladani textu a jednoduche formatovaci prvky (tucne, kurziva, atd.). Da se nekde stahnout kompletni skript? Nebo si to musim naprogramovat sam?

Vygooglil jsem pouze FCKeditor a ten je presprilis slozity, me staci presne to co je tady.

Diky moc,
Honza

PHP › prace s tabulkou
2. 5. 2008   #72924

Zdravim!
mam tabulku ktera ma tyto sloupce:

| hlavni_krit | krit_1 | krit_2 | krit_3 |

Potrebuju funkci, ktera bude mit dva parametry - prvni mi urci, do ktereho radku se mam podivat podle prvniho sloupce, a druhy parametr mi bude vybirat ze ktereho sloupce v danem radku vzit hodnotu (t.j. esi z krit1, nebo krit2 resp. krit3). Funkce bude vracet hodnotu v bunce daneho radku.

A ted, da se to udelat nejak jednodusseji, nez napsat do funkce tolik IFu, kolik je radku (pro prvni parametr) a do kazdeho toho IFu dat tri IFy pro krit1, krit2, krit3? Takhle by ta funkce mela treba 200 radku v zavislosti na poctu radku v tabulce...

Doufam, ze to bylo srozumitelne. Diky

C / C++ › Preruseni nekonecneho cyklu
14. 4. 2008   #71294

fajn, diky... Taky mrknu :)

C / C++ › Preruseni nekonecneho cyklu
14. 4. 2008   #71291

diky za odpovedi - kbhit() prave bohuzel funguje jen na oknech... nicmene se spokojim pouze s ctr-c, nemam cas vymejslet neco jineho. Zkousel jsem googlit, a vypadly mi nejake nahrazky za kbhit, ale nestiham uz je implementovat.

Jedna se o semestralni praci na synchronizaci vlaken pod unixem.

C / C++ › Preruseni nekonecneho cyklu
14. 4. 2008   #71287

w3q napsal:
Čo takto podmienka. Napr. ak je stlačené niejaké tlačidlo, tak break.



Nj, ale ja jakozto neznalec pokrocilejsich technik v cecku nevim, jak se da monitorovat to stisknuti. Neznam ty funkce...

C / C++ › Preruseni nekonecneho cyklu
14. 4. 2008   #71278

Zdravim,
nevite jak se da v c++ prerusit nekonecny cyklus (treba inkrementace promenne v kazdem cyklu) stiskem nejake klavesy? Jsou na to nejake funkce? A potreboval bych, aby to fungovalo na vsech standardnich OS...

C / C++ › prekladac
10. 2. 2008   #65604

Zdravim,

nevite o nejakem dobrem zdroji informaci (muze byt i akademicky - vyjma CVUT FEL) o psani prekladacu? T.j. lexikalni a syntakticke analyzatory, interprety, apod. Nejlepe v C++...

Diky, H.

Offtopic › Začínající programátor a prá…
28. 1. 2008   #64269

hehe, jsem na tom docela podobne, s tim rozdilem, ze na te zminene skole stale jeste studuju 3. rocnik VT, ale dost mozna se k tobe zanedlouho pripojim ;-)

C / C++ › kontejner
23. 1. 2008   #63752

zdravim,

mam nejakou tridu a potrebuju si jeji vytvorene instance 'zalohovat' a to takhle: budu ze vstupu cist a analyzovat retezec, v nemz bude i nazev objektu, ktery si uzivatel vytvori a bude chtit, aby se takhle jmenoval. Takze co je na tohle nejlepsi?

Rekneme ze v momente kdy zcela analyzuju retezec, ve kterem uzivatel chce vytvorit objekt, si do nejakejho stringu ulozim to jmeno objektu a vytvorim samotny objekt. No a ted do jakeho typu kontejneru/seznamu/pole (moc se v tom zatim nevyznam) to mam ukladat tak, aby vlastne potom vyhledavacim klicem byl ten nazev objektu. Slysel jsem cosi o mapach z STL, ale nevim.

Diky

C / C++ › QT
15. 1. 2008   #62730

Zdravim,
poterbuju poradit, jak moc slozite je nasledujici: mam napsany program, ktery neustale odebira retezce ze vstupu (takova prikazova radka), analyzuje je, provede podle analyzy prislusne operace, vytvori patricne objekty a nazaver vypise vysledky na vystup.
A ted ja bych to chtel cele hodit do grafickeho havu, proste chci jen velice jednoduche okno, rozdelene na dve casti - jedna pro tu command line, a druha pro vypis vystupu. Jak moc slozite to je? Nejvice toho vim o QT, takze bych to asi i pouzival (snadno si muzu vymodelovat to okno v QT Designeru (obrazek je v priloze) - ale jak to pak skloubit s tim mym konzolovym programem)

Diky

C / C++ › QT
11. 1. 2008   #61869

tak uz jsem udelal trochu pokrok - predpokladam, ze napsany program musim prelozit v te QTckove konzoli, to jsem taky udelal ale kdyz chci spustit vytvoreny .exe, tak to krici, ze nelze najit mingwm10.dll. Pritom minGW nainstalovany mam...

C / C++ › QT
11. 1. 2008   #61863

Zdravim,
mozna se nekomu tenhle dotaz bude zdat prastenej, ale ja jsem v GUI neznalek.

Jen se chci zeptat, co vsechno mam udelat proto, abych si mohl napsat nejakou slozitejsi aplikaci v jednoduchém GUI (pouze jedno hlavni okno rozdelene na dve poloviny - jedna pro vstup uzivatele, a jedna jako tabule pro vystupy). Stahl jsem si open source QT nainstaloval, debugoval knihovny, ale co dal? Pracuju ve Woknousech v VCStudio2005, nevim, jestli se da normalne program napsany za pomoci knihovny prelozit v tom studiu, a jak? Kdyz naincluduju na zacatku programu potrebny QT knihovny, tak mi to zakrici, ze je to nemuze najit.

Diky moc za odpovedi...

C / C++ › Gaussian elimination
5. 1. 2008   #61245

To _k_ : ten jsem samozrejme videl, ale to je jen ten nejhrubsi nastin, prakticky nefungujici pro obecne matice, nicmene asi se s nim budu muset spokojit :-)

C / C++ › Gaussian elimination
5. 1. 2008   #61229

zdravicko, nemate nekdo takhle ciste nahodou udelanou gaussovku v c++? ;-) Mohl bych si ji sice udelat sam, ale trvalo by mi to vcetne odlazovani peknych par dni, a ja se tim bohuzel nemuzu moc zdrzovat... :(
Kdyz ne kod, tak by mi urcite alespon pomohl nejaky popis algoritmu ci pseudokod. Predpokladam, ze ta funkce nebude mit vic jak treba 30 radek, ale tak jde tam o to, aby to bylo dokonale odlazene, a to je prave asi to casove nejnarocnejsi... No ja vim, ze je to blbej dotaz, ale tak treba se nejaka dobra duse najde :)

(Zvlastni, ze kdyz jsem zkousel jen tak nahrubo googlit, tak jsem byl neuspesny.)

cheers

Hry › Adventury
4. 1. 2008   #60942

z tech co jsem hral mam neradsi tyhle:
-nejlepsi adventura vubec co kdy asi byla udelana: The Longest Journey (puvodni, ta nova sice nejni spatna, ale trosku mi vadi 3D, mam radsi klasicke point and click)
-ceske nejlepsi: Posel smrti a Posel bohu
-pak jeste jsou vynikajici Syberia jednicka i dvojka, ale hlavne teda jednicka diky strhujicimu pribehu a nadherne grafice

edit: jo a malem bych zapomel na nedavnej vynikajici pocin Penumbra: Overture, nebo tak nejak... super atmosfera, ale hlavne dosti experimentalni a predevsim zabavny system ovladani

C / C++ › Matrix
31. 12. 2007   #60323

parada, diky moc - vubec jsem si neuvedomil absenci kopirovaciho konstr. ani op. prirazeni... ted to bezi jak ma, ale jsem si jistej, ze jeste narazim na spoustu problemu, takze tohle vlakno zatim nebudu uzavirat :-)

C / C++ › Matrix
31. 12. 2007   #60309

zdravim, mam problem s objektama - snazim se vytvorit si komplexni vypocetni knihovnu pro veskerou praci s maticema a vektorama - nejprve jsem udelal tridu vektor, ktera by mela byt sobestacna a plne funkcni - je v priloze. Pak jsem zacal delat tridu matice, kterou mam udelanou jako pole objektu tridy vektor (radky matice), tady ale nastaly problemy pri spousteni programu. Patrne to souvisi s nejakou alokaci tech poli nebo dealokaci, nevim. Normalne to jde zkompilovat ale kdyz to spustim, tak to vyhazuje vyjimku:

Vektor.h - v priloze

Matrix.h:

#ifndef _MATRIX_H_

#define _MATRIX_H_
#include <iostream>
using namespace std;



class Matrix {
int rows;
int cols;
Vector * space;

public:
Matrix(): rows(0), cols(0) {}
Matrix(int m, int n);
Matrix(int m, int n, float x);
virtual ~Matrix();
Vector & operator [](int i);
friend ostream& operator<<(ostream& o, Matrix& m) {

for (int i = 0; i < m.rows; i++) {
o << m.space[i] << endl;
}
o << endl;
return o;
}
Matrix & operator+(const Matrix& m) const;
Matrix operator-(const Matrix& m);
};

Matrix::Matrix(int m, int n) {
rows = m;
cols = n;
space = new Vector[rows*cols];
Vector Zero(cols);
for(int i=0; i<rows; i++) space[i]=Zero;
}

Matrix::Matrix(int m, int n, float x) {
rows = m;
cols = n;
space = new Vector[rows*cols];
Vector X(cols,x);
for(int i=0; i<rows; i++) space[i]=X;
}

Matrix::~Matrix() {
if(space!=0) delete [] space;
}

Vector & Matrix::operator [] (int i) {
return space[i];
}

Matrix & Matrix::operator+(const Matrix& m) const {

Matrix temp(*this);
for(int i=0; i<rows; i++) temp.space[i]=space[i]+m.space[i];
return temp;
}

Matrix Matrix::operator-(const Matrix& m) {

Matrix temp(*this);
for(int i=0; i<rows; i++) temp.space[i]=space[i]-m.space[i];
return temp;
}

#endif


Main.cpp - tady si jenom testuju funkcnost jednotlivych funkci a operatoru:
#include <iostream>

#include <cstdlib>
#include "vector.h"
#include "matrix.h"

using namespace std;


int main(int argc, char *argv[])
{
Vector x(3,1);
cout << x << endl << endl;
Matrix A(5,4,5);
A[1]=Vector(4,0);
A[1][1]=1;
cout << A;
Matrix B(5,4,2);
cout << B;
Vector a(4);
a=A[0]+B[1];
cout << a << endl << endl;
Matrix C(5,4);
C=A+B;
cout << C;
system("PAUSE");
return EXIT_SUCCESS;
}


Po spusteni by to melo vypsat:

(1,1,1)

(5,5,5,5)
(0,1,0,0)
(5,5,5,5)
(5,5,5,5)
(5,5,5,5)

(2,2,2,2)
(2,2,2,2)
(2,2,2,2)
(2,2,2,2)
(2,2,2,2)

(7,7,7,7)

(7,7,7,7)
(2,3,2,2)
(7,7,7,7)
(7,7,7,7)
(7,7,7,7)

Patrne jde o nejakou jednoduchou chybu, ale nevim si s tim uz dlouho rady. Ta trida Matrix je samozrejme teprve rozdelana, zatim jsem si pretizil operatory + a -. Testuju na VS2005.
Predem diky moc. Honza

Offtopic › Poradte vysokou školu (Progr…
24. 12. 2007   #59515

To Lighter : jen mala reakce. Na FEL (a i prevazne cely CVUT) rozhodne nechodi kravataci z gymplu. Drtiva vetsina lidi, se kteryma jsem se na FELu za ty tri roky setkal, je z prumyslovky.

Jo a hezke svatky preje Deda Mraz

Offtopic › Poradte vysokou školu (Progr…
21. 12. 2007   #59284

To stepan : to ze jsem zminene skoly oznacil za dosti narocne samozrejme jeste neznamena, ze jsou nejlepsi. Mozna by se dalo rict, ze treba titul z techto skol ma u mnoha zamestnavatelu vetsi vahu, nicmene to je z jejich strany asi hodne zkresleny pohled. Souhlasim, ze treba ten muj FEL je 'fabrika' - ve tretim rocniku na oboru asi 300 lidi (z cehoz asi 5 holek :o) ).

Offtopic › MB-cka :DDDDD
21. 12. 2007   #59255

To adam128 : jo? jednou jsem sel ve stodvacine 4x pres strechu a kdyz jsem se pak dival zvenku tak jsem se hodne divil ze jsem nazivu :-) Vypadala, jako kdyby na ni slapla godzilla :-)

Offtopic › Poradte vysokou školu (Progr…
21. 12. 2007   #59252

Jsem na CVUT FEL. Tam to probiha nasledovne: pokud chces studijni obor elektrotechnika a informatika, tak si musis projit prvnim rocnikem plnym matematiky, algebry, materialu, technicke dokumentace, apod. Pokud tuto cast projdes bez ujmy (tak polovinu - nekolik set - z prijatych studentu zde vyhodi), tak se zapises na obor Vypocetni technika a tam uz to je vicemene jenom o programovani. Vetsinou C/C++, strojove jazyky, pak taky treba SQL ci programovani pod unixem...

Druha moznost, kterou ja jsem nezazil je druhy obor hned od prvniho rocniku - to se jmenuje nejak softwarove technologie a managment, a tam je to pry hned od zacatku jenom o programku, ale nevim..

Jinak celkove dojmy ze skoly - muj subjektivni nazor je ze FEL spolu s Mat-Fyzem, Lekarskou a predevesim Jaderkou jsou nejtezsi skoly. Samozrejme pokud mas alespon nejake logicke mysleni a chapani, tak se da touhle skolou prolejzat bez vetsi namahy s trojkama, semtam nejakej predmet na druhej pokus no. Ale na stipendium tam jdou jen takovy ty bedny co sedej u programovani od 6ti let a chodej na prednasky a vsechny cviceni a prubezne se ucej :-)

C / C++ › mam problem z retazcom prosi…
19. 12. 2007   #58948

nevim esi to je to co potrebujes.. Je to trochu prasacky reseni, ale mel jsem ho zase hotove za 5 minut.



#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
int count = 0;
char s[15];
char samohlasky[13]= {'a','e','i','o','u','y','A','E','I','O','U','Y', '\0'};
cout << "Zadejte vstupni retezec: ";
cin >> s;
for(int i=0; i<15; i++){
for(int j=0; j<12; j++){
if(s[i]==samohlasky[j]) { count++; break; }
}
}
cout << endl << "Pocet samohlasek v retezci \"" << s << "\" je: " << count << ".\n\n";
system("PAUSE");
return EXIT_SUCCESS;
}

C / C++ › algoritmus
18. 12. 2007   #58919

LuckaH napsal:
Ahojte,nikdo by mi prosim Vás neporadil jak na to?



rad bych poradil, ale bohuzel ted nemam cas se tim zaobirat, na kdy to potrebujes? Ja mam zitra hodne narocny den ve skole, ale potom od ctvrtka dal se na to muzu podivat.

C / C++ › Prikazovy riadok sa zatvori
16. 12. 2007   #58772

urcite ti tohle nefungovalo?



#include<cstdlib>
...
{
...
system("PAUSE");
return EXIT_SUCCESS;
}

C / C++ › algoritmus
16. 12. 2007   #58770

zajimave, zrovna neco podobneho delame ve skole, muzu se zeptat co studujes?

Jinak tohle je dost slozite pro cloveka, ktery treba ty veci kolem gramatik vidi poprve. Jedna vec je vymyslet a nakodit algoritmus, a druha vec je pochopit s cim ma vlastne pracovat.. Popremyslim o tom.

Offtopic › počítač napsal knihu... real…
14. 12. 2007   #58510

To mates : Deep Blue od IBM?

Az bude literatura, hudba a vubec veskere kulturni produkty dilem umele inteligence, tak tu snad radsi ani nebudu chtit byt...

C / C++ › Hledání v řetězci
13. 12. 2007   #58431

To Payne : IMHO: ja teda nevim, ale pokud se clovek chce naucit programovat (je rozdil mezi tim umet nejaky konkretni jazyk (jeho syntaxi) a vlastnim programatorskym myslenim), tak by vubec nebylo od veci implementovat si vlastni algoritmy a nepouzivat knihovni funkce - navic to neni zadne slozite programovani, pouze nejaka prace s poli, pointerama, apod.. Co pak, kdyz bych chtel napsat ten program v jinem jazyku? Jen muj nazor...

C / C++ › destruktor
10. 12. 2007   #58003

To Jura : ja bych to potreboval aplikovat na objekty.. takze mam treba:



#define GetName(x) #x

class trida {
public:
char getName() {
const char * name = GetName(???);
return name;
}
}

co mam dat do te zavorky? proste potrebuju ten tvuj postup zobecnit, ptze takhle jak jsi to napsal to funguje vzdy pro konkretni promennou.

C / C++ › destruktor
10. 12. 2007   #57996

jeste dotaz cislo 2, ktery se netyka tematu, ale nechci tady zakladat tisice vlaken...
lze nejak dostat nazev promenne do charu, ci stringu, ci neceho takoveho?

budu mit

int a;
a budu chtit poslat na cout to "a".
Diky

C / C++ › destruktor
10. 12. 2007   #57994

Cest,

kdyz mam tridu, ktera obsahuje pole objektu jine tridy. Jakej mam zavolat destruktor na tu prvni tridu?



class Prvni {
Druha * pole;
public:
...
virtual ~Prvni { delete [] pole; }
}

Takhle mi to treba Dev-C++ prelozi a i spusti, ale treba VS2005 me to sice buildne, ale kdyz to spustim, tak se to shodi a vyhodi vyjimku prave kvuli tomu operatoru delete..

C / C++ › sablona - bin. operatory
3. 12. 2007   #57158

To Huge : nejak se ztracim v tom, co je hlavicka ceho - jestli funkce nebo tridy.

Takze to prvni

template <typename Type, int N>
je sablona te hlavni tridy?
A kde teda potom pouziju to druhe?
template <typename Type2>
Bohuzel jsem se sablony zacal ucit asi pred tydnem, takze bych to potreboval trosku polopate (treba nejak ukazat na tom mem kodu). Zvlastni je, ze jsem tohle nejak rozumne vysvetlene nenasel v zadne z tech chytrych knih o kterych se mluvi ve vedlejsich threadech.. :(

C / C++ › sablona - bin. operatory
1. 12. 2007   #56926

ok, hazim sem cely kod, omlouvam se tem, kterym to vadi :) takhle jak to je, tak to jde zkompilovat, ale kdyz chci ten operator scitani pouzit v main, tak to zacne kricet prave cosi o tech ruznych typech. Jeste chci pretizit dalsi binarni operatory, takze ten problem je pro me dost klicovej. Jo, mam tam trochu bordel v tom, ze neco jsem nadefinoval hned v te sablone, neco az zvlast, ale na funkcnost to snad nema vliv.



#include <iostream>
#include <cstdlib>
using namespace std;


template <class Type, int N=2>
class Vector
{
Type * array;
int size, maxSize;

public:
Vector();
Vector(int n);
Vector(const Vector & v);
virtual ~Vector();

Type & operator [](int i);
friend ostream& operator<<(ostream& o, Vector& v) {
o << "(";
for (int i = 0; i < v.length(); i++) {
o << v[i];
if (i < v.length() - 1) o << ",";
}
o << ")"<< endl;
return o;
}

Vector & operator=(const Vector & v);
Vector & operator+(const Vector<Type, N>& v) {
if (v.size!=size) {
cerr << "error vector::operator+, can't add vectors of different size" << endl;
exit(1);
}
Vector<Type, N> temp;
for(int i=0;i<size;i++) temp.array[i]=array[i]+v.array[i];
return temp;
}
int length() const;
};

////////////////////////////////////
//----------DEFINICE----------//
////////////////////////////////////

template <class Type, int N>
Vector<Type, N>::Vector() {
maxSize=N;
array = new Type[maxSize];
for(int i=0;i<N;i++) array[i]=0;
size=N;
}

template <class Type, int N>
Vector<Type, N>::Vector(int n) {
maxSize=N;
if (N < 0) {
cerr << "error -- creating a Vector of negative capcity\n";
exit(1);
}
for(int i=0;i<N;i++) array[i]=n;
size=N;
}


template <class Type, int N>
Vector<Type, N>::Vector(const Vector & v) {
if (this == &v) {
cerr << "error -- cannot copy a vector to itself\n";
exit(1);
}
array = 0;
array = new Type[v.maxSize];
size = v.length( );
maxSize = v.maxSize;
for (int i = 0; i < v.length( ); i++) {
array[i] = v.array[i];
}
}


template <class Type, int N>
Vector<Type, N>::~Vector() {
delete [] array;
}


template <class Type, int N>
Type & Vector<Type, N>::operator [] (int i) {
if (i < 0 || i >= size) {
cerr << "error -- index out of range\n";
exit(1);
}
return array[i];
}

template <class Type, int N>
Vector<Type, N> & Vector<Type, N>::operator=(const Vector & rhs) {
if (this == &rhs) {
cerr << "error -- cannot assign a vector to itself\n";
exit(1);
}
delete [] array;
size = rhs.length( );
maxSize = rhs.maxSize;
array = new Type[maxSize];
for (int i = 0; i < size; i++)
array[i] = rhs.array[i];
return *this;
}

template <class Type, int N>
int Vector<Type, N>::length() const {
return size;
}


//////////////////////////////
//-----------MAIN-----------//
//////////////////////////////

int main(int argc, char *argv[])
{
Vector<double, 3> b;
b[0]=0.6;
b[1]=1.4;
b[2]=5.1;
cout << b;
Vector<int, 3> c;
c[0]=4.7;
c[1]=1.1;
c[2]=7.1;
cout << c;
//a ted bych tu chtel neco jako d=b+c;
system("PAUSE");
return EXIT_SUCCESS;
}

C / C++ › sablona - bin. operatory
1. 12. 2007   #56891

Hey, dalsi vcelku zajimavej dotazek:

mam sablonu tridy, ktera muze vytvaret objekty typu napr. int nebo double. A ted si v te sablone pretizim operator+ (binarni) tak, ze vysledek vzdy ukladam do nove vytvoreneho objektu. No a jak ten operator pozna jakeho typu ma byt vysledek, kdyz scitam treba objekt int s objektem double? Takhle bez prikladu je to tezke vysvetlit, ale to bych sem musel nakopirovat tak 100 radek kodu ;-)

C / C++ › operator&lt;&lt;
1. 12. 2007   #56868

jo dobry uz to asi vim:



template <class Type, int N=1>


C / C++ › operator&lt;&lt;
1. 12. 2007   #56859

uz chapu. A jeste jeden dotaz k sablonam - vezmu stejny kus kodu jako nahore a ted bych potreboval, aby sablona mela jeste druhy, ale nepovinny parametr (kdyz by chybel, tak by se pouzila defaultni hodnota), takze asi takhle:



template <class Type, int N>
class Vector
{
...
};

int main(int argc, char *argv[])
{
Vector<int> a; // tady se pouzije defaultni jednicka treba
....
Vector<int,2> b;
....
return 0;
}


Musim na to delat dve ruzne sablony, nebo to jde nejak skloubit?
Diky

C / C++ › operator&lt;&lt;
1. 12. 2007   #56846

To sn3d : parada, dik moc, uz to jede... ale stejne jsem nepochopil, v cem byla tedy chyba. Nevadi, budu tedy vsechno definovat hned v sablone.

C / C++ › operator&lt;&lt;
1. 12. 2007   #56830

To janc1 : ale prave proto tam mam pretizeny ten operator <<, ktery mi podle moji definice vypise cely vektor ve tvaru (a1, a2,...,an).

C / C++ › operator&lt;&lt;
1. 12. 2007   #56825

jo, sorry, koukam ze nadpis tematu ve foru nezvlada znaky << ;-)

C / C++ › operator&lt;&lt;
1. 12. 2007   #56822

Zdravim!

mam nasledujici kod:



template <class Type>
class Vector
{
Type * buffer;
int size, capacity;
....
public:
Vector();
....
friend ostream& operator<<(ostream&, Vector&);
....
int length() const;
};

....
....
template <class Type>
ostream & operator<<(ostream& o, Vector<Type>& v)
{
o << "(";
for (int i = 0; i < v.length(); i++)
{
o << v[i];
if (i < v.length() - 1)
o << ", ";
}
o << ")"<< endl;
return o;
}
....
....

int main(int argc, char *argv[])
{
Vector<int> a;
cout << a;
}


Bez problemu to zkompiluju bez toho posledniho radku - cout << a. Jakmile ho tam ale pridam, vyhodi to nejaky fatal error (pripadne ho sem napisu). Nevim si s tim rady.
Diky za odpovedi

C / C++ › Dobrá kniha o C/C++
30. 11. 2007   #56795

jj, nejlepsi pro zacatek asi je nejaka 'uzsi' kniha jako napr. C++ za 21 dni. Potom bych ti doporucil Mistrovstvi v C++ jakozto definitivni reseni, ktere pokryva snad cely jazyk, a taky kapesni Jazyky C a C++ od Miroslava Viriuse - dobre pro rychle vyhledavani treba kdyz zapomenes syntaxi neceho, a tak..

C / C++ › Tridy
30. 11. 2007   #56756

Diky moc,

jo, takhle to funguje, asi to nejde udelat nejak, abych mohl mit ty promenne private, ze?

H.

C / C++ › Jak se naucit c++ zabavnou f…
29. 11. 2007   #56595

Jeste k Mistrovstvi v C++: Ja jsem se z toho ucil a musim rict, ze jsem byl spokojeny - jak uz bylo receno, pokud zacatecnika neodradi cena a predevsim tloustka, pak je to pro nej idealni kniha. Navic i ted mi dobre poslouzi jakozto temer kompletni manual C++, spoustu veci uz jsem pozapomel, takze kdyz ji mam doma po ruce, muzu se do ni vzdy podivat (pravda - na internetu jsou veskere mozne reference a manualy, ale kniha je mi sympatictejsi).

C / C++ › Generator grafu
28. 11. 2007   #56527

Re:P.S.: bohuzel FEL je fakulta elektrotechnicka, takze s elektrotechnikou se tam setkas :) Ne, tak elektrotechnika je hrozne sirokej pojem, ktery vlastne obsahuje i to programovani. Do nedavna to bylo tak, ze prvni rocnik meli vsichni studenti stejny a teprve od druhaku se rozrazovali do oboru (m.j. vypocetni technika). Takze kazdy musel projit v prvaku fyzikou, matematikama, nejakou tou chemii, apod. Ted tusim pred rokem se vypsal novy studijni obor, ktery je hned od prvaku zameren pouze a jen na IT predmety, a dokonce uz nejakou dobu koluji hlasky, ze katedra pocitacu chce zalozit vlastni fakultu v ramci CVUT, ale to moc nadejne nevidim...

C / C++ › Tridy
28. 11. 2007   #56415

Zdravim, mam dotaz.

Dejme tomu ze mam takovouto strukturu trid:

class jedna

{
int x, y;
public:
jedna(int a, int b): x(a), y(b) {}
};

class druha
{
jedna z;
public:
???
};


No a ted misto tech otazniku bych chtel konstruktor, kterej budu volat treba takhle:

druha(jedna(4, 8));


Jak by mela vypadat deklarace toho konsturktoru? Hlavička asi takhle:

druha(jedna(int a, int b));

Doufam, ze jsem to napsal tak, aby se to dalo pochopit.

Diky

Matematika › Hloupnu?
28. 11. 2007   #56390

IMHO: ja bych to pochopil tak, ze 320Kc vezmu jako zaklad, a tim padem 450Kc je asi o 40% vetsi nez 320Kc.

C / C++ › Generator grafu
28. 11. 2007   #56389

jj, tohle co jsi napsal je urcity nastin reseni, takze nejak takhle bych zacal uvazovat, kdybych se pustil do implementace vlastniho algoritmu (mozna, ze nic jineho mi nezbude). Cilem te prace ale taky je prave sesbirat existujici algoritmy na generovani grafu, implementovat je a treba porovnat efektivnost a slozitost. Proto jsem tento thread zacal dotazem na pripadne odkazy ci knihy.

Nicmene, vymyslet vlastni bezvadne pracujici algoritmus a implementovat ho v GUI s nejakym vykreslovanim tech grafu treba, by mozna na samostatnou bakalarku stacilo :) Kouzlo te aplikace by bylo proste v tom, ze bych si mohl nastavit jakoukoliv kombinaci grafovych parametru (dalo by se jich pouzit tak 8) a pote vygenerovat vsechny nebo alespon co nejvice (na tom by prave zalezela kvalita toho algoritmu) prislusnych grafu.

P.S.: Vypocetni technika na FEL CVUT

C / C++ › Generator grafu
27. 11. 2007   #56294

2 sn3d: tohle ale asi pracuje s grafama pro zobrazeni zavislosti a namerenych hodnot a tak, ne? Ja potrebuju Teorii grafu (tedy grafy uzel-hrana-uzel...).

2 tmi: moc uz si ty definice nepamatuju, ale prumer je pokud vim nejvetsi vzdalenost mezi dvema ruznymi uzly. Jinak nejsem si jistej , jestli to maji byt rovinne (planarni) grafy nebo ne, a nejsem si jistej jestli na tom zalezi. Nevim jestli ty grafy budu vykreslovat, mozna postaci vzdycky graf v podobe tabulky incidence, nebo tak neco.

Kazdopadne diky za ty linky.

C / C++ › Generator grafu
26. 11. 2007   #56274

je to zadani bakalarky, takze rozhodne to snadny neni :)

jde o tohle: obecny neorientovany graf ma radu parametru - jak jsem jiz rekl: pocet uzlu, hran, prumer, polomer, atd... A ted ja mam za ukol podle zadanych parametru vygenerovat co nejvetsi mnozstvi ruznych (neizomorfnich) grafu.
Takze napr. zadam, ze chci vsechny grafy se 117 uzly jejichz stupne jsou vetsi nez 5 a nemaji vice hran nez 40 (ted nevim jestli treba zrovna tohle nejni nesmysl - mozna ze zadny takovy graf neexistuje, ale to je jedno, proste jen pro ukazku).

No a na toto pry existuji ruzne algoritmy, ale nedari se mi je nikde najit. Mohl bych sice zacit vymyslet svuj vlastni, ale vedouci prace me od toho zrazuje, ze pry je to moc slozite :-)

Hanz
C / C++ › Generator grafu
26. 11. 2007   #56264

Zdravim!

shanim jakekoliv materialy tykajici se algoritmu pro generovani neorientovanych grafu na zaklade zadanych parametru (pocet uzlu/hran, atd...).

Zkousel jsem googlit, ale zatim bezvysledne :( Takze kdybyste nahodou o necem vedeli, byl bych vdecny za jakykoliv link nebo nazev nejake publikace. Jinak ty algoritmy samozrejme nemusi byt v C/C++ (prestoze je v tom budu implementovat), jde mi pouze o ty postupy a napady.

Diky, Honza

 

 

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