C# Console girilen 20 sayıdan çift sayıların toplamının tek sayıların toplamına oranını bulma
Algoritma
- Başla
- tek = 0, cift = 0, sayi, i = 1, oran değişkenlerini al
- sayi değerini gir
- Eğer sayi % 2 = 0 ise cift = cift + sayi, değilse tek = tek + sayi işlemini yap
- Eğer i = 20 ise devam et değilse i++ 3’e git
- oran = cift/tek işlemini yap
- Yazdır oran
- Bitir
Bu soruda döngü ve şart mekanizması yine önümüze çıkmaktadır. 20 defa sayı girmek yerine programda 20 defa çalışacak bir döngü kurulmalıdır.
Eğer mekanizması, (%) kalanın tek mi çift mi olduğunu saptar ve bunları boş değişkenlere atar.Kalan tek ise tek değişkenine, çift ise çift değişkenine toplanarak atılır ( Bu değişkenlere akılda daha kolay tutulabilmesi için kese de diyebiliriz ). Burada tek ve çift değişkenlerinin değerleri başta 0 olmak zorundadır.Buna dikkat etmeliyiz, yoksa cift = cift + sayi işlemini yapamayız.
Bu sorunun algoritma testini 20 sayı için değil 4 sayı için de yapabilirsiniz. Çünkü algoritmayı kurduğunuzda algoritma dinamik ise 4 olsun 1004 olsun fark etmez . Bunun için statik çözümler üretmek yerine dinamik çözümler üretmeliyiz.
Kod Yapısı
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace dmg
{
class Program
{
static void Main(string[] args)
{
int tek = 0;
int cift = 0;
int i,sayi;
float oran;
for(i = 1; i <= 20;i++)
{
Console.Write(i + ".sayıyı Giriniz = ");
sayi = Convert.ToInt32( Console.ReadLine() );
if( sayi % 2 == 0 )
{
cift = cift + sayi;
}
else
{
tek = tek + sayi;
}
}
oran = cift / tek;
Console.WriteLine("Oran = " + oran);
Console.ReadLine();
}
}
}
4 Kasım 2017