C’de Dosya İçerisindeki Harf Seviyesi Belirleme (Determining the Letter Level in a File in C)
Arkadaşlar bu yazımdada sizlere kendim ve çevremden yardım alarak yaptığım, C’de Dosya İçerisindeki Harf Seviyesi Belirleme programının kodları paylaştım şimdi isterseniz kodlara bakalım ve algoritma kısmını inceleyelim;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
#include <stdio.h> #include <stdlib.h> #include <conio.h> int main(int argc, char *argv[]) { FILE *fp; int c = 0, say[25] = {0},stx,i=0,j; char metin[2000],*str[2000]; for(i=0;i<26;i++) say[i]=0; char dosyaAdi[25]; printf("\n\n\n\n\n\n\n\t\t\t\t\tDosya ismini giriniz:"); scanf("%s",&dosyaAdi); system("cls"); if(fp!=NULL){//dosya var olup olmadıgını kontrol eder fp=fopen(dosyaAdi,"r"); while(!feof(fp)){ metin[c]=fgetc(fp); while (metin[c] != '\0'){//harfleri kontrol eder ve sayilarını yazdırır. if (metin[c] >= 'a' && metin[c] <= 'z'){ say[metin[c]-'a']++; } c++; } } } else{ printf("Dosya adi hatalı:"); } printf("Harf sayilari"); printf("\n\t\tSiralama:\n"); for(i=0;i<26;i++){ metin[i]=i+'a'; } for(i=0;i<26;i++){//hangi harfeten kaç tane oldunu yazıyor if (say[i] != 0) printf("%c=%d\n",metin[i],say[i]); } return 0; } |
Gördüğünüz gibi kodlar bu şekilde, ilk olarak bir dosya ismi alıyorum (sizler masaüstünde .txt uzntılı bir dosya oluşturarak deneyebilirsiniz) , sonra bu dosyanın var olup olmadığını kontrol ediyorum, var ise içerisinde bulunan harflerin alfabetik sıra ile kaç adet var olduğunu yazıp * ile seviyesini belirliyoruz. Kodda açıklama satırları mevcut kullanılan fonksiyonları inceleyebilirsiniz. Bizi takip etmeye devam edin bol kodlu günler…