Hirdetés
- Luck Dragon: Asszociációs játék. :)
- urandom0: Száműztem az AI-t az életemből
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: MárkaLánc
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- sziku69: Szólánc.
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- gban: Ingyen kellene, de tegnapra
- eBay-es kütyük kis pénzért
- GoodSpeed: Munkaügyi helyzet Hajdú-Biharban: észak és dél!
Új hozzászólás Aktív témák
-
válasz
babyanigirl
#689
üzenetére
Hali!
Na csak meg lett. Olyan kód volt a forrásba, amit a PH is használ formázásra...
#include <stdio.h>
#include <stdlib.h>
//ha többször használod ugyanazt az értket, akkor azt célszerű így definiálni
//így megelőzhető az elgépelésekből adodó hibák
#define MAXCHAR 256
int CharCounter[MAXCHAR];
int main()
{
int i;
//a karakterek(így a betűk, számok, stb) egy byte-on tárolódnak az értékük 0-255 lehet
//ezért nem int típust, hanem unsigned char típust deklarálunk
unsigned char ch;
FILE * TextFileAsBinary;
FILE * OutputTextFile;
printf("Karakter-szamlalo\n\n");
//kinullázzuk a tömbünket. ez azonban jelen esetben teljesen felesleges
//mivel a fórdító automatikusan elvégzi ezt a feladatot. Természetesen ha
//többször kellene használni a tömböt, akkor szükséges lehet az "újranullázás"
for (i=0;i<MAXCHAR;CharCounter[i++]=0);
//minden fájl megnyitásakor kötelező a hibaellenőrzés!
if (!(TextFileAsBinary = fopen("input.txt","rb"))) {
fprintf(stderr,"Nem lehet megnyitni a fajlt...");
exit(-1);
}
//az fread függvény (jelen esetben) 1 darab, 1 byte hosszú adatot olvas be ch-be
//a korábban megnyitott "input.txt" fájlból
//a visszatérő értéke olvasás esetén mindig annyi, amennyit megadtunk neki
//jelen esetben 1. Ha nem ennyivel tér vissza, az azt jelenti, hogy a fájl végére értünk
//vagy valamilyen fájlolvasási hiba lépett fel
while (fread(&ch,1,1,TextFileAsBinary)==1) CharCounter[ch]++;
fclose(TextFileAsBinary);
//kimeneti fájl megnyitása, mindig kérdés nélkül felülírodik!
if (!(OutputTextFile = fopen("output.txt","wt"))) {
fprintf(stderr,"Nem lehet irni a fajlt...");
exit(-1);
}
//itt azért 16-ról indítom a ciklust, mert ez alatt többnyire karakteres vezérlőkódok
//találhatók(return, tab, sipolás, visszatörlés stb), amikor ezeket beleírnád a fájlba
//akkor furcsán mutatna
for (i=16;i<MAXCHAR;i++) {
//csak akkor írok fájlba, ha előfordult az 'i' karakter, ha nem akkor felesleges
if (CharCounter[i]) {
fprintf(OutputTextFile,"Gyakorisága a(z) %c karakternek: %d\n",i,CharCounter[i]);
}
}
fclose(OutputTextFile);
return 0;
}Fire.
Ú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!
- Eladó prémium gamer PC Ryzen 9 + 7900 XTX 32GB DDR5 6000MHz
- Surface GO 1, 2, 3 - PRO 8, 9,10, 11, X Magyar Világító Billentyűzet
- Eladó, párom iPhone 14 Plus - 128 GB / kártyafüggetlen / telefonja!
- Gamer PC - B450 WiFi -Ryzen 7 3700X, RX 6700 XT, 32 GB DDR4, 512 GB NVME
- Dell latitude 5420 i5-1145G7/ 16gb ddr4/ 250gb m.2 SSD
- Telefon felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- Samsung Galaxy Z Flip7 Zsebbe csukható stílus, 120 Hz élmény 12/512 GB Használt, karcmentes
- HIBÁTLAN iPhone 15 Pro Max 256GB Black Titanium -1 ÉV GARANCIA - Kártyafüggetlen, MS3497
- HIBÁTLAN iPhone 13 Pro 256GB Sierra Blue 1ÉV GARANCIA -Kártyafüggetlen, MS3744
- GYÖNYÖRŰ iPhone 12 Pro 128GB Graphite-1 ÉV GARANCIA - Kártyafüggetlen, MS3669, 100% Akksi
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

