C++, Delphi, JAVA és egyéb programnyelvek

Started by ignus, 2007-06-05, 15:03:45

Previous topic - Next topic

Xzone


chilip


Member

Komolyan, ha valaki infó szakra akar menni, azt bemutatom Prófétának előtte. :lol: :jee:
Unokatesóm pl. fontolgatja. :angyali:

Próféta

Meggazdagodási tervem: jó előre elrettenteni az esetleges jövőbeli konkurenciát :)

chilip

Quote from: Próféta on 2010-10-30, 12:12:43
Meggazdagodási tervem: jó előre elrettenteni az esetleges jövőbeli konkurenciát :)

mester, TANÍTS MEG PROGRAMOZNI!!!

:borul:

Próféta

Quote from: chilip on 2010-10-30, 12:20:58
Quote from: Próféta on 2010-10-30, 12:12:43
Meggazdagodási tervem: jó előre elrettenteni az esetleges jövőbeli konkurenciát :)

mester, TANÍTS MEG PROGRAMOZNI!!!
Sajnálom fiam, erre születni kell.
"If you have to ask what jazz is, you'll never know."

Kvikveg

Quote from: Próféta on 2010-10-30, 12:57:13
Quote from: chilip on 2010-10-30, 12:20:58
Quote from: Próféta on 2010-10-30, 12:12:43
Meggazdagodási tervem: jó előre elrettenteni az esetleges jövőbeli konkurenciát :)

mester, TANÍTS MEG PROGRAMOZNI!!!
Sajnálom fiam, erre születni kell.
"If you have to ask what jazz is, you'll never know."
Uhh ne is mondd, nekem is kepeznem kene magam c++bol, de hanyok. Pedig nem vagyok hulye ezekhez...
WARNING: module "coffee.exe" did not run correctly. Brain running in limited mode.
Do not meddle in the affairs of dragons for you are crunchy and taste good with ketchup.

Próféta

Quote from: Kvikveg on 2010-10-30, 12:59:03
Uhh ne is mondd, nekem is kepeznem kene magam c++bol, de hanyok. Pedig nem vagyok hulye ezekhez...
Nincs olyan lehetőséged, hogy valami egyszerűbbet válassz C++ helyett? A C/C++-hoz azért erős hivatástudat kell :)

Kvikveg

Quote from: Próféta on 2010-10-30, 13:41:30
Quote from: Kvikveg on 2010-10-30, 12:59:03
Uhh ne is mondd, nekem is kepeznem kene magam c++bol, de hanyok. Pedig nem vagyok hulye ezekhez...
Nincs olyan lehetőséged, hogy valami egyszerűbbet válassz C++ helyett? A C/C++-hoz azért erős hivatástudat kell :)
Hat kb ez az amit lattam es amivel embert keresnek kint...  :punny:
WARNING: module "coffee.exe" did not run correctly. Brain running in limited mode.
Do not meddle in the affairs of dragons for you are crunchy and taste good with ketchup.

chilip

próféta, szted melyik a legjobb webes tutorial C++ -hoz? biztos ismersz 1-2t ahonnan neki lehet indulni gyakorlással a rögös útnak :)

Próféta

#310
Quote from: chilip on 2010-10-30, 14:47:39
próféta, szted melyik a legjobb webes tutorial C++ -hoz?
Fogalmam sincs, én csak egyet használtam, azt is úgy hét éve:  Teach Yourself C++ in 21 Days. És egész jó volt. No persze http://abstrusegoose.com/249

Ha ez megvan, akkor érdemes megismerkedni első körben a C++ Standard Template Library (STL) nevű aranybányával (jó webes tutorialt nem tudok, nekem élőben magyarázták el jól), utána érdemes körülnézni a boost-ban.

Viszont: szép dolgok a tutorialok, de programozni X nyelven (meg úgy általában programozni) úgy fogsz megtanulni, ha csinálod, sokat.

Ha pedig tényleg szeretnél C++-ból élni, akkor érdemes megnézni a híres C++ FAQ-t és az ezt - néha fölöslegesen indulatosan - kritizáló hírhedt C++ FQA-t (most valamiért down).

teraflare

Quote from: Próféta on 2010-10-30, 15:39:56
de programozni X nyelven (meg úgy általában programozni) úgy fogsz megtanulni, ha csinálod, sokat.
:tezsvir: ezt eddig nekem senkinek sem sikerült elmagyarázni mivel 1 hónap után már profi akar lenni mindenki és ha nem megy akkor feladják.

Kvikveg

FQAba beleneztem... es lol.  :jee:
Hogy en mennyire gyulolom amikor van egy include, az includeolt fileban meg ket include, es iiigy tovaaabbb a vegtelensegig.  :zomg:
Aztan nyomozzam vissza, hogy mi a franc.  :falba:
WARNING: module "coffee.exe" did not run correctly. Brain running in limited mode.
Do not meddle in the affairs of dragons for you are crunchy and taste good with ketchup.

Próféta

Quote from: Kvikveg on 2010-10-30, 15:59:52
Aztan nyomozzam vissza, hogy mi a franc.  :falba:
IDE?

Normálisan egy F3 / Ctrl-klikk/ akármi egy osztálynévre / metódusra / változóra, és már ugrik is a definícióhoz / deklarációhoz húsz fájllal arrébb. Jobbaknál fordítva is megy, tehát ki tudja listázni, ezt a metódust ki mindenki használja.

chilip

magyarul buktam a tárgyat és gőzerővel kezdhetek már most tanulni C++-t :P bah! akkor legalább a többire rágyúrok addig.... az a vicces hogy volt egy C++ -ot tanító tárgy de az alapokat kihagyták belőle mert azt mindenki ismeri ugye...  :falba: :comp:

Kvikveg

Quote from: Próféta on 2010-10-30, 16:09:17
Quote from: Kvikveg on 2010-10-30, 15:59:52
Aztan nyomozzam vissza, hogy mi a franc.  :falba:
IDE?

Normálisan egy F3 / Ctrl-klikk/ akármi egy osztálynévre / metódusra / változóra, és már ugrik is a definícióhoz / deklarációhoz húsz fájllal arrébb. Jobbaknál fordítva is megy, tehát ki tudja listázni, ezt a metódust ki mindenki használja.
Hat ennel mar nem emlekszem mi volt, de igy nem ment. :)
WARNING: module "coffee.exe" did not run correctly. Brain running in limited mode.
Do not meddle in the affairs of dragons for you are crunchy and taste good with ketchup.

kikuchiyo

Feladat: felsorolni, hogy az alábbi programlészlet hányféleképpen szar.

[spoiler]# somebody kill me please
sub motherfuckingly_retarded_function_to_calculate_compound_percentage_for_max_avg {
my ($maxes, $ids, $ch, $typex) = @_;

# return the simple percentages if $ch is not a compound channel
# FUCK THIS I WASTED TWO HOURS FIGURING THIS OUT
# FUCK FUCK  FUCK AAARGH
return (
max_simple($maxes)**2/Z0/$limit{$ch},
average_simple($maxes)**2/Z0/$limit{$ch}
) unless $ch =~ /^tot/;

# we find the maximum ourselves, and we also find out its index in the array.
my $max = 0;
my $idx = 0;
my $max_idx = 0;
foreach (@$maxes) {
if ($max < $_) {
$max = $_;
$max_idx = $idx;
}
$idx++;
}
# the same index will point to the person in the ids array to whom the maximum belongs to.
my $that_id = $ids->[$max_idx];

# now to define which channels we are interested in:
my @ch_list = compound_channels_list($that_id, $ch);

# now that we know which id the maximum belongs to, we look it up among the cached_maxes
# to find which data point it actually was.
my $data_idx = $cached_maxes_idx{$that_id}{$typex}{$ch};

# then we can actually calculate what we want: percentages for compound channels.
my $percentage = 0;
foreach my $lch (@ch_list) {
$percentage += $frozen_data{$that_id}[$data_idx]{$lch}**2/Z0/$limit{$lch};
}
my $max_percentage = $percentage;

# finally, do this for every id we have, then average the percentages.
# this is probably the most retarded thing in this whole fucking mess.
my @percentages;
foreach my $this_id (@$ids) {

my @ch_list = compound_channels_list($this_id, $ch);

my $data_idx = $cached_maxes_idx{$this_id}{$typex}{$ch};
#print STDERR "*$ch", "@ch_list", "\t", $cached_maxes_idx{$this_id}{$typex}{$ch}, "\t";
my $percentage = 0;
foreach my $lch (@ch_list) {
$percentage += $frozen_data{$this_id}[$data_idx]{$lch}**2/Z0/$limit{$lch};
#print STDERR $frozen_data{$this_id}[$data_idx]{$lch}, "\t";
}
push @percentages, $percentage;
#local $, = "\t"; print STDERR $typex, $this_id, $percentage, "\n";
}

return $max_percentage, average_simple(\@percentages);
}


Megértem, ha ezután nem álltok velem többet szóba.[/spoiler]
Failure is the default option

Próféta

Quote from: kikuchiyo on 2010-11-04, 19:39:47
Feladat: felsorolni, hogy az alábbi programlészlet hányféleképpen szar.
Miután nem tudom, hogy milyen id-eket és egyéb freudi képződményeket mókol, elég esélytelen. De mégis nekiállok, hiába volt költői a kérdés.

1. A "max"-ok mindig szigorúan pozitívak és legalább egy van belőlük? Ha nem, lyukra fut a program.
2. Minek a $max_percentage-et előre kiszámolni, ha utána úgyis megteszed? Miért nem elég a percentages-ből utólag kikeresni?
3. id->max, id->percentage asszociatív tömbként egyszerűbb lenne?
4. a szerző szuicid, nem jósolok neki hosszú hátralévő életet; le kéne tisztességesen kommentáltatni vele a kódot, mielőtt an herótot kap
5. "now to define which channels we are interested in:" -> pontatlan szóhasználat, én nem vágom ebből hogy mi a compound_channels_list... kiszámolja, beolvassa vagy egyszerűen lookupolja a csatornák listáját?
6. Perlben készült :P

Az utolsót kicsit komolyabbra véve: erősen javaslom valami célszerszám alkalmazását inkább. Én a nyáron ismerkedtem meg az R nevű statisztikai programozási nyelvvel (ingyenes és GNU); nagy segítségemre volt ez a könyv és egy kis segédlet.

Namost az R nyelv is facepalm-pozitív. Eredendő bűne, hogy eredetileg nem programozók készítették, hanem programozni tanuló statisztikusok statisztikusoknak, aztán nagyon átgondolatlanul mindenféle rá lett toldozva-foldozva (ebben is, és az adatmodelljében is erősen emlékeztet a Matlabra, ha ez mond neked valamit). Például R-ben azt hiszem minden mátrix (vagy data frame vagy array vagy valami hasonló), legfeljebb egysoros (lista) és esetleg egyoszlopos is (közönséges érték). Aztán pure functional a nyelv (lásd Haskell, ML, stb.), tehát lambda-kalkulus van, és minden függvény állapot- és mellékhatásmentes. Végül - a tiszta funkcionális paradigmának majdhogynem antitéziseként - objektum-orientált. De ráadásul két teljesen különböző és teljesen inkompatibilis módon lehet objektumorientálni benne (R3 és R4 verziójú objektumok). Szóval úgy istenesen el van baszva, de legalább erre a célra lett elbaszva; szemben a Perl-lel, amely (hozzá nem értőként alkotott, megalapozatlan véleményem szerint) elsősorban regexpes stream-feldolgozásra lett elbaszva. Az öngyilkos függvényed szerintem talán ha úgy három sor lenne R-ben. Bár nyár óta elfelejetettem és már nem tudnám megírni, de load_csv egy sor, és utána alapvetően egy sokdimenziós adatsorból számolsz különböző tengelyek mentén maxokat meg összegeket, nem?

kikuchiyo

Váá, kösz, hogy foglalkoztál vele.
Amiket felhoztál (1-5-ig), nagyrészt igazak, de triviálisak a meta-elbaszásnak azon mélyebb szintjeihez képest, amelyek ebből a részletből nem is látszanak. A legsúlyosabb az, hogy amit számol, az elvileg sem jó (nincs értelme), de ezt kéri a megrendelő, nem lehetett lebeszélni róla. A kevésbé súlyos bajai ebből erednek, na meg arról, hogy egy hasonlóan elbaszott, de többezer soros foshalomra lett tűzoltás-jelleggel ráhegesztve. Számítsd magad a szerencsés emberek közé, hogy csak ennyit láttál belőle (bár azért vannak részei, amik egész értelmesnek indultak).

A hatodikra érdemes részletesebben is válaszolnom.

Egyrészt ne báncsad a Perlt, mert jóaz. Azonfelül hogy kedvelem a nyelvet (már amennyire egy programozási nyelvet lehet kedvelni), azért használom, mert ez áll leginkább kézre, ebben van gyakorlatom (woe is me). Ezenfelül azért is volt kézenfekvő erre a feladatra használni, mert az adatokat, amiket buzerál, egy szintén Perl-alapú rendszer kezeli-tárolja-korruptálja, így nem kell szerializálni meg flat fájlba kiírni, továbbá a fő feladat nem is a statisztika, hanem a táblázatgyártás Latex, CSV és excel formátumba, amit kellően rugalmasan nehéz lett volna bármi másban megírni.

Az R-et egyébként ismerem, legalábbis futólag - ehhez a projekthez használom is. De ahhoz nem értek hozzá eléggé, hogy az egészet abban írjam.

Amennyire ismerem, az alapján nekem praktikus és erős nyelvnek tűnik.

Quote from: Próféta on 2010-11-05, 00:03:13
szemben a Perl-lel, amely (hozzá nem értőként alkotott, megalapozatlan véleményem szerint) elsősorban regexpes stream-feldolgozásra lett elbaszva.

A sed-del kevered, nem? :P
Komolyabban: igen, a Perl tényleg egyfajta awk++-nak indult 1.0 korában, és bizonyos részei még ma is utalnak erre az eredetre. De hiba volna azt hinni, hogy a mai Perl még mindig itt tart. Igenis lehet benne hatékony és karbantartható módon kompakt és modern szemléletű (akár ojjettum-orientált) kódot írni - a fenti állatorvosi ló nem feltétlenül a nyelvet minősíti.
Failure is the default option

Próféta

Quote from: kikuchiyo on 2010-11-05, 00:50:41
Komolyabban: igen, a Perl tényleg egyfajta awk++-nak indult 1.0 korában, és bizonyos részei még ma is utalnak erre az eredetre. De hiba volna azt hinni, hogy a mai Perl még mindig itt tart. Igenis lehet benne hatékony és karbantartható módon kompakt és modern szemléletű (akár ojjettum-orientált) kódot írni - a fenti állatorvosi ló nem feltétlenül a nyelvet minősíti.
:hai:

TurboK

Hogyan lehet javascriptben olyan tagot kiválasztani, aminek van x attribútuma? Valami ilyesmi hogy
images = document.getElementsByTagName("img") && getAttribute("md5");
(&& getAttribute("md5") az az amit én képzelek oda)

Olyasmivel próbálkozom, hogy utólag szűkítem le a találatokat, valahogy úgy, hogy,

for(i=0; i<images.length; i++ )if (images[i].getAttribute("md5")) {..., de, itt hogyan töltök fel egy pl. imagessorted tömböt a leszűkitett tartalommal? ...}
Nincs javascriptben valami olyasmi mint a phpben a $array[] ?

Jó lovag, velünk tartasz-e Camelotba a kerekasztal lovagjai közé?

http://www.saunalahti.fi/cse/foobar2000.php target=_blank>http://web.axelero.hu/fka2636/dwnld_fb2k.png>

Puru²

először:


var images=document.getElemtsBytagName("img");

for(var i=0;i<images.lenght;i++){
var attrib=images[i].getAttribute("md5");
}


másodszor :tömböt létrehozni a "new array"-al tudsz ,utána új elemet hozzáadni a push() metódussal ,sorba rendezni a sort()-al tudod
valahogy így:
Quote
var tmb=new array();
tmb.push("valami");
tmb.sort();

protip: használd mindig a var kulcsszót amikor változót deklarálsz különben automatikusan globálissá válik ami sok hiba forrása lehet.




TurboK

Quote from: Puru² on 2010-12-04, 13:55:42
először:


var images=document.getElemtsBytagName("img");

for(var i=0;i<images.lenght;i++){
var attrib=images[i].getAttribute("md5");
}


Ez így az attrib-ba beleírja az md5 attributum értékét.

Jó lovag, velünk tartasz-e Camelotba a kerekasztal lovagjai közé?

http://www.saunalahti.fi/cse/foobar2000.php target=_blank>http://web.axelero.hu/fka2636/dwnld_fb2k.png>

Próféta


TurboK

#324
A problémát megoldottam, most már csak annyi gond van hogy Internet Explorer quirks módos böngészésben nem működik az hogy
href="javascript:void();" onClick="javascript:expandImg(getAttribute('id'));"

Funkciót meghívni lehet, de getAttribute('id')-t nem lehet neki megadni...
"standard" módos böngészésben persze működik, de sajnos ezt nem tudom átírni, és nem is látok arra módot hogy külső plugin/script más módba váltson egy-egy oldalt.

edit: kiírtam változóba az értéket, így működik.

Jó lovag, velünk tartasz-e Camelotba a kerekasztal lovagjai közé?

http://www.saunalahti.fi/cse/foobar2000.php target=_blank>http://web.axelero.hu/fka2636/dwnld_fb2k.png>

motifator

Quote from: Próféta on 2010-12-04, 23:35:28
Quote from: TurboK on 2010-12-04, 02:07:57
Hogyan lehet javascriptben
http://en.wikipedia.org/wiki/Jquery

Asszem. Igazából nem használtam, de tudtommal erre jó.
+1000000000000000000
Használjatok jQuery-t. Komolyan. Nagyon hamar meg lehet tanulni, és utána bánni fogjátok, hogy valaha is szenvedtetek alap javascripttel.
http://docs.jquery.com/Tutorials:Getting_Started_with_jQuery
Ezt a tutorialt max egy óra alatt végig lehet nyomni, főleg, hogy néhány részt át is lehet benne ugrani. Ennyi időt tényleg érdemes rászánni, örökre meg fogja változtatni a hozzáállásotokat a javascripthez. Consequences - and javascript development - will never be the same :)

Ja, és használjatok hozzá firebugot. Van valami firequery is, ami valami firebug kiegészítés kifejezetten jQueryhez, de ezt még nem próbáltam.
Nothing amazing happens here, and you get used to that: used to a world where everything is ordinary.
Every day we spend here is like a whole lifetime of dying slowly.

chilip

#326
lenne C++ -os kérdésem

akarnék én egy láncolt listát, amiben az elemek értékei pointerek. ezek a pointerek 2 típusú adatra mutathatnak rá: egyik tartalmaz 2 integer típusú adatot és 1 double-t, a másik 2 int-et és 2 double-t.

alázást most nem kérnék, hanem csak ötleteket a megvalósításra :D

eddig így nézett ki vázlatosan:
[spoiler]
class egyeske {

public:
egyeske(int value);
egyeske(int x, int y, double z);
~egyeske();
egyeske *next;
egyeske *prev;

private:
int val;
int typee;
                double sizee;
friend class LinkList;
};

class ketteske {

public:
ketteske(int value);
ketteske(int x, int y, double old_a, double old_b);
~ketteske();
ketteske *next;
ketteske *prev;

private:
int val;
int typee;
                double oldal_a;
                double oldal_b;
friend class LinkList;
};

class LinkList {

private:

        first  **********
        last  **********

public:

LinkList();
~LinkList();

void blablabla
};
[/spoiler]
problémám a linklistben van a sok *-nál mert a first és last -nál meg kell mondjam mik ők, míg ugye lehetnek egyeskék és ketteskék is :D lehet valamit jól elnézek a kezdő kis tudásommal, ötleteket, tippeket, segítséget örömmel fogadok :)

kikuchiyo

Quote from: chilip on 2010-12-13, 16:26:28
alázást most nem kérnék, hanem csak ötleteket a megvalósításra :D

Milyen változónevek ezek már?! stb.

Az nem játszik, hogy definiálsz egy lancszem osztályt, ami a lista egy általános elemét valósítja meg, tehát tartalmazza a linket az előző és következő elemre, és ebből származtatod az egyeskét és ketteskét?
Failure is the default option

chilip

és hogy? :D nem kell megadni még pointernél is hogy konkrétan mire mutat?  :confused:


int *p;   => csak integerre mutathat
egyeske *p;    => csak az egyeske class típusú valamire mutathat

vagy van valami trükk amivel meg lehet ezt kerülni? biztos van, csak tudásom eléggé hagy maga után kívánni valót. ha meg tudnám ezt így csinálni, kécc is lennék...

kikuchiyo

Elkezdtem valamit pötyögni, de mivel se gondolkodni nincs most kedvem, se Próféta alázása alá nincs kedvem beállni, ezért rákerestem a megfelelő kulcsszavakra:

http://boards.straightdope.com/sdmb/archive/index.php/t-217547.html
Failure is the default option