Şimdi Ara

C/C++/C# Sorularınız Buraya. . .(GÜNCEL) (45. sayfa)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
4.172
Cevap
118
Favori
169.987
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
3 oy
Öne Çıkar
Sayfa: önceki 4344454647
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • Arkadaşlar bir ödev üzerinde çalışıyorum bir kısmında takıldım. Girilen 20 adet öğrencinin notlarını dizide tanımladım. Daha sonrasında bu notların toplamını ve ortalamasını yazdırdım. Şimdi ise 50'den büyük olan notları, 50'den küçük olan notların adedini ve 50 alanların toplamını yazdırmam gerekli nasıl bir yol izlemeliyim, kodlar;
            { 
    int[] notlar = new int[20];
    Console.WriteLine("0 ile 100 arasında bir deger giriniz");
    Console.WriteLine("BİRİNCİ NOTU GİRİNİZ");
    notlar[0] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("İKİNCİ NOTU GİRİNİZ");
    notlar[1] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("ÜÇÜNCÜ NOTU GİRİNİZ");
    notlar[2] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("DÖRDÜNCÜ NOTU GİRİNİZ");
    notlar[3] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("BEŞİNCİ NOTU GİRİNİZ");
    notlar[4] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("ALTINCI NOTU GİRİNİZ");
    notlar[5] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("YEDİNCİ NOTU GİRİNİZ");
    notlar[6] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("SEKİZİNCİ NOTU GİRİNİZ");
    notlar[7] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("DOKUZUNCU NOTU GİRİNİZ");
    notlar[8] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("ONUNCU NOTU GİRİNİZ");
    notlar[9] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("ONBİRİNCİ NOTU GİRİNİZ");
    notlar[10] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("ONİKİNCİ NOTU GİRİNİZ");
    notlar[11] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("ONÜÇÜNCÜ NOTU GİRİNİZ");
    notlar[12] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("ONDÖRDÜNCÜ NOTU GİRİNİZ");
    notlar[13] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("ONBEŞİNCİ NOTU GİRİNİZ");
    notlar[14] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("ONALTINCI NOTU GİRİNİZ");
    notlar[15] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("ONYEDİNCİ NOTU GİRİNİZ");
    notlar[16] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("ONSEKİZİNCİ NOTU GİRİNİZ");
    notlar[17] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("ONDOKUZUNCU NOTU GİRİNİZ");
    notlar[18] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("YİRMİNCİ GİRİNİZ");
    notlar[19] = Convert.ToInt32(Console.ReadLine());
    int ort = (notlar[0] + notlar[1] + notlar[2] + notlar[3] + notlar[4] + notlar[5] + notlar[6] + notlar[7] + notlar[8] + notlar[9] + notlar[10] + notlar[11] + notlar[12] + notlar[13] + notlar[14] + notlar[15] + notlar[16] + notlar[17] + notlar[18] + notlar[19]) / 20;
    Console.WriteLine("ortalama {0}+{1}+{2}+{3}+{4}+{5}+{6}+{7}+{8}+{9}+{10}+{11}+{12}+{13}+{14}+{15}+{16}+{17}+{18}+{19}={20}", notlar[0], notlar[1], notlar[2], notlar[3], notlar[4], notlar[5], notlar[6], notlar[7], notlar[8], notlar[9], notlar[10], notlar[11], notlar[12], notlar[13], notlar[14], notlar[15], notlar[16], notlar[17], notlar[18], notlar[19], ort);
    }




  • quote:

    Orijinalden alıntı: ANIL_00

    Arkadaşlar bir ödev üzerinde çalışıyorum bir kısmında takıldım. Girilen 20 adet öğrencinin notlarını dizide tanımladım. Daha sonrasında bu notların toplamını ve ortalamasını yazdırdım. Şimdi ise 50'den büyük olan notları, 50'den küçük olan notların adedini ve 50 alanların toplamını yazdırmam gerekli nasıl bir yol izlemeliyim, kodlar;
            { 
    int[] notlar = new int[20];
    Console.WriteLine("0 ile 100 arasında bir deger giriniz");
    Console.WriteLine("BİRİNCİ NOTU GİRİNİZ");
    notlar[0] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("İKİNCİ NOTU GİRİNİZ");
    notlar[1] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("ÜÇÜNCÜ NOTU GİRİNİZ");
    notlar[2] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("DÖRDÜNCÜ NOTU GİRİNİZ");
    notlar[3] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("BEŞİNCİ NOTU GİRİNİZ");
    notlar[4] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("ALTINCI NOTU GİRİNİZ");
    notlar[5] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("YEDİNCİ NOTU GİRİNİZ");
    notlar[6] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("SEKİZİNCİ NOTU GİRİNİZ");
    notlar[7] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("DOKUZUNCU NOTU GİRİNİZ");
    notlar[8] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("ONUNCU NOTU GİRİNİZ");
    notlar[9] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("ONBİRİNCİ NOTU GİRİNİZ");
    notlar[10] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("ONİKİNCİ NOTU GİRİNİZ");
    notlar[11] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("ONÜÇÜNCÜ NOTU GİRİNİZ");
    notlar[12] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("ONDÖRDÜNCÜ NOTU GİRİNİZ");
    notlar[13] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("ONBEŞİNCİ NOTU GİRİNİZ");
    notlar[14] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("ONALTINCI NOTU GİRİNİZ");
    notlar[15] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("ONYEDİNCİ NOTU GİRİNİZ");
    notlar[16] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("ONSEKİZİNCİ NOTU GİRİNİZ");
    notlar[17] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("ONDOKUZUNCU NOTU GİRİNİZ");
    notlar[18] = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("YİRMİNCİ GİRİNİZ");
    notlar[19] = Convert.ToInt32(Console.ReadLine());
    int ort = (notlar[0] + notlar[1] + notlar[2] + notlar[3] + notlar[4] + notlar[5] + notlar[6] + notlar[7] + notlar[8] + notlar[9] + notlar[10] + notlar[11] + notlar[12] + notlar[13] + notlar[14] + notlar[15] + notlar[16] + notlar[17] + notlar[18] + notlar[19]) / 20;
    Console.WriteLine("ortalama {0}+{1}+{2}+{3}+{4}+{5}+{6}+{7}+{8}+{9}+{10}+{11}+{12}+{13}+{14}+{15}+{16}+{17}+{18}+{19}={20}", notlar[0], notlar[1], notlar[2], notlar[3], notlar[4], notlar[5], notlar[6], notlar[7], notlar[8], notlar[9], notlar[10], notlar[11], notlar[12], notlar[13], notlar[14], notlar[15], notlar[16], notlar[17], notlar[18], notlar[19], ort);
    }


    Böyle tek tek yapmana gerek yok, bir for yapısıyla dizinin içteki elemanını birer artırarak yaptırabilirsin. Ayrıca ReadLine'ları unutmuşsun.

    Soruna gelince, if yapısı kullan. Üç değişken belirle buyuk50,kucuk50,esit50. Eğer 50'ten büyükse buyuk50 bir artır tarzında bir işlem. Birazdan kodları eklerim, görürsen o zamana kadar üstünde düşünecek vaktin olur.

    Ekleme: Kodları ekledim, az önce C'den çıktım. Hata yaptıysam da sen ana mantığı kavramışsındır. Yine takıldığın bir nokta varsa yardımcı olmaya çalışırım. Kolay gelsin.

     

    int notlar[]=new int[20];

    for(i=0;i<=19;i++)
    {
    Console.Write("{0}. notu giriniz: ",i+1);
    notlar[i]=Convert.ToInt32(Console.ReadLine());
    if(notlar[i]<50)
    kucuk50++;
    if(notlar[i]>50)
    buyuk50++;
    if(notlar[i]==50)
    esit50++;
    toplam=toplam+notlar[i];


    ortalama=toplam/20;



    < Bu mesaj bu kişi tarafından değiştirildi MrOwl -- 7 Aralık 2012; 15:21:07 >




  • Yardımınız için çok teşekkür ederim fakat yapmak istediğim şey aşağıdaki gibi olacak, yani sonuçlar en sonda belirecek . Örneğin;
    1.Notu gir: 40
    2.Notu gir: 60

    Toplam & Ortalama: 100 & 50
    50'den büyük notlar: 2.Not:60
    50'den küçük notlar: 1 adet
    50 olan notlar: 0 adet

    gibi

    burdan sonra nasıl yol izleyebiliriz.
            { 
    int[] notlar = new int[20];
    int i;
    for (i = 0; i <= 19; i++)
    {
    Console.Write("{0}. notu giriniz: ", i + 1);
    notlar[i] = Convert.ToInt32(Console.ReadLine());
    }



    < Bu mesaj bu kişi tarafından değiştirildi nl_ztrk -- 7 Aralık 2012; 16:23:54 >
  • 50'den büyük, küçük ve eşit olanları tek tek(hangi not hangi değer) yazdırmak istiyorsunuz, doğru mu anladım?
  • quote:

    Orijinalden alıntı: MrOwl

    50'den büyük, küçük ve eşit olanları tek tek(hangi not hangi değer) yazdırmak istiyorsunuz, doğru mu anladım?

    Evet dediğiniz gibi.
    1. Girilen 20 tane notun toplamını ve ortalamasını yazdırmasını
    2. 50'den büyük olan notları yazdırmasını
    3. 50'den küçük olan notların ise adedini
    4. 50 olan notların ise toplamını yazdırmasını istiyorum ve bunları son kertede göstersin yani 20.sayıyı girdikten sonra..
    Şu kodda 1. adımı gerçekleştirdim sanırım.
                int[] notlar = new int[20]; 
    int i;
    int toplam = 0;
    int ort = 0;
    for (i = 0; i <= 19; i++)
    {
    Console.Write("{0}. notu giriniz: ", i + 1);
    notlar[i] = Convert.ToInt32(Console.ReadLine());
    toplam = toplam + notlar[i];
    ort = toplam / 20;
    }
    Console.WriteLine("Toplam " + toplam);
    Console.WriteLine("Ortalama " + ort);



    < Bu mesaj bu kişi tarafından değiştirildi nl_ztrk -- 7 Aralık 2012; 17:13:44 >




  • quote:

    Orijinalden alıntı: ANIL_00

    quote:

    Orijinalden alıntı: MrOwl

    50'den büyük, küçük ve eşit olanları tek tek(hangi not hangi değer) yazdırmak istiyorsunuz, doğru mu anladım?

    Evet dediğiniz gibi.
    1. Girilen 20 tane notun toplamını ve ortalamasını yazdırmasını
    2. 50'den büyük olan notları yazdırmasını
    3. 50'den küçük olan notların ise adedini
    4. 50 olan notların ise toplamını yazdırmasını istiyorum ve bunları son kertede göstersin yani 20.sayıyı girdikten sonra..
    Şu kodda 1. adımı gerçekleştirdim sanırım.
                int[] notlar = new int[20]; 
    int i;
    int toplam = 0;
    int ort = 0;
    for (i = 0; i <= 19; i++)
    {
    Console.Write("{0}. notu giriniz: ", i + 1);
    notlar[i] = Convert.ToInt32(Console.ReadLine());
    toplam = toplam + notlar[i];
    ort = toplam / 20;
    }
    Console.WriteLine("Toplam " + toplam);
    Console.WriteLine("Ortalama " + ort);


    ort = toplam / 20;

    Bu ifadeyi for döngüsü içerisinden çıkarabilirsiniz. Gereksiz işlem yapılmamış olur, her seferinde ortalamayı hesaplamasına gerek yok.

    Eğer 50'den büyük olan notlar için kaçıncı not olduğunun bir önemi yoksa işlem daha basit. Diğer türlüyse de biraz fikir vermiş olayım.

    notlar girdisi alındıktan sonra

    if(notlar>50)
    buyuk50den[j]=notlar;
    j++;

    diye bir dizi daha kullanabilirsiniz.

    Burada yaptığımız 50'den büyük olanları kaydetmek için ayrı bir dizi kullanmak. Peki sıra için ne yaparız? Onda da aynı mantık, bir deneyin isterseniz. Çok zor gelirse yine yardımcı olayım. Biraz karışık gibi gelebilir çünkü ilk seferde.

    garui görürse de daha farklı yoldan çözüm önerebilir belki. Benim aklıma bazen kompleks veya cins cins yollar gelir :)




  • quote:

    Orijinalden alıntı: MrOwl

    quote:

    Orijinalden alıntı: ANIL_00

    quote:

    Orijinalden alıntı: MrOwl

    50'den büyük, küçük ve eşit olanları tek tek(hangi not hangi değer) yazdırmak istiyorsunuz, doğru mu anladım?

    Evet dediğiniz gibi.
    1. Girilen 20 tane notun toplamını ve ortalamasını yazdırmasını
    2. 50'den büyük olan notları yazdırmasını
    3. 50'den küçük olan notların ise adedini
    4. 50 olan notların ise toplamını yazdırmasını istiyorum ve bunları son kertede göstersin yani 20.sayıyı girdikten sonra..
    Şu kodda 1. adımı gerçekleştirdim sanırım.
                int[] notlar = new int[20]; 
    int i;
    int toplam = 0;
    int ort = 0;
    for (i = 0; i <= 19; i++)
    {
    Console.Write("{0}. notu giriniz: ", i + 1);
    notlar[i] = Convert.ToInt32(Console.ReadLine());
    toplam = toplam + notlar[i];
    ort = toplam / 20;
    }
    Console.WriteLine("Toplam " + toplam);
    Console.WriteLine("Ortalama " + ort);


    ort = toplam / 20;

    Bu ifadeyi for döngüsü içerisinden çıkarabilirsiniz. Gereksiz işlem yapılmamış olur, her seferinde ortalamayı hesaplamasına gerek yok.

    Eğer 50'den büyük olan notlar için kaçıncı not olduğunun bir önemi yoksa işlem daha basit. Diğer türlüyse de biraz fikir vermiş olayım.

    notlar girdisi alındıktan sonra

    if(notlar>50)
    buyuk50den[j]=notlar;
    j++;

    diye bir dizi daha kullanabilirsiniz.

    Burada yaptığımız 50'den büyük olanları kaydetmek için ayrı bir dizi kullanmak. Peki sıra için ne yaparız? Onda da aynı mantık, bir deneyin isterseniz. Çok zor gelirse yine yardımcı olayım. Biraz karışık gibi gelebilir çünkü ilk seferde.

    garui görürse de daha farklı yoldan çözüm önerebilir belki. Benim aklıma bazen kompleks veya cins cins yollar gelir :)

    Dediğinizi anladım 50 den büyük sayılar için ayrı bir dizi oluşturup o diziyi yazdıracağız. Yazdığınız diziyi yazdığınız şekilde nasıl tanımlayabilirim biraz daha ayrıntılı gösterebilirseniz iyi olur, teşekkürler tekrar.




  • quote:

    Orijinalden alıntı: ANIL_00

    quote:

    Orijinalden alıntı: MrOwl

    quote:

    Orijinalden alıntı: ANIL_00

    quote:

    Orijinalden alıntı: MrOwl

    50'den büyük, küçük ve eşit olanları tek tek(hangi not hangi değer) yazdırmak istiyorsunuz, doğru mu anladım?

    Evet dediğiniz gibi.
    1. Girilen 20 tane notun toplamını ve ortalamasını yazdırmasını
    2. 50'den büyük olan notları yazdırmasını
    3. 50'den küçük olan notların ise adedini
    4. 50 olan notların ise toplamını yazdırmasını istiyorum ve bunları son kertede göstersin yani 20.sayıyı girdikten sonra..
    Şu kodda 1. adımı gerçekleştirdim sanırım.
                int[] notlar = new int[20]; 
    int i;
    int toplam = 0;
    int ort = 0;
    for (i = 0; i <= 19; i++)
    {
    Console.Write("{0}. notu giriniz: ", i + 1);
    notlar[i] = Convert.ToInt32(Console.ReadLine());
    toplam = toplam + notlar[i];
    ort = toplam / 20;
    }
    Console.WriteLine("Toplam " + toplam);
    Console.WriteLine("Ortalama " + ort);


    ort = toplam / 20;

    Bu ifadeyi for döngüsü içerisinden çıkarabilirsiniz. Gereksiz işlem yapılmamış olur, her seferinde ortalamayı hesaplamasına gerek yok.

    Eğer 50'den büyük olan notlar için kaçıncı not olduğunun bir önemi yoksa işlem daha basit. Diğer türlüyse de biraz fikir vermiş olayım.

    notlar girdisi alındıktan sonra

    if(notlar>50)
    buyuk50den[j]=notlar;
    j++;

    diye bir dizi daha kullanabilirsiniz.

    Burada yaptığımız 50'den büyük olanları kaydetmek için ayrı bir dizi kullanmak. Peki sıra için ne yaparız? Onda da aynı mantık, bir deneyin isterseniz. Çok zor gelirse yine yardımcı olayım. Biraz karışık gibi gelebilir çünkü ilk seferde.

    garui görürse de daha farklı yoldan çözüm önerebilir belki. Benim aklıma bazen kompleks veya cins cins yollar gelir :)

    Dediğinizi anladım 50 den büyük sayılar için ayrı bir dizi oluşturup o diziyi yazdıracağız. Yazdığınız diziyi yazdığınız şekilde nasıl tanımlayabilirim biraz daha ayrıntılı gösterebilirseniz iyi olur, teşekkürler tekrar.

    Tamam o zaman şöyle bir deneyelim bakalım oluyor mu.

    int[] notlar = new int[20]; 
    int[] buyuk50 = new int[20];
    int i,j=0;
    int toplam = 0;
    int ort = 0;
    for (i = 0; i <= 19; i++)
    {
    Console.Write("{0}. notu giriniz: ", i + 1);
    notlar[i] = Convert.ToInt32(Console.ReadLine());
    if(notlar[i]>50)
    {
    buyuk50[j]=notlar[i];
    j++;
    }

    toplam = toplam + notlar[i];
    }

    ort = toplam / 20;
    Console.WriteLine("Toplam " + toplam);
    Console.WriteLine("Ortalama " + ort);

    j=0;

    for(i=0;i<=20;i++)
    {
    if(notlar[i]>50)
    {
    Console.WriteLine("{0}. not = {1}",i+1,buyuk50[j]);
    j++;
    }
    }


    Biraz daha farklı olabilirdi ama dümdüz yazdım, ilk aklıma böyle geldi. Anlamadığın noktalar olmuş olabilir, lütfen sor.




  • quote:

    Orijinalden alıntı: MrOwl

    quote:

    Orijinalden alıntı: ANIL_00

    quote:

    Orijinalden alıntı: MrOwl

    quote:

    Orijinalden alıntı: ANIL_00

    quote:

    Orijinalden alıntı: MrOwl

    50'den büyük, küçük ve eşit olanları tek tek(hangi not hangi değer) yazdırmak istiyorsunuz, doğru mu anladım?

    Evet dediğiniz gibi.
    1. Girilen 20 tane notun toplamını ve ortalamasını yazdırmasını
    2. 50'den büyük olan notları yazdırmasını
    3. 50'den küçük olan notların ise adedini
    4. 50 olan notların ise toplamını yazdırmasını istiyorum ve bunları son kertede göstersin yani 20.sayıyı girdikten sonra..
    Şu kodda 1. adımı gerçekleştirdim sanırım.
                int[] notlar = new int[20]; 
    int i;
    int toplam = 0;
    int ort = 0;
    for (i = 0; i <= 19; i++)
    {
    Console.Write("{0}. notu giriniz: ", i + 1);
    notlar[i] = Convert.ToInt32(Console.ReadLine());
    toplam = toplam + notlar[i];
    ort = toplam / 20;
    }
    Console.WriteLine("Toplam " + toplam);
    Console.WriteLine("Ortalama " + ort);


    ort = toplam / 20;

    Bu ifadeyi for döngüsü içerisinden çıkarabilirsiniz. Gereksiz işlem yapılmamış olur, her seferinde ortalamayı hesaplamasına gerek yok.

    Eğer 50'den büyük olan notlar için kaçıncı not olduğunun bir önemi yoksa işlem daha basit. Diğer türlüyse de biraz fikir vermiş olayım.

    notlar girdisi alındıktan sonra

    if(notlar>50)
    buyuk50den[j]=notlar;
    j++;

    diye bir dizi daha kullanabilirsiniz.

    Burada yaptığımız 50'den büyük olanları kaydetmek için ayrı bir dizi kullanmak. Peki sıra için ne yaparız? Onda da aynı mantık, bir deneyin isterseniz. Çok zor gelirse yine yardımcı olayım. Biraz karışık gibi gelebilir çünkü ilk seferde.

    garui görürse de daha farklı yoldan çözüm önerebilir belki. Benim aklıma bazen kompleks veya cins cins yollar gelir :)

    Dediğinizi anladım 50 den büyük sayılar için ayrı bir dizi oluşturup o diziyi yazdıracağız. Yazdığınız diziyi yazdığınız şekilde nasıl tanımlayabilirim biraz daha ayrıntılı gösterebilirseniz iyi olur, teşekkürler tekrar.

    Tamam o zaman şöyle bir deneyelim bakalım oluyor mu.

    int[] notlar = new int[20]; 
    int[] buyuk50 = new int[20];
    int i,j=0;
    int toplam = 0;
    int ort = 0;
    for (i = 0; i <= 19; i++)
    {
    Console.Write("{0}. notu giriniz: ", i + 1);
    notlar[i] = Convert.ToInt32(Console.ReadLine());
    if(notlar[i]>50)
    {
    buyuk50[j]=notlar[i];
    j++;
    }

    toplam = toplam + notlar[i];
    }

    ort = toplam / 20;
    Console.WriteLine("Toplam " + toplam);
    Console.WriteLine("Ortalama " + ort);

    j=0;

    for(i=0;i<=20;i++)
    {
    if(notlar[i]>50)
    {
    Console.WriteLine("{0}. not = {1}",i+1,buyuk50[j]);
    j++;
    }
    }


    Biraz daha farklı olabilirdi ama dümdüz yazdım, ilk aklıma böyle geldi. Anlamadığın noktalar olmuş olabilir, lütfen sor.

    Artık olduğu kadarıyla :) Çeşitli yöntemleri öğrenmiş oldum sayenizde, ara sıra bölümüm nedeniyle buraya soru soruyorum. Sizi daha fazla meşgul etmek istemem, yardımınız için çok teşekkür ederim. Kendinize iyi bakın




  • quote:

    Orijinalden alıntı: ANIL_00

    quote:

    Orijinalden alıntı: MrOwl

    quote:

    Orijinalden alıntı: ANIL_00

    quote:

    Orijinalden alıntı: MrOwl

    quote:

    Orijinalden alıntı: ANIL_00

    quote:

    Orijinalden alıntı: MrOwl

    50'den büyük, küçük ve eşit olanları tek tek(hangi not hangi değer) yazdırmak istiyorsunuz, doğru mu anladım?

    Evet dediğiniz gibi.
    1. Girilen 20 tane notun toplamını ve ortalamasını yazdırmasını
    2. 50'den büyük olan notları yazdırmasını
    3. 50'den küçük olan notların ise adedini
    4. 50 olan notların ise toplamını yazdırmasını istiyorum ve bunları son kertede göstersin yani 20.sayıyı girdikten sonra..
    Şu kodda 1. adımı gerçekleştirdim sanırım.
                int[] notlar = new int[20]; 
    int i;
    int toplam = 0;
    int ort = 0;
    for (i = 0; i <= 19; i++)
    {
    Console.Write("{0}. notu giriniz: ", i + 1);
    notlar[i] = Convert.ToInt32(Console.ReadLine());
    toplam = toplam + notlar[i];
    ort = toplam / 20;
    }
    Console.WriteLine("Toplam " + toplam);
    Console.WriteLine("Ortalama " + ort);


    ort = toplam / 20;

    Bu ifadeyi for döngüsü içerisinden çıkarabilirsiniz. Gereksiz işlem yapılmamış olur, her seferinde ortalamayı hesaplamasına gerek yok.

    Eğer 50'den büyük olan notlar için kaçıncı not olduğunun bir önemi yoksa işlem daha basit. Diğer türlüyse de biraz fikir vermiş olayım.

    notlar girdisi alındıktan sonra

    if(notlar>50)
    buyuk50den[j]=notlar;
    j++;

    diye bir dizi daha kullanabilirsiniz.

    Burada yaptığımız 50'den büyük olanları kaydetmek için ayrı bir dizi kullanmak. Peki sıra için ne yaparız? Onda da aynı mantık, bir deneyin isterseniz. Çok zor gelirse yine yardımcı olayım. Biraz karışık gibi gelebilir çünkü ilk seferde.

    garui görürse de daha farklı yoldan çözüm önerebilir belki. Benim aklıma bazen kompleks veya cins cins yollar gelir :)

    Dediğinizi anladım 50 den büyük sayılar için ayrı bir dizi oluşturup o diziyi yazdıracağız. Yazdığınız diziyi yazdığınız şekilde nasıl tanımlayabilirim biraz daha ayrıntılı gösterebilirseniz iyi olur, teşekkürler tekrar.

    Tamam o zaman şöyle bir deneyelim bakalım oluyor mu.

    int[] notlar = new int[20]; 
    int[] buyuk50 = new int[20];
    int i,j=0;
    int toplam = 0;
    int ort = 0;
    for (i = 0; i <= 19; i++)
    {
    Console.Write("{0}. notu giriniz: ", i + 1);
    notlar[i] = Convert.ToInt32(Console.ReadLine());
    if(notlar[i]>50)
    {
    buyuk50[j]=notlar[i];
    j++;
    }

    toplam = toplam + notlar[i];
    }

    ort = toplam / 20;
    Console.WriteLine("Toplam " + toplam);
    Console.WriteLine("Ortalama " + ort);

    j=0;

    for(i=0;i<=20;i++)
    {
    if(notlar[i]>50)
    {
    Console.WriteLine("{0}. not = {1}",i+1,buyuk50[j]);
    j++;
    }
    }


    Biraz daha farklı olabilirdi ama dümdüz yazdım, ilk aklıma böyle geldi. Anlamadığın noktalar olmuş olabilir, lütfen sor.

    Artık olduğu kadarıyla :) Çeşitli yöntemleri öğrenmiş oldum sayenizde, ara sıra bölümüm nedeniyle buraya soru soruyorum. Sizi daha fazla meşgul etmek istemem, yardımınız için çok teşekkür ederim. Kendinize iyi bakın

    Rica ederim buraya dinlenmeye geliyorum, seve seve cevaplarım. Ben cevaplamassam arkadaşlar cevaplar. Olduğu kadarıyla deme, sen zaten programı şöyle detaylıca bir 5-10 dakika bakınca olayı anlarsın

    50'den büyük sayılar için bir dizi oluşturduk. 50'den büyük sayıları not sırasına göre o diziye kaydettik.

    Sonra döngü dışında yazdırma işlemi yaptırmak için, yine girilen notları gözden geçirdik. 50'den büyük olduğunda sayıyı yazdırdık. Diziye de gerek yoktu ama, mantığı kolay kavransın diye ekledim.

    Sen de kendine iyi bak İyi çalışmalar...



    < Bu mesaj bu kişi tarafından değiştirildi MrOwl -- 7 Aralık 2012; 18:31:11 >




  • merhaba arkadaşlar.
    c de WM_KEYDOWN WM_KEYUP komutları nasıl kullanılır ?
    bu komutlarla ctrl+c/v gibi komutlar uygulanabilir mi?



    < Bu mesaj bu kişi tarafından değiştirildi hezafençelebi -- 9 Aralık 2012; 0:27:34 >
  • quote:

    Orijinalden alıntı: MrOwl

    quote:

    Orijinalden alıntı: ANIL_00

    quote:

    Orijinalden alıntı: MrOwl

    50'den büyük, küçük ve eşit olanları tek tek(hangi not hangi değer) yazdırmak istiyorsunuz, doğru mu anladım?

    Evet dediğiniz gibi.
    1. Girilen 20 tane notun toplamını ve ortalamasını yazdırmasını
    2. 50'den büyük olan notları yazdırmasını
    3. 50'den küçük olan notların ise adedini
    4. 50 olan notların ise toplamını yazdırmasını istiyorum ve bunları son kertede göstersin yani 20.sayıyı girdikten sonra..
    Şu kodda 1. adımı gerçekleştirdim sanırım.
                int[] notlar = new int[20]; 
    int i;
    int toplam = 0;
    int ort = 0;
    for (i = 0; i <= 19; i++)
    {
    Console.Write("{0}. notu giriniz: ", i + 1);
    notlar[i] = Convert.ToInt32(Console.ReadLine());
    toplam = toplam + notlar[i];
    ort = toplam / 20;
    }
    Console.WriteLine("Toplam " + toplam);
    Console.WriteLine("Ortalama " + ort);


    ort = toplam / 20;

    Bu ifadeyi for döngüsü içerisinden çıkarabilirsiniz. Gereksiz işlem yapılmamış olur, her seferinde ortalamayı hesaplamasına gerek yok.

    Eğer 50'den büyük olan notlar için kaçıncı not olduğunun bir önemi yoksa işlem daha basit. Diğer türlüyse de biraz fikir vermiş olayım.

    notlar girdisi alındıktan sonra

    if(notlar>50)
    buyuk50den[j]=notlar;
    j++;

    diye bir dizi daha kullanabilirsiniz.

    Burada yaptığımız 50'den büyük olanları kaydetmek için ayrı bir dizi kullanmak. Peki sıra için ne yaparız? Onda da aynı mantık, bir deneyin isterseniz. Çok zor gelirse yine yardımcı olayım. Biraz karışık gibi gelebilir çünkü ilk seferde.

    garui görürse de daha farklı yoldan çözüm önerebilir belki. Benim aklıma bazen kompleks veya cins cins yollar gelir :)

    Alıntıları Göster
    Teşekkür ederim MrOwl.




  • fflush(stdin);
    yapısı yerine fonksiyon olmayan nasıl bir yapı kullanabilirim?
  • quote:

    Orijinalden alıntı: jervis

    fflush(stdin);
    yapısı yerine fonksiyon olmayan nasıl bir yapı kullanabilirim?

    Bu soruna cevap oluyor mu jervis? Veya tam olarak yapmak istediğin nedir?





  • quote:

    Orijinalden alıntı: garui

    Teşekkür ederim MrOwl.

    Ben teşekkür ederim Yüzbaşım.
  • quote:

    Orijinalden alıntı: MrOwl

    quote:

    Orijinalden alıntı: jervis

    fflush(stdin);
    yapısı yerine fonksiyon olmayan nasıl bir yapı kullanabilirim?

    Bu soruna cevap oluyor mu jervis? Veya tam olarak yapmak istediğin nedir?

    http://www.sorucevap.com/bilisimteknolojisi/programcilik/c/ders.asp?206634

    fflush(stdin) bir fonksiyondur,ben fonksiyon kullanmadan bu işlevi yapabilecek kod varmıdır diye soruyorum?




  • selam arkadaşlar c de main () fonksiyonuna parametre aktarımı ile ilgili sorum var

    soru: a,b,c birer tamsayı olmak üzere, belirsiz sayıda verilen (a,b,c) değer grubu için Y=a+2b+3c
    değeri hesaplanıyor. Buna göre,
    a) Y değerlerinin mutlak değerlerinin toplamını,
    b) Elde edilen tüm Y değerleri içerisinde ikinci ve sondan ikinci olan Y değerlerini ve hangi (a,b,c)
    den elde edildiğini, bulup yazdıran bir C programı yazınız.

    soruyu code blocksta çözdüm hata varmı bilmiyorum ama sorun şu ki code blokcsta programı çalıştırdım ama parametreleri nerden gireceğimi bilmiyorum yardımcı olursanız sevinirim

    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    int main(int argsay,char*argvek[])
    {
    int i,k=0,top,y;
    for(i=1;i<argsay;i=i+3)
    {
    y=atoi(argvek)+atoi(argvek[i+1])+atoi(argvek[i+2]);
    top=abs(y)+top;
    k++;
    if (k==2)
    printf("2 y degeri=%d",y);
    if(k==argsay-1)
    printf("sondan 2.y degeri=&d",y);
    }
    printf("toplam degeri=%d",top);
    getch ();
    return 0;
    }



    < Bu mesaj bu kişi tarafından değiştirildi ünal719 -- 9 Aralık 2012; 16:25:09 >




  • kolay gelsin arkadaşlar. Arkadaşlar visual studio ile report oluşturuyorum programın içinde. MDb den oluşturduğum raporu bir sütuna göre sıralıyor. ama sıralama yaparken istiyorumki Abdulkadir doğa haluk.ikincisi abdulkadir doğa kazım şekilde sıralarken program sıralamayı
    abdulkadir doğa haluk
    kazım
    eğriö mahmut şeklinde sıralıyor. yani aynı ismi bir kere yazıyor. ekli resimde mevcut.

    ben istiyorumki:

    abdulkadir doğa haluk
    abdulkadir doğa kazım
    abdulkadir eğriö mahmut şeklinde raporda sıralasın istiyorum. bu şekilde nasıl yazdırırır report da.Acil yardıma ihtiyacım var.





  • quote:

    Orijinalden alıntı: ünal719

    selam arkadaşlar c de main () fonksiyonuna parametre aktarımı ile ilgili sorum var

    soru: a,b,c birer tamsayı olmak üzere, belirsiz sayıda verilen (a,b,c) değer grubu için Y=a+2b+3c
    değeri hesaplanıyor. Buna göre,
    a) Y değerlerinin mutlak değerlerinin toplamını,
    b) Elde edilen tüm Y değerleri içerisinde ikinci ve sondan ikinci olan Y değerlerini ve hangi (a,b,c)
    den elde edildiğini, bulup yazdıran bir C programı yazınız.

    soruyu code blocksta çözdüm hata varmı bilmiyorum ama sorun şu ki code blokcsta programı çalıştırdım ama parametreleri nerden gireceğimi bilmiyorum yardımcı olursanız sevinirim

    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    int main(int argsay,char*argvek[])
    {
    int i,k=0,top,y;
    for(i=1;i<argsay;i=i+3)
    {
    y=atoi(argvek)+atoi(argvek[i+1])+atoi(argvek[i+2]);
    top=abs(y)+top;
    k++;
    if (k==2)
    printf("2 y degeri=%d",y);
    if(k==argsay-1)
    printf("sondan 2.y degeri=&d",y);
    }
    printf("toplam degeri=%d",top);
    getch ();
    return 0;
    }

    c yi tam hatırlayamıyorum ama parametre giremiyorum dediğin değer girmekmi scanf imi soyluyorsun anlamadım ve up ayrıca




  • şu kodu c'ye çevirebilecek var mı, çok acil ihtiyacım var, şimdiden teşekkürler.

    #include <iostream>
    #include <time.h>
    using namespace std;
    int x[21], i, j;
    int main(){
    srand(time(0));
    cout<<"20 elemanli dizi:\n";
    for(i=1; i<=20; i++){
    x=rand()%21;
    }

    for(i=1; i<=20; i++){
    cout<<x<<"\t";
    }
    cout<<"\n\nIndisleri eklenmis hali:\n";
    for(i=1; i<=20; i++){
    x=x+i;
    }
    for(i=1; i<=20; i++){
    cout<<x<<"\t";
    }
    cout<<"\n";
    system("PAUSE");
    }



    < Bu mesaj bu kişi tarafından değiştirildi ozit -- 9 Aralık 2012; 23:32:21 >
  • 
Sayfa: önceki 4344454647
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.