C#da bir HATA ?

Kodla Büyü

cinefil

Seçkin Üye
Seçkin Üye
Mesajlar
1,180
private void btngoster_Click(object sender, EventArgs e)
{
int i,j;
Random rastgelesayi = new Random();
int[] dizi=new int[100];
for ( i = 0; i < 100; i++)
{
dizi = rastgelesayi.Next(500);
lsbsayilar.Items.Add(dizi);
}
int max=dizi[0];
int min=dizi[0];
int top = 0;
int yedek;
for (i = 0; i < 100; i++)
{

for (j = 0; j < 100; j++)
{

if (dizi >= dizi)
yedek = dizi[j];
dizi[j] = dizi;
dizi = yedek;
}
}


for (i = 0; i < 100; i++)
{
if (dizi > max)
max = dizi;
if (dizi < min )
min = dizi;
top = top + dizi;
}
lblminimum.Text = lblminimum.Text+ Convert.ToString(min);
lblmaksimum.Text =lblmaksimum.Text+ max.ToString();
double ort = top / 100;
lblortalama.Text =lblortalama.Text+ ort.ToString();




}

MERHABA arkadaşlar... yukarıda yazdığım programda bi hata var ama bu hatanın neden olduğunu anlamadım. yukarıda hata verilen yedek değişkenini koyu harfle yazdım...Hata verilen satırda yedek değişkenine Error 1 Use of unassigned local variable 'yedek' hatası veriyor. Ama iki satır üstte de aynı yedek değişkeni var onda nasıl hata vermiyor anlamadım. Nerede hata yapmış olabilirim yardımcı olursanız çok sevinirim...
 
hocam
if (dizi >= dizi)
yedek = dizi[j];
dizi[j] = dizi;
dizi = yedek;

yukarıdaki kısımda

if (dizi >= dizi[j])
olması gerekmıyormu sız orada i demişsiniz
 
hocam snn sorunun cevabını farkedemedim şuan ama aşağıdaki kısmı sanırım sıralama da kullanıosun bu nedenle koşuldaki i lerden birisi j olmalı ayrıca da yer değiştirme işleminde if in blok parantezleri olmalı { }. snn soruyuda farkedersem yazarım

if (dizi >= dizi)
yedek = dizi[j];
dizi[j] = dizi;
dizi = yedek;
 
hocam snn kodlarını kopyalayıp programda inceledim. sadece nesneler de hata verdi yedekte sorun çıkmadı. nesneleri de eklemediğim için o hatalar ztn normal. sorun yok gibi gorunuyor. isterseniz bir de projeyi ekleyin buraya direk szn projenizden incelesin ilgilenen arkadaşlar o daha kolay olur. iyi gecelr.
 
pergun' Alıntı:
yani int yedek=0;

aynen hocam... yedek değişkenine ilk değer olarak 0 verince hata düzeldi... teşekkür ederim hocam... Yardımlarınız için hepinize teşekkür ederim...
 
muhammet289' Alıntı:
hocam snn sorunun cevabını farkedemedim şuan ama aşağıdaki kısmı sanırım sıralama da kullanıosun bu nedenle koşuldaki i lerden birisi j olmalı ayrıca da yer değiştirme işleminde if in blok parantezleri olmalı { }. snn soruyuda farkedersem yazarım

if (dizi >= dizi)
yedek = dizi[j];
dizi[j] = dizi;
dizi = yedek;


doğru hocam... burayı da görmemişim... hataları düzelttim... pergun hocamın dediğini de yaptım... şu anda düzeldi... Teşekkür ederim Yardımlarınız için..

insan gece uykulu program yazarsa j yi i bile görüyor :D
 
BBNET
Geri
Üst