PDA

Tam Sürümünü Görmek İçin : Büyük ünlü uyumu


mr.yildirim
23/04/2007, 14:45
Merhaba arkadaşlar ben bi yerden üyük ünlü uyumunu kontrol eden bir vb kodu buldum bunu c# a çevirdim ama anlamadığım kod bi kere baştan çalışıyo yan imesela "muzaffer" kelimesine ilkinde diyo ünlü uyumuna uyuyo neyse sonra uymayan bi kelime yazıyorum onada uymadı diye ileti cıakrıyo buraya kadar herşey çok güzel ama sonra tekrar muzaffer kelimesini kontrol ettigimde artık uyumlu demiyo ve ondan sonra hic uyumlu yazmıyo baska uyan kelimeler için anlamadım yardımcı olabilecek arkadaşlara şimdiden teşlekkürler.

Kod:


void BuyukUnluUyumu(string sozluk)
{

string[] KalinU=new string[8];
string[] Ince = new string[8];

KalinU[0] = "a" ;
KalinU[1] = "ı" ;
KalinU[2] = "u" ;
KalinU[3] = "o" ;// Kalin unluler tanitiliyor... '
KalinU[4] = "A" ;
KalinU[5] = "I" ;
KalinU[6] = "U" ;
KalinU[7] = "O" ;
Ince[0] = "e";
Ince[1] = "i";
Ince[2] = "ü";
Ince[3] = "ö";// Ince unluler tanitiliyor.... '
Ince[4] = "E";
Ince[5] = "İ";
Ince[6] = "Ü";
Ince[7] = "Ö";

for (int i = 0; i <= sozluk.Length -1; i++)
{
for (int ii = 0; ii <= 7; ii++)
{
if (Mid(sozluk, i, 1) == KalinU[ii]) { kalin_b = true; }
if (Mid(sozluk, i, 1) == Ince[ii]) { ince_b = true; }
if (kalin_b == true && ince_b == true)
{
sonuc = 0;
}
else
{
sonuc = 1;
}
}
}

if (sonuc <= 0)
{
MessageBox.Show("Yazmis oldugunuz sozcuk Buyuk Unlu Uyumuna uymuyor.");
}
else if (sonuc > 0)
{
MessageBox.Show("Yazmis oldugunuz sozcuk Buyuk Unlu Uyumuna uyuyor.");
}

}


furkans
23/04/2007, 15:38
bu kod derlenebilio mu? ince_b ve kalin_b tanımlanmamış! if lerin içindeki mid olayını bilmiorum ancak string[i] ile aynı şey olduğunu düşünüorum kurala göre! eğer aynı şey değilse budur yanlış olan..diğer olayda ise string KalinU demek yeterli new ile boyut açman gerektiini düşünmüorum açılcaksa bile new string şeklinde olmalı seninkinde arada boşluk yok..bunların dışında yannış olan birşey yok gibi duruyor..aslında bunlarda yanlışlık değil ama yinede bi değiştirerek dene belki sorunun kaynağı budur..ii çalışmalar

mr.yildirim
23/04/2007, 15:40
new string de bolsuk var aslında ma aburyaa yazarken sorun olmus neyse birde dizi oldu için bu var.string[8]

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace buyukUnlu
{
publicpartialclassForm1 : Form
{
Boolean ince_b;
Boolean kalin_b;
Int16 sonuc;

public Form1()
{
InitializeComponent();
}

void BuyukUnluUyumu(string sozluk)
{

string[] KalinU=new string[8];
string[] Ince = new string[8];

KalinU[0] = "a" ;
KalinU[1] = "ı" ;
KalinU[2] = "u" ;
KalinU[3] = "o" ;// Kalin unluler tanitiliyor... '
KalinU[4] = "A" ;
KalinU[5] = "I" ;
KalinU[6] = "U" ;
KalinU[7] = "O" ;
Ince[0] = "e";
Ince[1] = "i";
Ince[2] = "ü";
Ince[3] = "ö";// Ince unluler tanitiliyor.... '
Ince[4] = "E";
Ince[5] = "İ";
Ince[6] = "Ü";
Ince[7] = "Ö";

for (int i = 0; i <= sozluk.Length -1; i++)
{
for (int ii = 0; ii <= 7; ii++)
{
if (Mid(sozluk, i, 1) == KalinU[ii]) { kalin_b = true; }
if (Mid(sozluk, i, 1) == Ince[ii]) { ince_b = true; }
if (kalin_b == true & ince_b == true)
{
sonuc = 0;
}
else
{
sonuc = 1;
}
}
}

if (sonuc <= 0)
{
MessageBox.Show("Yazmis oldugunuz sozcuk Buyuk Unlu Uyumuna uymuyor.");
}
elseif (sonuc > 0)
{
MessageBox.Show("Yazmis oldugunuz sozcuk Buyuk Unlu Uyumuna uyuyor.");
}

}

publicstaticstring Mid(string param, int startIndex, int length)
{

string result = param.Substring(startIndex, length);
return result;


}
privatevoid button1_Click(object sender, EventArgs e)
{
BuyukUnluUyumu(textBox1.Text);

}

privatevoid Form1_Load(object sender, EventArgs e)
{
}


}
}

hasanyasin
23/04/2007, 16:48
kalin_b, ince_b ve sonuc'a ilk değerlerini vermeyi deneyin metodun başında. kalin_b ve ince_b false olmalı işe başlarken...

mr.yildirim
23/04/2007, 17:18
evt haklısınız ben form loada koyuyudum ilk degerini atarken
bu c# amam zahmetli imiş neyseki
string[] KalinU=new string[8];
string[] Ince = new string[8]; buradan hemen sonra koyarak sorun cozuldu cok tesekkur ederim

hasanyasin
23/04/2007, 17:23
Evet bunu oraya koymak; ama oradaki bazı şeyleri de dışarı almak gerek(:

Metodun içinde tanımlanan değişkenlerle dışındakiler çoğunlukla hatalı yerlerde...