• 11-12-2022, 15:27:33
    #1
    Klavyeden girilen Türkçe karakter barındırmayan büyük harf ve küçük harf ayrımı
    yapmayan (yani her ikiside olabilir) bir cümledeki sesli ve sessiz harflerin sayısını,
    cümlenin kaç kelimeden oluştuğunu ve kullanıcının belirtmiş olduğu bir harfin o cümlede
    kaç defa kullanıldığını ekrana yazdıran programı geliştiriniz.


    bu şekilde bir şey yapmam gerekiyor, biraz başlangıcını falan yaptım ama C yi çok çözemedim bu konuda yardımcı olabilecek var mı
  • Kabul Edilen Cevap
    • Metotlu bir şekilde yazdımki daha kolay anlaşılabilsin. Anlamadığın yeri sorabilirsin

      #include <stdio.h>
      #include <string.h>
      #include <ctype.h>
      
      void findSpecialCharacter(char srText[], char ch);
      void calculateConsAndVowel(char str[]);
      void calculateSentences(char str[]);
      
      int main() {
          char srText[10000],ch;
          
          printf("Please enter the name: ");
          fgets(srText,sizeof(srText),stdin);
          
          printf("Please enter the character you want to find: ");
          scanf("%c",&ch);
          
          findSpecialCharacter(srText,ch);
          calculateConsAndVowel(srText);
          calculateSentences(srText);
          return 0;
      }
      
      void findSpecialCharacter(char srText[], char ch){
          int numberOfSpecialCharacter = 0;
          
          for(int i=0; srText[i] != '\0'; ++i){
              if(ch == srText[i]){
                  ++numberOfSpecialCharacter;
              }
          }
          printf("Frequency of %c => %d \n",ch,numberOfSpecialCharacter);
      
      }
      
      void calculateConsAndVowel(char str[]){
          int numberOfConsonants = 0;
          int numberOfVowels = 0;
          
          for(int i=0; str[i] != '\n'; ++i){
              str[i] = tolower(str[i]);
              
              if(str[i] == 'a' || str[i] == 'e' || str[i] == 'i' || 
              str[i] == 'o'|| str[i] == 'u'){
                  ++numberOfVowels;
              }
              else if (isalpha(str[i])){
                  ++numberOfConsonants;
              }
          }
          
          printf("Count of vowels in the string you entered: => %d \n",numberOfVowels);
          printf("Count of constants in the string you entered: => %d \n",numberOfConsonants);
      }
      
      void calculateSentences(char str[]){
          int numberOfSentences = 1; // We start suddenly because the program doesn't count the first word
          
          for(int i = 0; i < strlen(str); i++){
              
              if(str[i] == ' '){
                  ++numberOfSentences;
              }
          }
          
          printf("There are %d words in total in the sentence entered.",numberOfSentences);
      }
  • 11-12-2022, 15:30:58
    #2
    Suan musait degilim ama daha sonra bakacagim eger benden baskasi konuya cevap vermezse pm atarim hocam
  • 11-12-2022, 15:31:28
    #3
    yunusemre34 adlı üyeden alıntı: mesajı görüntüle
    Suan musait degilim ama daha sonra bakacagim eger benden baskasi konuya cevap vermezse pm atarim hocam
    Tamamdır hocam sağolasın
  • 11-12-2022, 15:35:49
    #4
    ya alınan stringi diziye aktarın yada pointer ile içinde dolaşarak kelimeleri harf harf kontrol edin. for döngüsü içinde if ile kontrol blokları oluşturun(sesli harfleri bulmak için). her sesli harfte counter 1 arttırın işlem sonunda da ekrana basarsınız.
  • 11-12-2022, 15:38:50
    #5
    egeonlinex adlı üyeden alıntı: mesajı görüntüle
    Klavyeden girilen Türkçe karakter barındırmayan büyük harf ve küçük harf ayrımı
    yapmayan (yani her ikiside olabilir) bir cümledeki sesli ve sessiz harflerin sayısını,
    cümlenin kaç kelimeden oluştuğunu ve kullanıcının belirtmiş olduğu bir harfin o cümlede
    kaç defa kullanıldığını ekrana yazdıran programı geliştiriniz.


    bu şekilde bir şey yapmam gerekiyor, biraz başlangıcını falan yaptım ama C yi çok çözemedim bu konuda yardımcı olabilecek var mı
    girdiyi bir arraye kaydedeceksin. daha sonra arrayin elemanlarını for veya while loop ile gezerek, sesli harf, boşluk, ünlem gibi karakterlerle karşılaştıracaksın eşit olanın sayısını arttıracaksın. saymak istediğin herşey için bir counter tutman lazım.
    for(int i = 0; i<x ; i++){
    if(array[i] == '.'){
    cumleSayi++;
    }
    else if(array[i] == ' ')
    kelimeSayi++;
    }

    gibi
  • 11-12-2022, 15:50:23
    #6
    brktrd adlı üyeden alıntı: mesajı görüntüle
    girdiyi bir arraye kaydedeceksin. daha sonra arrayin elemanlarını for veya while loop ile gezerek, sesli harf, boşluk, ünlem gibi karakterlerle karşılaştıracaksın eşit olanın sayısını arttıracaksın. saymak istediğin herşey için bir counter tutman lazım.
    for(int i = 0; i<x ; i++){
    if(array[i] == '.'){
    cumleSayi++;
    }
    else if(array[i] == ' ')
    kelimeSayi++;
    }

    gibi
    Laviniaa adlı üyeden alıntı: mesajı görüntüle
    ya alınan stringi diziye aktarın yada pointer ile içinde dolaşarak kelimeleri harf harf kontrol edin. for döngüsü içinde if ile kontrol blokları oluşturun(sesli harfleri bulmak için). her sesli harfte counter 1 arttırın işlem sonunda da ekrana basarsınız.
    sağolun hocam yardımlarınız için dikkate aldım
  • 11-12-2022, 16:01:14
    #7
    Bu cevap, konu sahibi tarafından kabul edilebilir bir cevap olarak işaretlendi.
    Metotlu bir şekilde yazdımki daha kolay anlaşılabilsin. Anlamadığın yeri sorabilirsin

    #include <stdio.h>
    #include <string.h>
    #include <ctype.h>
    
    void findSpecialCharacter(char srText[], char ch);
    void calculateConsAndVowel(char str[]);
    void calculateSentences(char str[]);
    
    int main() {
        char srText[10000],ch;
        
        printf("Please enter the name: ");
        fgets(srText,sizeof(srText),stdin);
        
        printf("Please enter the character you want to find: ");
        scanf("%c",&ch);
        
        findSpecialCharacter(srText,ch);
        calculateConsAndVowel(srText);
        calculateSentences(srText);
        return 0;
    }
    
    void findSpecialCharacter(char srText[], char ch){
        int numberOfSpecialCharacter = 0;
        
        for(int i=0; srText[i] != '\0'; ++i){
            if(ch == srText[i]){
                ++numberOfSpecialCharacter;
            }
        }
        printf("Frequency of %c => %d \n",ch,numberOfSpecialCharacter);
    
    }
    
    void calculateConsAndVowel(char str[]){
        int numberOfConsonants = 0;
        int numberOfVowels = 0;
        
        for(int i=0; str[i] != '\n'; ++i){
            str[i] = tolower(str[i]);
            
            if(str[i] == 'a' || str[i] == 'e' || str[i] == 'i' || 
            str[i] == 'o'|| str[i] == 'u'){
                ++numberOfVowels;
            }
            else if (isalpha(str[i])){
                ++numberOfConsonants;
            }
        }
        
        printf("Count of vowels in the string you entered: => %d \n",numberOfVowels);
        printf("Count of constants in the string you entered: => %d \n",numberOfConsonants);
    }
    
    void calculateSentences(char str[]){
        int numberOfSentences = 1; // We start suddenly because the program doesn't count the first word
        
        for(int i = 0; i < strlen(str); i++){
            
            if(str[i] == ' '){
                ++numberOfSentences;
            }
        }
        
        printf("There are %d words in total in the sentence entered.",numberOfSentences);
    }
  • 11-12-2022, 16:59:37
    #8
    yunusemre34 adlı üyeden alıntı: mesajı görüntüle
    Metotlu bir şekilde yazdımki daha kolay anlaşılabilsin. Anlamadığın yeri sorabilirsin

    #include <stdio.h>
    #include <string.h>
    #include <ctype.h>
    
    void findSpecialCharacter(char srText[], char ch);
    void calculateConsAndVowel(char str[]);
    void calculateSentences(char str[]);
    
    int main() {
        char srText[10000],ch;
        
        printf("Please enter the name: ");
        fgets(srText,sizeof(srText),stdin);
        
        printf("Please enter the character you want to find: ");
        scanf("%c",&ch);
        
        findSpecialCharacter(srText,ch);
        calculateConsAndVowel(srText);
        calculateSentences(srText);
        return 0;
    }
    
    void findSpecialCharacter(char srText[], char ch){
        int numberOfSpecialCharacter = 0;
        
        for(int i=0; srText[i] != '\0'; ++i){
            if(ch == srText[i]){
                ++numberOfSpecialCharacter;
            }
        }
        printf("Frequency of %c => %d \n",ch,numberOfSpecialCharacter);
    
    }
    
    void calculateConsAndVowel(char str[]){
        int numberOfConsonants = 0;
        int numberOfVowels = 0;
        
        for(int i=0; str[i] != '\n'; ++i){
            str[i] = tolower(str[i]);
            
            if(str[i] == 'a' || str[i] == 'e' || str[i] == 'i' ||
            str[i] == 'o'|| str[i] == 'u'){
                ++numberOfVowels;
            }
            else if (isalpha(str[i])){
                ++numberOfConsonants;
            }
        }
        
        printf("Count of vowels in the string you entered: => %d \n",numberOfVowels);
        printf("Count of constants in the string you entered: => %d \n",numberOfConsonants);
    }
    
    void calculateSentences(char str[]){
        int numberOfSentences = 1; // We start suddenly because the program doesn't count the first word
        
        for(int i = 0; i < strlen(str); i++){
            
            if(str[i] == ' '){
                ++numberOfSentences;
            }
        }
        
        printf("There are %d words in total in the sentence entered.",numberOfSentences);
    }

    Çok teşekkürler hocam, emeğine sağlık valla