• 11-11-2010, 20:44:45
    #1
    Merhaba arkadaşlar C#'tan bir ödevim var. Ödevimden bahsedeyim.

    İki değişken olacak(sayi1 ve sayi2). Bunlara randomize ile 1'den 10'a kadar bir değişken verilecek. Daha sonra 2 tane dropdownlist var. Bir butona basınca bu sayi1 ile sayi2 arasındaki sayıları hesaplayıp tek sayıları 1 dropdownliste, çift sayıları diğer dropdownliste atacak. Bir de bir yere bu sayi1 ile sayi2 arasında ne kadar sayı varsa hepsini toplayıp yazacak. Bir yere de bu sayıların 5. elemanını yazacak. Yardımcı olacak arkadaşları bekliyorum. Proje ödevim yarın yetiştiremezsem 0 geçecek. Biri bana msn üzerinden veya buradan yardım edebilir mi?
    Teşekkürler..
  • 11-11-2010, 21:32:52
    #2
    Yok mu yardım edecek?
    Şu an sayıları rastgele atamasını yaptım. Her ikisi de rastgele üretiliyor. Bundan sonra dizi yapmam lazım tek tek sayi1 ile sayi2 arasını yazması lazım. Ama sadece sayi1 ile sayi2 yi yazdırabiliyorum. Arasını yazdıramadım yardımcı olun lütfen.
  • 11-11-2010, 21:47:47
    #3
    şöyle yardım edeyim madem randomu yaptın..

    int sayi1,int sayi2;

    şimdi dikkat etmen gereken biri birinden büyük olmalı,o yüzden randomla yaparken onu kullanman lazım..

    Random rnd = new Random();
    sayi1 = rnd.NextInt();

    sayi2.rnd.NextInt(sayi1+1);
    bunu yapmamın amacı sayı2 nin her koşulda sayı1 den büyük olması..

    bundan sonra tek ve çift sayıları bulmaya geldi, sayının ikiye bölümünden kalan yoksa çift,kalan varsa tektir..

    for(int i=sayi1;i<=sayi2;i++)
    {
    if(i%2==0) //sayi1 in bölümünden kalan (% işareti modülüs demek,kalanı alıyor)0 ise
    birincilisteyeat==>i;
    else
    ikincilisteyeat==>i;

    yukarıdaki birinci ve ikinci listeye at olayını kendin yazarsın,neye eklemek istiyorsan..


    }


    5. sayıyı bulmak içinde şöyle yaparsın..

    int sayac=1;
    int besinciSayi=0;
    for(int i=sayi1;i<=sayi2;i++)
    {
    if(sayac==5)
    {
    besinciSayi=i;
    break;
    }

    }


    hepsini toplamak için de istersen bu yazdığım forun içindekileri üstteki for un içine koy..

    int toplam=0;

    for(;sayi1<=sayi2;sayi1++)
    toplam+=sayi1;



    dikkat ettiysen for(; yaptım,noktalı virgülden önce bişey yok çünkü zaten sayi1 i kullanacağım için bişey tanımlamama gerek yok,tanımlamıştım daha önce..

    toplam+=sayi1; demek

    toplam = toplam + sayi1; demenin kısa halidir.. bunu kullanabilmek içinde toplamın ilk değerini sıfır vermen gerekir,aksi halde null olan bir verinin üstüne o şekilde ekleme yapamazsın..

    yukarıda yazdıklarım sana hayli hayli yardımcı olacaktır..

    iyi çalışmalar
  • 11-11-2010, 23:21:09
    #4
    Herşeyi yaptım bana 5. terimi bulmam da yardımcı olur musunuz ?

    Alıntı
    int sayac=1;
    int besinciSayi=0;
    for(int i=sayi1;i<=sayi2;i++)
    {
    if(sayac==5)
    {
    besinciSayi=i;
    break;
    }

    }
    Şu kodun altına;
    Alıntı
    Label3.Text = besinciSayi.ToString();
    Bu kodu ekliyorum. Program çalışıyor. Ama butona falan basınca Label'a 0 ekliyor. Yardımcı olacak kimse yok mu ?
  • 12-11-2010, 03:13:52
    #5
    Kimlik doğrulama veya yönetimden onay bekliyor.
    bLoqqer adlı üyeden alıntı: mesajı görüntüle
    Herşeyi yaptım bana 5. terimi bulmam da yardımcı olur musunuz ?


    Şu kodun altına;

    Bu kodu ekliyorum. Program çalışıyor. Ama butona falan basınca Label'a 0 ekliyor. Yardımcı olacak kimse yok mu ?
    Bütün kodu okumadım ama bu sorununuzun sebebi sanırım sayacı arttırmamanız.
    for(int i=sayi1;i<=sayi2;i++)
    {
    sayac++;
    if(sayac==5)
    {
    besinciSayi=i;
    break;
    }
  • 12-11-2010, 04:57:44
    #6
    evet hocam sayacı arttırmamışım..
    kodu şöyle yaparsak çalışır

    int sayac=1;
    for(int i=sayi1;i<=sayi2;i++)
    {

    if(sayac==5)
    {
    besinciSayi=i;
    break;
    }
    sayac++;
    }