- iPhone topik
- Vodafone mobilszolgáltatások
- Telekom mobilszolgáltatások
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Eleglide C1 - a középérték
- Milyen okostelefont vegyek?
- Android szakmai topik
- DIGI Mobil
- Android alkalmazások - szoftver kibeszélő topik
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
Hirdetés
-
Premier előzetest kapott a V Rising
gp Napokon belül befut a teljes PC-s kiadás, az év során pedig megkapjuk a PlayStation 5 változatot.
-
Két Zen 5-ös dizájnjának mintáit is szállítja már az AMD
ph A szerverpiacra szánt Turin platform, illetve a mobil szintre nevező Strix Point érhető el a főbb partnerek számára.
-
Az üzleti chatbot lehet az új fejőstehén
it Üzleti chatbotot indított az Anthropic, azt reméli, hogy sok pénz folyik majd be a cégektől.
-
Mobilarena
Új hozzászólás Aktív témák
-
ALFA
senior tag
válasz PumpkinSeed #11236 üzenetére
A lényeg a bélyeg.
Számukra a C# kizárólag a fizetős VS-hez van kötve, más nem létezik a számukra.
Talán egy nagy tanácsadó cég lehet hatalmas bevételekkel, miközben csak VS liszenszre van pénz...
Amit ma megtehetsz - miért nem tetted meg tegnap?
-
martonx
veterán
-
Ezer éve nem foglalkoztam C++-szal, most szeretném felhozni magam, de a legegyszerűbb dolgok sem működnek. A kétezres évek elején ragadtam..
Meg tudná valaki légyszi mondani, hogy a konkrét kódban mi a hiba?
vector<vector<int>> struktúrát szeretnék létrehozni, és soronként inicializálni.
-a bemenet első sora megadja, hogy a vector<vector<int>> struktúra hány sorból álljon, ezt az aN változóban tárolom.
-a bemenet következő soraaian első eleme egy-egy integer, ami megmondja, hogy az adott sorban tárolt vector<int> struktúra hány elemet fog majd tartalmazni. A további elemek pedig a sorban tárolt vector<int>-nek az egyes egész számai.int main() {
int aN = -1;
cin >> aN ; //vektor sorainak száma
string line; // soronként olvasom és parsolom a bemenetet
int temp;
vector<vector<int>> a;
a.resize(aN); // foglalok aN darab sort. Nem tudom mit használ default értékként feltöltésre
for (int i = 0; i != aN; ++i) {
getline(cin, line); //adatok beolvasása soronként
istringstream s(line);
s >> temp; //a sor első eleme megmondja, hány elemű lesz a sorban tárolt vector<int>
a[i].reserve(temp);
while (s >> temp) { //parsoljuk a beolvasott sort, minden integert beleírunk a sor végére
a[i].push_back(temp);
}
}
return 0;
}[ Szerkesztve ]
-
opr
veterán
válasz joysefke #11255 üzenetére
A vektor eseten nem kell ilyesmivel (elore megadott meret) szorakozni, csak ha nagyon szeretnel.
A kodod igy egyszeruen:
Megcsinalod a vektor strukturat, kezded az elso "sorral", feltoltod, aztan hozzaadod a kovetkezot (siman push_back-el), es igy tovabb, es kesz vagy. Vagy, ha ugy jobb, akkor foditva, elobb hozzaadsz annyi ures vector<int>-et, amennyi kell, aztan meg ezeken mesz vegig, es feltoltod oket.Mocsokmod faradt vagyok, ha nem lehet erteni amit irok, vagy valamit erosen benezek, elnezest, szoljatok ram es javitom ha meg tudom.
[ Szerkesztve ]
"Programozó vagyok. Ez azt jelenti, hogy amit leírok, megtörténik." :D “The only valid measurement of code quality is What-The-F**ks/Minute.” - Robert Martin
-
ez mind szép és jó, de fenti kódban hol a hiba?
Most arra tippelek, hogy az
a.resize(aN);
-nel így önmagában nem tud mit kezdeni, mert
em tudja mivel kellene feltölteni. Szóval most megcsinálom, hogy
a, belepush_back()
-elek egy üresvector<int>
-et és azt töltögetem egyenként vagy
b, feltöltök egy teljesvector<int>
-et és aztpush_back
-elem egészben avector<vector<int>>
-be -
opr
veterán
válasz joysefke #11257 üzenetére
Akkor mashogy mondom: ha a kodod tele van felesleges dolgokkal, akkor ne allj neki debuggolni, hanem dobd ki ami nem kell a francba, es az igy keletkezo, sokkal egyszerubb es atlathatobb kodot nezd meg, hogy mukodik-e (nagy ra az esely, hogy igen). Ha nem, akkor ezt mar erdemes nekiallni debuggolni, meg hibat keresni, meg stb. Amig a kod nem letisztult, es felesleges dolgok vannak benne, addig hulyeseg nekiesni, hogy kijavitjuk, csak a sajat idegrendszered es idod fog ramenni.
Ilyen alapon (nameg hogy nem irtad le, hogy megis mi a hiba) adtam a tanacsot, hogy hogy modositsd, aztan ha a hiba tovabbra is fennall az egyszerubb kodban is, megnezzuk mit tehetunk.[ Szerkesztve ]
"Programozó vagyok. Ez azt jelenti, hogy amit leírok, megtörténik." :D “The only valid measurement of code quality is What-The-F**ks/Minute.” - Robert Martin
-
válasz dabadab #11258 üzenetére
Ok, az alábbi kód tesztelve és, működik.
Két hiba volt:
(1)
első (ocsmány) hiba:
az első sort beolvasócin >> aN >> reads;
összeakad a második (és utána következő aN) sort beolvasó:getline(cin, line);
istringstream s(line);kóddal. A
getline(cin, string line)
valamiért az első, acin >> aN >> reads
által olvasott sort is olvassa, pedig csak a másodiktól kellene olvasnia. Elimináltam ez egész kódból a cin-t, és mindent soronként olvasok és parsolok, így működik.(2)
A vector<vector<int>> struktúrát (nyilván) rosszul inicializáltam. Most deklaráltam két változót:vector<vector<int>> a;
vector<int> b;A
b
-t inicializálom, feltöltöm és belea.push_back(b)
aza
-ba.Tudom, hogy ez favágó programozás, mert biztos vagyok benne, hogy az a.push_back(b) az egy felesleges (kikerülhető) másolás, illetve a
while (s >> temp) {
b.push_back(temp);
}kódrészlet sem optimális, mivel nem használom ki, hogy ismerem a b-vektor hosszát, ezért felesleges resize műveleteket fog csinálni a kód runtime-ban...
szerk: beleraktam egyb.reserve(temp)
-et, ez feltételezem kiküszöböli a runtime resize-olást...int main() {
int aN = -1;
int reads = -1;
string line;
int temp;
int r, c;
getline(cin, line);
istringstream s(line);
s >> aN;
s >> reads;
vector<vector<int>> a;
vector<int> b;
for (int i = 0; i != aN; ++i) {
getline(cin, line);
istringstream s(line);
s >> temp;
b.clear();
while (s >> temp) {
b.push_back(temp);
}
a.push_back(b);
}
for (int i = 0; i != reads; ++i) {
cin >> r >> c;
cout << a[r][c] << endl;
}
return 0;
}[ Szerkesztve ]
-
1000 éve programoztam C++-ban (meg úgy egyébként) és most a C++ még nagyobb ocsmányságnak tűnik mint anno
Nyilván az én sutaságom a fő oka, de akkor is, nem egy barátságos valami... -
choco01
addikt
Hali.
Olvastam többször már hogy teljesen totál kezdésnek, csak az alapok megértésére érdemes olvasni a Kaczur és Angster könyveket.. ez továbbra is igaz? Ha minden jól megy szeptemberben kezdek mérnökinfón, és gondoltam lehet jól jönne csinálni előtte valami hasznosat..
Applikáció fejlesztés, weboldal készítés, SEO, Online marketing » https://petadev.com
-
dabadab
titán
válasz joysefke #11257 üzenetére
"Most arra tippelek, hogy az a.resize(aN);-nel így önmagában nem tud mit kezdeni, mert nem tudja mivel kellene feltölteni."
Van default constructora a vector<int>-nek, szóval ez nem gond. Mondjuk az egész resize tök felesleges, de ahogy érzed (A [] operátor maga is megcsinálja az új elemet, ha még nem létező elemre hivatkozol)
DRM is theft
-
-
dabadab
titán
"Az utolsó sorban található get metódusnál miért van szükség egy új objektum létrehozására, amikor egy már létező objektumot szeretnék lekérni?"
Ugye az utolsó sorban egy keresés történik, ahol megadod a keresőkulcsot, ami történetesen egy komplex típus - márpedig egy komplex típust csak úgy tudsz megadni, ha azt valahol létrehozod
Ha nem egy Person() objektum lenne a map kulcsa, hanem valami primitív típus, pl. egy sima int, akkor nem kellene létrehozni semmit, bedobhatnád azt, hogy "2" és menne, de mivel egy objektum az, ezért azt az objektumok létre kell hozni.
DRM is theft
-
Lortech
addikt
válasz dabadab #11266 üzenetére
Noha a válaszod alapvetően jó, a példa szerintem többről szól.
A getnél (13) használt Person objektum "ugyanaz" mint a putnál (9) használt, és pont azt szemlélteti szerintem a példa, hogy mi van akkor, ha új, de "megegyező" kulcs példány alapján akarod elkérni a korábban tárolt elemet. Visszaadja-e, vagy sem.
Azért a két idézőjel, mert a Mapben keresés szempontjából a két példány akkor egyezik meg, ha Person típus equals metódusa alapján megegyezik. Tehát egy megfelelő equals implementációval a (13) visszaadja a (9)-ben elhelyezett értéket, noha a két kulcs különböző referencia.
Még az eredeti kérdésre: természetesen nem kell létrehozni a (13)-ban egy új Person példányt, újra lehetne használni a (9-ben) létrehozottat minden további nélkül, és ugyanazt az eredményt kapnánk (kivéve, ha nem vagy nem jól override-oljuk az equalst). Hogy mégsem így van a példában, annak szerintem a fenti eset szemléltetése az oka, vagy nem.Thank you to god for making me an atheist
-
Okean
tag
Lortech, dabadab: Köszönöm a kimerítő válaszokat. Végül csak sikerült megértenem.
-
válasz dabadab #11263 üzenetére
Közben megnéztem mi a
cin >> akármi;
getline(str);összeakadás oka, ha egymás után (ebben a sorrendben) olvasnak a bemenetről:
acin
figyelmen kívül hagyja az újsor karaktert és nem veszi el a bemenetről. Ha a getline(str) ezután olvas, akkor nem a következő sorból olvas, hanem az egy szem újsor karaktert fogyasztja el és leáll.J.
-
pvt.peter
őstag
Sziasztok,
A kontravariancia lényegét eltudná vki magyarázni érthető módon?
A kovariancia teljesen érthető számomra, de a kontravariancia vmiért nem akar összeállni.
Jelenleg teljesen értelmetlen számomra.[ Szerkesztve ]
Ez egy .50-es rombolópuska, elég szép visszarúgással.
-
bambano
titán
válasz pvt.peter #11272 üzenetére
fáradj át a matematika topicba.
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
pvt.peter
őstag
válasz bambano #11276 üzenetére
Értem én, viszont nekem programozásba átültetve kellene megértenem ezt a témát.
Matekos oldalról világos, hogy pl. amikor projekcióval reprezentáljuk a ko/kontravarianciát akkor mi micsoda rendezés, illetve halmazok tekintetében.
Azt nem értem, hogy programozásba miért kellett belekeverni a kontravarianciát.
Ahogy említettem, a kovariancia világos és szükséges is, de a másik kis testvére nem igazán akar átjönni nekemEz egy .50-es rombolópuska, elég szép visszarúgással.
-
leviske
veterán
Sziasztok!
Ütközött már más is gondba azzal, hogy a VS-ba cmake segítségével kellett volna projektet varázsolnia? Ezt szeretném beerőszakolni, de az értelmi képességeimet meghaladja a dolog.
-
opr
veterán
válasz leviske #11278 üzenetére
A leiras alapjan nem egy veszes dolog. Feldobod a cmake-et, ha magatol nem csinalja meg, a futtathatot berakod a path-ba, aztan nyitsz egy cmd-t, odanavigalsz az adott konyvtarba, kiadod az adott parancsot es kesz.
Ha ezt megcsinaltad, es megse jo, ird le mi a konkret gond/hiba, aztan ha az az info nem eleg, ha lesz idom ranezek komolyabban, de ezt nem tudom mara igerni.Egyebkent igen, cmake az tud szivas lenni...
"Programozó vagyok. Ez azt jelenti, hogy amit leírok, megtörténik." :D “The only valid measurement of code quality is What-The-F**ks/Minute.” - Robert Martin
-
disy68
aktív tag
válasz pvt.peter #11281 üzenetére
Ezt nézted már?
"Within the type system of a programming language, a typing rule or a type constructor is:
covariant if it preserves the ordering of types (≤), which orders types from more specific to more generic;
contravariant if it reverses this ordering;
bivariant if both of these apply (i.e., both I<A> ≤ I<B> and I<B> ≤ I<A> at the same time);
invariant or nonvariant if neither of these applies.The article considers how this applies to some common type constructors."
“Yeah, well, you know, that’s just, like, your opinion, man.” — The Dude
-
pvt.peter
őstag
válasz disy68 #11282 üzenetére
Szia,
Értem, hogy megfordítja, csak az értelmét nem látom.
Miért jó a kontravariancia?
Miért jó az, hogy egy származtatott
Derived
osztályoverride
-oltput
metódusának azObject
típusú paramétere az őse aBase
ősosztályput
metódusának azAnimal
típusú paraméternek?
Elég kacinfántos így leírva, de az alábbi kód szemlélteti, hogy mire gondolok.public class Base
{
pulic virtual void put(Animal animal)
{
}
}
public class Derived : Base
{
public override void put(Object object)
{
}
}Hol lehet ezt használni? (valós példán keresztül)
[ Szerkesztve ]
Ez egy .50-es rombolópuska, elég szép visszarúgással.
-
disy68
aktív tag
válasz pvt.peter #11283 üzenetére
Ha a SOLID elveket betartva írsz kódot, fel se fog merülni ez, hiszen sérti a Liskov Substitution Principle-t - ezt írja a wiki cikk is. Sok nyelv nem is támogatja a kontravarianciát. Én úgy gondolom, hogy nincs is erre jó gyakorlati példa, maximum tervezési hiba miatt fordulna elő, hogy használja az ember
“Yeah, well, you know, that’s just, like, your opinion, man.” — The Dude
-
nagyúr
Sziasztok! El tudná nekem valaki magyarázni mi is pontosan a "maszkolt input", akár egy gyors példán keresztül? C#-ban kéne példát mutatnom rá.
-
martonx
veterán
válasz tboy93 #11285 üzenetére
Maszkolt input, amikor vakon írod be az inputba a szöveget, de az egy bizonyos formátummal jelenik meg, pl. jó példa erre a bankkártya szám, ahol XXXXXXXX-XXXXXXXX-XXXXXXXX ahol neked csak azt a 24 számot kell beírnod a kötőjeleket oda teszi a maszk.
Vagy másik eset, amikor a passwordöt írod be, de csak ******* jelenik meg a képernyőn, nem pedig a ténylegesen bírt szöveg, miközben az inputban a ténylegesen beírt szöveg található.Én kérek elnézést!
-
dabadab
titán
válasz tboy93 #11285 üzenetére
Illetve a maszkoláshoz tartozik az, hogy a beírható karaketereket is lehet korlátozni, pl. hogy a fenti példában a bankkártyaszámnál csak számokat lehessen beírni, betűket ne.
Illetve ha C# kell, akkor errefele nézelődj: MaskedTextBox.Mask property
[ Szerkesztve ]
DRM is theft
-
nagyúr
köszönöm szépen
-
Vesporigo
aktív tag
Mit gondoltok pl. a Ruander vagy a Soterline "Programozás alapjai" tanfolyamokról?
Megéri befizetni rájuk? Milyen egyéb helyekről tudnám még összeszedni az alapokat a Java programozás elkezdéséhez? (Mindenhol azt írják, hogy ezek az alapok kellenek egy ilyen tanfolyamhoz.) Agyhullám Java pl. tartalmazza ezen tanfolyamok anyagát?Előre is köszi!
-
Prosectura2
tag
Sziasztok.
Bash programozással ismerkedek, találkoztam egy ilyen példával:
Előfordulhat, hogy egy változó hosszára vagyunk kíváncsiak. Erre megfelelő a wc program használata, amely vissza adja, hogy a bemenetére érkező adat hány sorból, szóból és karakterből áll.
$ nev="Kovács Gáspár"
$ hosz=`echo $nev | wc -c`
$ echo "$nev neve $hosz karakterből áll a szóközzel együtt."
Kovács Gáspár neve 14 karakterből áll a szóközzel együtt.Sajnos nekem nem sikerül, nem működik az, hogy hosz változó a kívánt értéket vegye fel. Ha kiíratom a hosz értékét, az kapom, hogy
echo $nev | wc -c
. Mivel ez egy régebbi útmutató/példatár, gondolom azóta frissült a bash és már másképp működik. Miért nem hajtja végre a műveletet, és mit kell tennem, hogy jó legyen?Köszönöm
-
Prosectura2
tag
válasz Prosectura2 #11291 üzenetére
Megoldódott, egy oldallal később kitért rá, hogy a ` karaktert kell használni, nem a ' karaktert. Szupi.
-
bambano
titán
válasz Prosectura2 #11291 üzenetére
a bash programozásnak van saját topicja.
a kérdés, hogy a hosz= kezdetű sorban az aposztrófok helyére mit írtál. ha sima aposztrófot, akkor az a hiba, ha fordított aposztrófot, akkor máshol.
de ez a fajta processz behelyettesítés elavult, mert nem egyszerű egymásba ágyazni. helyette a $( parancs ) forma javasolt.
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
dabadab
titán
válasz Prosectura2 #11291 üzenetére
Egyébként bashben külső programokat hívni viszonylag lassú, főleg, hogy van saját beépített függvénye:
$ echo "$nev neve ${#nev} karakterből áll a szóközzel együtt."
Kovács Gáspár neve 13 karakterből áll a szóközzel együtt.Bónuszként még az eredmény is jó, mert nálad a wc beleszámolta azt a sorvége karaktert is, amit az echo rakott a név végére, de persze azt is ki lehetne javítani:
$ hosz=`echo -n $nev | wc -c`
[ Szerkesztve ]
DRM is theft
-
veterán
Sziasztok!
Közgazdász vagyok, pénzügyes, jelenleg termékmenedzserként dolgozom, úgyhogy a programozáshoz semmi közöm az ég egy adta világon.
Mivel kaptam a cégtől munkára egy ipad-et, ezért letöltöttem a Swift playground-ot, és azzal szórakozom. Lassan az első fejezet végére jutok.A kérdésem annyi lenne, hogy ez tényleg tanít programozni, vagy csak nagyon egy szűk szegmensre világít rá, valamint a logikát fejleszti? Ergo ha megcsinálom mind a három fő fejezetet fogok tudni valami alapszíntű ios programot összetákolni, vagy ez csak az ígéret?
Köszi
Addig gyorsítottuk a világot míg mi magunk maradtunk le...
-
sepsi0
őstag
Sziasztok!
Off, de nincs jobb ötletem, remélem nem tíltott. Nem láttam erre utalást az összefoglalóban. Ha tíltott, akkor töröljétek és elnézést.
A lényeg...
Van itt olyan aki ért a pytonhoz és tudna addont készíteni a Kodihoz?
Ha igen akkor megkereshetne privátban.
Köszönöm![ Szerkesztve ]
-
disy68
aktív tag
válasz sepsi0 #11297 üzenetére
Szerintem itt érdeklődj inkább: https://itcafe.hu/tema/kodi_xbmc_kiegeszito_magyar_nyelvu_online_filmekhe/friss.html
“Yeah, well, you know, that’s just, like, your opinion, man.” — The Dude
-
sepsi0
őstag
válasz disy68 #11298 üzenetére
Szia!
Köszönöm, ismerem innen jövök. Használom azokat az addonokat, de kellene egy programozó aki a "közösségnek" készít egy ujjabb "céladdont".
Nem saját részre lenne a felkérés és mindenkinek megérte volna.
Sajnos én nem programozom és az ismeretségi körömben nincs aki ilyen nyelven írna. Mivel foglalkoztat a programozás (most már, amikor lehetett volna akkor nem), így találtam ezt a topikot és olvasgattam, de most kapóra jött, mert más ötletem már nincs, akihez fordulhatnék/nánk.
Azért köszönöm! -
repvez
addikt
Ahhoz valaki tudna segítséget adni, hogy azt hogy lehet megtanulni, hogy mikor mit kell használni a kívánt cél eléréséhez?
Tudom ez elég hülyén hangzik , mert lényegében nincs mindenre konkrét megoldás, de úgy értem, hogy hiába értem, hogy a bizonyos parancsok milyen szintaktika alapján működnek, ha nem tudom, hogy a kívánt megoldáshoz azt a parancsot kell használni.Tehát hiába tudom, hogy a for ciklus hogy néz ki ha nem tudom, hogy mikor célszerű használni .Vagy honnan tudom, hogy egy problémára nincs e egyszerűbb eljárás annál mint amit én elgondoltam, tehát, hogy ne kelljen újra feltalálnom a spanyol viaszt.
Mert egy egyszerű példánál maradva ,mondjuk egy kamatos kamatra kiadott hitel törlesztés számolásnál hiába tudom, hogy hogyan kell kiszámolni papíron , de nem tudom ,hogy mondjuk c++ ban egy programban mit kell használni hozzá.
Mintha egy kocsi szerelésnél tudnám, hogyan kell kiszedni a gyertyákat, de nem tudom, hogy a kombinált fogót vagy a villáskulcsot használjam hozzá.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Milyen TV-t vegyek?
- Gördeszka topic
- Az NVIDIA szerint a partnereik prémium AI PC-ket kínálnak
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Xbox Series X|S
- Anglia - élmények, tapasztalatok
- Konzolokról KULTURÁLT módon
- BestBuy ruhás topik
- Milyen billentyűzetet vegyek?
- 3D nyomtatás
- További aktív témák...