C Sharp - Ödev konusu lütfen gelin.

OlymmC

Ağaç Yumruklayıcı
En iyi cevaplar
0
Arkadaşlar acil program kodları gerekiyor, sporum var malesef bugüne yetiştiremeyeceğim.

Girilen cümle içinde sesli harfler, sessiz harfler ve kelime sayısını bulan program. (ConsoleApplication)
(for döngüsü ve Length komutu ile olsun. Galiba İf-Else ile olacak)

Yapan arkadaşlar için çok teşekkür ediyorum. İsterlerse özelden de atabilirler.
 

Bernard

Бернард
Danışman
Geliştirici
En iyi cevaplar
61
@Bernard yardımcı olabilir bence.
Etiket için teşekkürler kodladım :D
Kodda hatalar olabilir. Hatasız yapmaya çalıştım. Kelimeleri cümlede ki boşluklara göre alıyor. Cümle sonunda boşluk var ise göz ardı ediyor. Ama cümle sonunda 2. boşluk varsa 1 fazla kelime cevabı verecektir. Orasını sen ayarlarsın.
Kod:
static void Main(string[] args)
        {
            Console.Write("Programa hoş geldiniz. \nCümlenizi giriniz: ");
            string txt = Convert.ToString(Console.ReadLine());
            
            if (txt.Substring(txt.Length - 1, 1) == " ") {
                string sonharf = txt.Substring(0, txt.Length - 1);
                txt = sonharf;
            }
            int uzunluk = txt.Length;
            string harf;
            int sesliharf = 0;
            int sessizharf = 0;
            int kelime = 0;
            for (int i = 0; i < uzunluk; i++) {
                harf = txt.Substring(i, 1);
                if (harf == "a" || harf == "e" || harf == "i" || harf == "ı" || harf == "ö" || harf == "o" || harf == "u" || harf == "ü")
                {
                    sesliharf++;
                }
                else if (harf == "b" || harf == "c" || harf == "ç" || harf == "d" || harf == "f" || harf == "g" || harf == "ğ" || harf == "h" || harf == "j" || harf == "k" || harf == "l" || harf == "m" || harf == "n" || harf == "p" || harf == "r" || harf == "s" || harf == "ş" || harf == "t" || harf == "v" || harf == "y" || harf == "z") {
                    sessizharf++;
                }
                else if (harf == " "){
                    kelime++;
                
                }
            }
            kelime++;
            Console.Write("Cümlede bulunan sesli harf sayısı: " + sesliharf + "\nCümlede bulunan sessiz harf sayısı: " + sessizharf + "\nCümlede bulunan kelime sayısı: " + kelime);
            Console.ReadKey();
        }

Linki görebilmek için üye olmanız gerekiyor. Giriş yap veya üye ol.

Buradaki konuyu inceleyebilirsin.
Bu arada verdiğin kısımda bulunan kodlar C veya C++ diline ait. C# ile alakası yok. Kullanılamaz. Ancak örnek alınabilir.
 

NeveseRC

Elmas Madencisi
En iyi cevaplar
0
Kod:
static void Main(string[] args)
 
{
 
string a;
 
int i = 0, j = 1, sessiz = 0;
 
Console.Write("Cümleyi Girin:");
 
a = Console.ReadLine();
 
int c = a.Length;
 
foreach (char b in a)
 
{
 
if (b == 'a' || b == 'e' || b == 'ı' || b == 'i' || b == 'o' || b == 'ö' || b == 'u' || b == 'ü')
 
i++;
 
else if (b != ' ')
 
sessiz++;
 
if (b == ' ')
 
j++;
 
}
 
Console.WriteLine("Girdiğiniz Cümlede/kelimede {0} Adet Sesli Harf Vardır.", i);
 
Console.WriteLine("Girdiğiniz Cümlede/kelimede {0} Adet Sessiz Harf Vardır.", sessiz);
 
Console.WriteLine("Girdiğiniz Cümle {0} Kelimeden Oluşmaktadır", j);
 
Console.ReadKey();
 
}
 

CheartMan

Marangoz
En iyi cevaplar
0
baya geçti ama kusura bakma İndexOf ve for döngüsü ile güzel bir algoritma kurabilirsin bu kadar uzun olmasına gerek yok :)
 

Reol

Sudan Çıkmış
En iyi cevaplar
0
Üstte atılan kodlara baktım ama gereksiz yere çok fazla koşul kullanılmış. Bu tarz bir iş için döngüler doğrudan kullanılmadan daha pratik bir çözüm olarak şunu bırakayım.
C#:
using System;
using System.Linq;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var vowels = new HashSet<char> { 'a', 'e', 'ı', 'i', 'o', 'ö', 'u', 'ü' };
        var consonants = new HashSet<char> { 'b', 'c', 'ç', 'd', 'f', 'g', 'ğ', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'r', 's', 't', 'v', 'y', 'z' };
  
        Console.Write("Analiz edilecek cümleyi yazın: ");
        string sentence = Console.ReadLine().ToLower();
      
        int consonantAmount = sentence.Count(c => consonants.Contains(c));
        int vowelAmount = sentence.Count(c => vowels.Contains(c));
        int wordAmount = sentence.Count(c => c == ' ') + 1;
        int specialCharAmount = sentence.Length - (consonantAmount + vowelAmount + wordAmount - 1);
      
        Console.WriteLine("Toplam Kelime Sayısı: {0}\nSesli Harf Sayısı: {1}\nSessiz Harf Sayısı: {2}\nDiğer Karakter Miktarı: {3}", wordAmount, vowelAmount, consonantAmount, specialCharAmount);
        Console.ReadKey();
    }
}
 

FuryRS

Elmas Madencisi
En iyi cevaplar
0
Üstte atılan kodlara baktım ama gereksiz yere çok fazla koşul kullanılmış. Bu tarz bir iş için döngüler doğrudan kullanılmadan daha pratik bir çözüm olarak şunu bırakayım.
C#:
using System;
using System.Linq;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var vowels = new HashSet<char> { 'a', 'e', 'ı', 'i', 'o', 'ö', 'u', 'ü' };
        var consonants = new HashSet<char> { 'b', 'c', 'ç', 'd', 'f', 'g', 'ğ', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'r', 's', 't', 'v', 'y', 'z' };
 
        Console.Write("Analiz edilecek cümleyi yazın: ");
        string sentence = Console.ReadLine().ToLower();
     
        int consonantAmount = sentence.Count(c => consonants.Contains(c));
        int vowelAmount = sentence.Count(c => vowels.Contains(c));
        int wordAmount = sentence.Count(c => c == ' ') + 1;
        int specialCharAmount = sentence.Length - (consonantAmount + vowelAmount + wordAmount - 1);
     
        Console.WriteLine("Toplam Kelime Sayısı: {0}\nSesli Harf Sayısı: {1}\nSessiz Harf Sayısı: {2}\nDiğer Karakter Miktarı: {3}", wordAmount, vowelAmount, consonantAmount, specialCharAmount);
        Console.ReadKey();
    }
}
Adam ödevinden not bille almıştır :D
 
Üst