Hirdetés
- Android szakmai topik
- Xiaomi 13 Pro - szerencsés szám
- Xiaomi 15 Ultra - kamera, telefon
- OnePlus 15 - van plusz energia
- Fotók, videók mobillal
- Motorola Edge 40 - jó bőr
- Xiaomi 14 - párátlanul jó lehetne
- Macrodroid
- Android alkalmazások - szoftver kibeszélő topik
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
Új hozzászólás Aktív témák
-
neil_mullen
aktív tag
válasz
Retekegér
#4039
üzenetére
az elsőt telepitettem xp-re. ezt irja ki:
Probably the toolchain path within the compiler options is not setup correctly?!
Goto "Settings->Compiler and debugger...->Global compiler settings->GNU GCC Compiler->Toolchain executables" and fix the compiler's setup.a settingsbe a debugger config meg üres...
-
kispx
addikt
-
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.
-
Jester01
veterán
válasz
Retekegér
#3369
üzenetére
conio.h és getch nem szabványos, arra van a getchar amit mellesleg a csúnya scanf helyett is használhatsz.
Ha a while ciklus már elérte a végét, akkor a getch már amúgy is fölösleges.
A tömb elem növelésénél pedig nem i-t hanem c-t kellene használni indexeléshez.
Ezen felül ajánlott kapcsoszárójeleket és áttekinthetőbb struktúrát használni.
Ja és nem formázott kiíráshoz fölösleges a printf, arra van a puts.A ctrl+z pedig elképzelhető, hogy csak üres sorban fog működni (legalábbis a linuxos ctrl+d így van) tehát előbb enter kell az aktuális sor lezárásához majd jöhet az EOF.
#include <stdio.h>
int main ()
{
int c;
int i;
int tomb[10];
puts("Fajl vege jelig (Ctrl+Z) szabvanyos bementrol olvasva");
puts("megszamoljuk, hogy hany szamjegy van a szovegben.\n");
for (i=0; i<10; i++) {
tomb[i]=0;
}
while ((c = getchar()) != EOF) {
if (c>='0' && c<='9') {
tomb[c-'0'] += 1;
}
}
for (i=0; i<10; i++) {
printf("%d: %d\n",i,tomb[i]);
}
return 0;
} -
kispx
addikt
válasz
Retekegér
#2688
üzenetére
Inkább Code:: Blocks. A Dev-C++ kicsit bugos, és ha jól látom akkor már fejlesztik tovább.
-
Karma
félisten
válasz
Retekegér
#2138
üzenetére
Milyen szinten? Alapozásnak szerintem ez egy elég jól sikerült könyv-kettős. Az első kötet végig alap-algoritmusokat gyakoroltat, a másodiknál már gondolkozni is kell néha
(Meg nem is tetszett annyira.)Ha valami higher level kéne, arra már nem tudok mit mondani.
Mondjuk valami webbel kapcsolat feladatsorra én is kíváncsi lennék, pl. amin lehetne GWT-t vagy Vaadint gyakorolni.
-
-
j0k3r!
őstag
válasz
Retekegér
#1778
üzenetére
elore is bocsanat, ha nagy baromsagot irok, mar reg c-ztem...
itt egy link
en hianyolom a srandot, ha mar "veletlen" szamokrol van szo. -
Karma
félisten
válasz
Retekegér
#1775
üzenetére
Sajnos attól még nem lesz semmi értelme, tényleg. Én is ezt a könyvet adtam látatlanban az öcsémnek, hogy ebből összeszedheti a nyelv alapjait, de azt tapasztaltam (legalábbis a '96-os kiadásban), hogy sokszor van, hogy nem mondja el a miértet.
Jester01: De ha csak annyi a lényeg, hogy véletlenszámokat generáljunk (ami persze ebben a formában oximoron), akkor nincs semmi értelme. Én ezt feltételeztem.
-
Karma
félisten
válasz
Retekegér
#1631
üzenetére
Arra meg ott a printf függvény, első paraméterében megadhatod a kiírás formátumát (én pl. semmit se tudok jelenleg a tömböt elemeinek típusáról
), utána pedig a többi paraméterben a változókat adhatod meg.Pl. egy egészeket tartalmazó array nevű tömbre (l elemű), soronként egy érték:
int i;
...
for (i = 0; i < l; i++)
{
printf("%d\n", array[i]);
} -
Lortech
addikt
válasz
Retekegér
#279
üzenetére
Uff. Szóval if után nem teszünk ;-t, hacsak nem egy üres utasítást akarsz szimbolizálni.
Itt most az történt, hogy az igaz ágadban lett egy üres utasítás (;). Majd jön egy blokk ( {} )ami mindig lefut az előbbi if-től függetlenül, így persze egyből kilép az exit miatt.
Meg az ilyen exit(-1) is felesleges, egy if () {} else {} megoldás szimpibb.De hozzán legközelebb az áll, hogy ha a két param sikeresen beolvasódott, akkor csinálsz valamit, egyébként meg nem (nincs else ág sem), és végetér a program a main blokk végén.
-
Lortech
addikt
válasz
Retekegér
#277
üzenetére
Normális olyan értelemben, hogy vsz. nem bug. Nem normális olyan értelemben, hogy gondolom nem ezt szeretnéd. Esetleg bennemarad a pufferben valami az előző beolvasásokból, ezért egyből lefut a beolvasás. Ha bemásolod a kódot, akkor egyértelművé tehető. A system("PAUSE"); a program végén nem szép megoldás, és kerülendő is valódi alkalmazásoknál, de tesztelni és tanulgatni megteszi az előbbi figyelembevételével.
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Eladó jogtiszta, Windows 11/10, Office 2019/2021/2024, Fizikai és Digitális licencek.
- 7.Gen E-Sport Gamer - 16GB DDR4 - I5 7500 - GTX 1050Ti 4GB - 128GB SSD - 500GB HDD
- ASUS ROG Zephyrus G15 (2022) Ryzen 7 6800HS / RTX 3060 / 40 GB RAM / 1 TB SSD / QHD 165 Hz
- Full HD Gamer PC / Intel i7 6700K / GTX 1080 8GB / 16GB DDR4 / 500GB SSD / Garancia
- ASROCK AM4 RYZEN 5 2400G GAMER OPTIMUM PC 16DDR4 512GB NVME SSD GTX 1060 3GB DDR5 600W-TÁP AC-WIFI!
- SK Hynix PC811 2TB PCI-E 4.0 x4 nvme SSD 7000/6500MB/s
- iPhone 13 128GB 100% (1év Garancia) - ÚJ UTÁNGYÁRTOTT AKKUMULÁTOR
- 27% - ASUS Vivobook OLED Notebook! Ryzen 5 7535HS / 16GB 6400MHz / 500GB NVMe
- Lenovo ThinkPad L13 Gen 3 13,3" - i5 1235U, 16GB RAM, SSD, jó akku, magyar bill. - számla, 6 hó gar
- Lenovo ThinkPad T14 Gen1 Intel i5-10310U Refurbished - Garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Vagy jobb klikk a változón és add watch (vagy hasonló), vagy szimplán beírod a változó nevét.


(Meg nem is tetszett annyira.)

), utána pedig a többi paraméterben a változókat adhatod meg.
