- Hobby elektronika
- AMD Radeon™ RX 470 / 480 és RX 570 / 580 / 590
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- Nem gyárt több LCD tévépanelt a Sharp
- OLED TV topic
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Computex 2024: ProArt notebookok és tabletek
- Milyen notebookot vegyek?
- Computex 2024: perifériák az ASUS ROG fémjelzésével
- Milyen egeret válasszak?
Hirdetés
-
AMD Radeon undervolt/overclock
lo Minden egy hideg, téli estén kezdődött, mikor rájöttem, hogy már kicsit kevés az RTX2060...
-
Like a Dragon: Yakuza - Élőszereplős sorozat jön Amazonra
gp A premierre nem is kell sokat várni, már ősszel láthatjuk a végeredményt.
-
Hódít az AI, közben a Microsoft emberek százait küldi el a felhős részlegétől
it Folyamatosak a dollármilliárdos befektetések a felhő, az adatközpontok és az AI kapcsán, de a Business Insider jelentése szerint eközben emberek százait küldik el a Microsoft felhős ágazatától.
Új hozzászólás Aktív témák
-
Karma
félisten
Én azért megnézném, hogy nem lehet-e Debian csomagokat telepíteni a rendszerre (van-e pl. apt-get). Megkönnyítené az strace felhergelését Vagy itt van egy csomag, amit a dpkg -i felrak, ha az van.
Másrészről szerintem a Zipit Z2 topikja jobban megfelelne ennek a témakörnek.
“All nothings are not equal.”
-
Karma
félisten
Szép. Ezek szerint az összes ezelőtti ioctl hívás is sikertelen, csak mivel gány a kód, semmilyen hibakezelés nincs hozzá.
Ki tudnád menteni az egész strace-t egy fájlba? Pl. strace valami > strace.log, ezt a fájlt meg felnyomni dropboxra? Akkor látszana az eleje is, hogy miért nem jó a file descriptor.
Gyanús, hogy az uinput nem ott van, mint ahol számítana rá.
“All nothings are not equal.”
-
Karma
félisten
Ennyi:
open("/dev/input/uinput", O_WRONLY) = -1 ENOENT (No such file or directory)Na most két lehetőség van. Vagy a /dev/uinput alatt van ez a device (és létrehozhatsz egy symlinket a ln -s /dev/uinput /dev/input/uinput paranccsal a kívánt helyre), vagy nincs is uinput a rendszeredben...
Utóbbi esetben a modprobe uinput megérhet egy próbát, de ha nem, akkor kernelt kéne forgatnod, ami a jelen felállásban szerintem halott ügy.
“All nothings are not equal.”
-
Karma
félisten
Mint adja magát a szignatúrából, ez a függvény kiad egy n-elemű tömböt valami channelhandle-ökről, külön a hosszt és külön egy pointert az új (és majd utána általad letörlendő!) tömbről. Jester01 abszolút jól írta a meghívását, csak gondoltam kiegészítem
Ilyen paramétert akkor szokás használni, ha a függvény fogja létrehozni azt a tömböt, ami a lekérdezés eredményét tárolja. Te csak adsz neki egy helyet, ahova a kezdőelem pointerét elteheti.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz shinodas #3389 üzenetére
Mert az == operátor az egyenlőség(-tesztelő) operátor, neked meg az = kéne, ami az értékadás.
Másrészt ha 145-ig futtatod a ciklust, frankón túlindexeled a tömböt. (0-143 a tömb lehetséges indexei).
Az ubuntus hibát passzolom.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz shinodas #3397 üzenetére
Linux alatt régóta nem dolgoztam IDE-vel (mindent letudtam vimmel, GCC-vel és ha nagyon muszáj ddd-vel), úgyhogy konkrét értelmesebbet nem tudok mondani. Anno a KDevelop tetszett, meg van az Anjuta nevű GNOME-os cucc.
Alternatíva lehetne a Qt Creator vagy a NetBenas, de azok ugyanúgy bugosak mint a C::B... Az Eclipse-szel nem tudom mi a helyzet.
kispx: Ezt ugye viccből írtad?
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz PumpkinSeed #3404 üzenetére
Csinálj egy batch fájlt, és írd bele, hogy taskkill /F /IM explorer.exe.
Ehhez nem kell C program...“All nothings are not equal.”
-
Karma
félisten
válasz eriktoth #3410 üzenetére
Hmmm.
Akkor van egy fix for ciklusod, amit pl. 0..4 helyett 4..0 irányban akarsz járatni?Mert az egyszerű:
int i;
for (i = 4; i >= 0; ++i)
{
// valami
}Ha viszont nem erről van szó, a változó tetszőleges értékeket vesz fel, nem nagyon tehetsz mást, mint hogy egy tömbbe összegyűjtöd az értékeket; vagy azonnal rendezett beszúrással, vagy utólagos rendezéssel.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz eriktoth #3412 üzenetére
Nos, gondolatban arra jutottam, hogy csinálj egy MAXCHAR hosszú indextömböt (sima int tömb, amit 0-től MAXCHAR-1-ig feltöltesz számokkal), és ezt rendezd buborékrendezéssel úgy, hogy összehasonlítási alapnak a CharCounter megfelelő értékét használod.
Azaz kicsit formálisabban:
index[i] <= index[j] akkor és csak akkor igaz, ha
CharCounter[index[i]] <= CharCounter[index[j]].[ Szerkesztve ]
“All nothings are not equal.”
-
-
Karma
félisten
válasz Ndrew8647 #3563 üzenetére
Ezt a Gaussian_input.gjf-t igazán felnyomhatnád pastebinre, csak hogy más is lássa, mi lenne a feladat.
De látatlanban is valószínű, hogy kell:
1) egy fájl végéig soronként olvasás (ez változhat ha megosztod a fájlt velünk!)
2) a beolvasott sor/rekord feldolgozása (X, Y, Z koordináták kinyerése)
3) kiírás CSV-ben, ami annyit tesz, hogy vesszővel elválasztva kiírod a három számot és nyomsz egy újsort, tök egyszerű.“All nothings are not equal.”
-
Karma
félisten
válasz Peter Kiss #3567 üzenetére
Azt nem mondtam, hogy meg fogom oldani helyette a feladatot
Viszont nézegetve egy kis leírást a Gaussianról úgy tűnik, hogy a feladat kicsit pontosabban így alakul:
1) Soronként be kell olvasni a fájlt.
2) A sorok között megkeresni a koordináták kezdetét, ami gyakorlatilag elszámolás a hetedik sorig (1. chkfile, 2. routing, 3. üres sor, 4. title, 5. üres sor, 6. charge+multiplicity).
3) Végül nem is kell sokat gondolkodni, csak eldobálni a szóközöket. Az elején át kell lépni a sallangot, utána a nevet kimásolni (ameddig nem jön szóköz), kiírni egy vesszőt, szóközöket átlépni, számot kiírni ugyanígy szóközig, szóközöket kihagyni...Nem is kell értelmezni, elég csak bután (nem pejoratív szó!) nézegetni a karaktereket egy ciklusban.
Azt hiszem, hogy ezzel meg is oldottam helyette a házi feladat lényegi részét...
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz csicsaaa #3577 üzenetére
Lassíts kicsit és gondolj bele, hogy milyen hatása van a programra az új feltételnek.
clrscr();
printf("Adj meg ket kulombozo szamot, megmondom melyek vannak koztuk.\n");
scanf("%i\n",&x);
scanf("%i",&y); <-- (1) Változott bármi a beolvasásban? Nem.
while (x<=y) <-- (2) Még mindig végig kell haladni a számokon? Igen.
{
printf("%i ",x); <-- (3) Hoppá, nem kell minden számot kiírni!
Ezért ez elé kell az if.
x=x+1; <-- Ugyanaz mint (2).
}
getch();Mit kell tehát megváltoztatni? Csak a kiírást.
Amit bedobtál if(a%2==0); tényleg a megoldás lesz, csak a pontosvesszőt hagyd le mellőle, mert így le is zártad gyorsan.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz Retekegér #3586 üzenetére
Miért ne tudnád? A bemeneti stream (esetedben fájl) és a kimeneti stream egymástól teljesen független. Már persze ha nem az a feladat, hogy ugyanabba a fájlba írd vissza, mert akkor borul.
Ha nem ugyanoda kell, akkor a legtriviálisabb megoldás, hogy beolvasol egy karaktert, kiírod, és ha magánhangzó volt, kiírod még a v-t meg a karaktert újra.
Ellenkező esetben csinálnod kell egy ideiglenes fájlt, oda tolni a kimenetet, majd kicserélni a fájlokat miután lezártad az olvasott fájlt.
Vaaaaagy persze beolvashatod az egészet memóriába, de ez mórickás, mert nem működik tetszőlegesen nagy fájlokra.
A karakterenként olvasás se feltétlen jó, de ilyen házikhoz elégnek kéne lennie.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
Azért nem kéri be a házszámot, mert a gets az stdin pufferben hagyja az újsor karaktert, amit az enterlenyomás otthagy - így a következő olvasás azt hozza be a felhasználóra várás helyett.
Azt egy külön getcharral el kell nyelned puszta kézzel.
Egyébként a település nevében is lehet ám szóköz.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz Jester01 #3603 üzenetére
Jogos, félreértelmeztem a leírást, amit a gets-ről olvastam. (Csak annyit írt, hogy nem másolja az újsort a kimeneti stringbe, de arról nem szólt, hogy eldobja-e. A szabvány viszont írja.) Nem sűrűn szoktam ilyet használni
Azért az ilyen fővesztéses kikiáltás mellé szerintem elfér, hogy azért tilos, mert 1) nincs túlcsordulás elleni védelem benne és ezért baromira veszélyes és 2) most már deprekálta a szabvány. Hátha jobban rögzül.
[ Szerkesztve ]
“All nothings are not equal.”
-
-
Karma
félisten
Hát egy probléma biztosan van már a main függvényedben és a szignatúrákban: a double**-ot ha függvényben hozol létre, double***-ként kéne a Matrix címét átadni. Ugyanis a jelenlegi formájában NULL marad végig.
Most nem vagyok C fordító közelben, de nem néznéd meg debuggerrel melyik sor száll el? A watch funkció haar rávilágíthat.
BTW nekem a *** kezd bűzleni, nem kéne máshogy megoldanod a kétdimentiós tömböt?
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
Huh, még egy súlyos baj. A realloc, hasonlóan a mallochoz, nem inicializálja a lefoglalt területet, azaz amikor a belső listákat próbálod reallocolni, az mtx[i]-ben zaj van -> instant fail.
Egyáltalán mi a kénkőért használsz reallocot?
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
-
Karma
félisten
válasz Frenky89 #3647 üzenetére
stdint.h-ból az int64_t nem segít? A stackoverflow alapján erre való. Mindenesetre jó hogy említed, milyen fordító a cél
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
válasz PumpkinSeed #3660 üzenetére
Sajnos C-ben ez nem így működik, a case-eknek konstans értékeknek kell lennie. Na meg a switchbe is számot, vagy annak megfefelő értéket kell odaadni, hogy az alapján ugorjon.
“All nothings are not equal.”
-
Karma
félisten
válasz PumpkinSeed #3688 üzenetére
Miért, a switch szerinted mégis micsoda?
“All nothings are not equal.”
-
Karma
félisten
válasz Bobrooney #3695 üzenetére
A scanf érthető, mivel nagyon veszélyes, de hogy a switch miért fáj, illetve hogy miért tekinti jobb megoldásnak az ifek tengerét? Rejtély számomra. Főleg, hogy egyenértékűek*. Lehet ezért tanár?
* egész számok vagy annak megfeleltethető értékek esetén.
(Élesben meg persze ott a State és a Command tervezési minta.)
“All nothings are not equal.”
-
Karma
félisten
válasz Bobrooney #3697 üzenetére
A scanfnek három nagy problémája van kapásból:
1) Ha extra paraméterek nélkül használod a %s-t, azaz ahogy órán bemutatják, nem ellenőrzi a célpuffer méretét, így buffer overflowt okoz egy hosszabb bemenet. (Ezt a gets is tudja.)
2) Ha túl nagy integer számot akarsz beolvasni, tehát túlcsordulás keletkezik, akkor nem definiált a viselkedése. Márpedig milyen módon akadályozod meg a felhasználót, hogy túl sok számjegyet nyomjon? De a probléma fájlolvasásnál is áll.
3) Ha nem sikerült értelmezni valamit, a bemeneti stream állapota kiszámíthatatlan.(Ezt egyébként Google-lel találtam. Hasznos.)
“All nothings are not equal.”
-
Karma
félisten
Olyat, hogy n-edik mező, nem tudsz írni. Igazából nem teljesen világos, mi értelme lenne ennek amúgy is (hozhatnál példát).
Arra van lehetőség viszont, hogy egy adott mező offsetjét megtudd a structon belül (offsetof), de a gyakorlati hasznát ennek se nagyon tudom elképzelni így vasárnap este.
“All nothings are not equal.”
-
Karma
félisten
-
Karma
félisten
Mivel a fordító számít, így legrosszabb esetben is csak kétféle viselkedést tapasztaltál volna (a CB-féle sajáttal meg a többi fordítóval). Elég egyértelmű így a stack overflow, amit a hatalmas struktúrával idézel elő.
Azért ha meg is kell védened ezt a házit, jobb lenne ha átállnál mallocolt struktúrákra...
“All nothings are not equal.”
-
Karma
félisten
válasz Jester01 #3743 üzenetére
Szerintem inkább SPACE paritás kéne, akkor kevesebb hiba generálódik (a datagram kezdőbyte-oknál). A linkelt oldalon van is erre egy Visual Basic kód (a DOS-os közvetlen UART programozáson túl, amire manapság AFAIK már nem nagyon van lehetőség), tegnap este jól belealudtam az olvasásába.
“All nothings are not equal.”
-
Karma
félisten
Najó, ez csak pedantéria, és ahogy nézem Linuxon nincs is rá szükség - az IGNPAR flaggel az egész hibakezelést ki lehet hagyni a képletből.
(Tök izgalmas ez a feladat Kár hogy nem tudok kísérletezni ilyennel élesben. Bár lehetne íeni egy szimulátort FPGA-ra, ami ezeket a jeleket tolja ki.)
“All nothings are not equal.”
-
Karma
félisten
válasz buherton #3751 üzenetére
Még csak most üzemelem be a C környezetemet az ellenőrzéshez, de szerintem nem a write, hanem a readFile függvényed hibás.
Történetesen én akárhogy nézem, azt látom a kódban, hogy a db tömbödet a firstPart és a secondPart (stacken) egyszer létrehozott címével töltöd fel - azaz a printffel azonnal a ciklusban kiírva jól mutat, de valójában csak két stringed van a program élete végéig, és ezeket vágod felül folyton.
“All nothings are not equal.”
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Alpha Laptopszerviz Kft.
Város: Pécs