C Dili ile string işlemleri

CruellHacker

Yeni üye
19 May 2018
36
0
Gotham
İyi günler , bu yazımda sizlerle C diline yeni başlamış arkadaşların işine yarayabileceğini düşündüğüm string ile örnek işlemler yapan programı paylaşacağım. Program girdiğiniz metindeki karakter sayısını , kelime sayısını bulabiliyor ayrıca kelimelerin ilk harflerini büyük harfe dönüştürebiliyor ve yazdığınız cümleyi kelime kelime tersine çevirebiliyor. Kodumuz şu şekilde


Kod:
#include <stdio.h>
#include <stdlib.h>

int main()
{
    
    char text[100];          
    char reversed[100];      
    int i=0;
    int chr_counter=0;     
    int vcb_token=1;        
    int vcb_counter=0;      

    int capital_counter=0; 
    int capital_token=1;   

    printf("Please enter the text : ");
    gets(text);
    fflush(stdin);        

    // Character counter part.
    while(text[chr_counter] != '\0') {   
        chr_counter++;
    }
    for (i=0;i<chr_counter;i++) {        
        reversed[i]=text[i];
    }
    // word counter part.
    while (text[vcb_token]!='\0') {      
        char charecter=text[vcb_token];
        if (charecter==' ') {           
            vcb_counter++;
        }
        vcb_token++;
    }
    fflush(stdin);     // clean the memory.
    // Capitalizer part.
    while(text[capital_counter] !=0) {           

        if(capital_token) {

            if((text[capital_counter] >= 'a') && (text[capital_counter]<='z')) {
                text[capital_counter] -= 32;
        }
        capital_token = 0;
        }
        else {
            if(text[capital_counter] >= 'A' && text[capital_counter]<='Z') {         
                text[capital_counter] += 32;
            }
        }
        if(text[capital_counter] == ' ' || text[capital_counter] == '.') {
            capital_token=1;
        }
        capital_counter++;           
    }
    // Reverser part.
    int lenght =chr_counter;       
    int e = lenght-1;             
    int x;                       
    printf("\nNumber of charecters : %d",chr_counter);
    printf("\nNumber of words : %d",vcb_counter);
    printf("\nCapitalized : %s",text);
    printf("\nReversed :");
    for(int a = lenght - 1; a >= 0; a--)         
    {
        if(reversed[a] == ' ' || a == 0)          
        {
            if(a == 0)
            {
                x = 0;
            }
            else
            {
                x = a + 1;
            }
            for(int j = x; j <= e; j++)
            {
                printf("%c",reversed[j]);
            }
            e = a - 1;
            printf(" ");         
        }
    }
    return 0;
}
 
Son düzenleme:

Leatrix

Kıdemli Üye
12 Ağu 2018
3,355
10
23
Teşkilat
Dostum ellerine sağlık, başarılar dilerim. Bu konular ile ilerler iseniz güzel yerlere gelebilirsin. :)
 

Sort

Katılımcı Üye
14 Eki 2019
967
79
Elinize Sağlık.C Dili İle İlgilenen Arkadaşlar İçin Yayarlı Olacaktır
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.