Girilen bir cümleden istenilen kelimeleri çıkararak tekrar yazdıran program
Örnek:
Girdi:
Benim eşek gözlü sevgilim.
Çıktı:
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
int devami(const char [],const char []);
int main()
{
char cumleten[100]= {'\0'};
char kelime[32]= {'\0'};
int counter=0;
int uzunluk=0;
printf("Cumleyi gir!\n");
gets(cumleten);
uzunluk=strlen(cumleten);//Cumletenin uzunluğunu alır
printf("Kelimeyi de alayim:\n");
gets(kelime);
printf("Aferin yegen yazdigin cumle:\n%s",cumleten);
printf("\nCikaracagim kelime:\n%s\n",kelime);
printf("Cumle:\n");
for(counter=0; counter<uzunluk; counter++)
{
if(!isalpha(cumleten[counter-1]))//Eğer bu harf bir kelime başlayacaksa
{
//Bu kelimeden önce harf olmayan karakter vardır
if((cumleten[counter]==kelime[0]))
{
counter+=devami(&cumleten[counter],kelime);//fonksiyondan dönen değer kadar ötelenir
}
}
printf("%c",cumleten[counter]);
}
return 0;
}
int devami(const char *cumleten,const char kelime[])
{
int counter=0,flag=0;
int uzunluk=0;
uzunluk=strlen(kelime);
for(; counter<uzunluk-1; counter++)
{
if(cumleten[counter]!=kelime[counter])
return 0;
}
counter++;
if(!isalpha(cumleten[counter]))//Bulunanın kelime mi yoksa kelime içindeki
return uzunluk+1;//içindeki bir parça mı diye bakmak için
return 0;
}