Hirdetés
- Samsung Galaxy S23 Ultra - non plus ultra
- Milyen okostelefont vegyek?
- Telefonjavítás, szerviz
- Fotók, videók mobillal
- Xiaomi 15T Pro - a téma nincs lezárva
- iPhone topik
- Xiaomi 15 - kicsi telefon nagy energiával
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Macrodroid
- Samsung Galaxy A56 - megbízható középszerűség
Ú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
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Microsoft Surface Laptop 3 13.5" fekete i5-1035G7 16GB 512GB 1 év garancia
- GYÖNYÖRŰ iPhone 13 Pro 256GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS3356
- Új és újszerű 15-16 Gamer, irodai, üzleti, készülékek nagyon kedvező alkalmi áron Garanciával!
- Bomba ár! Lenovo ThinkPad T470s - i5-6GEN I 8GB I 256GB SSD I 14" FHD I Cam I W10 I Garancia!
- Apple iPhone 16 Pro Max 256GB,Újszerű,Dobozával,12 hónap garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő
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.

