Skip to content

Instantly share code, notes, and snippets.

@bulentsiyah bulentsiyah/cozum.cs
Last active Oct 20, 2017

Embed
What would you like to do?
Ödüllü Programlama Sorusu ve Çözümü (C#) (Yazılım yeni başlayan için algoritma geliştirme) -- http://www.bulentsiyah.com/odullu-programlama-sorusu-ve-cozumu-csharp/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SubatYarisma
{
class Program
{
static void Main(string[] args)
{
Double AdanBuyukler=0, AdanKucukler=0;
String[] StringArray = new String[102];
bool cikis = true;
while (cikis)
{
String GirilenDeger;
bool cikis1 = true, cikis2 = true, cikis3 = true, cikis4 = true;
Console.WriteLine("A,N ve Kaynak noktalarının uzunluk değerlerini sırayla giriniz");
GirilenDeger = Console.ReadLine();
StringArray = GirilenDeger.Split(' ');
//A sayısının kısıtlama kontrolu
if (!(1 <= Convert.ToInt32(StringArray[0]) & Convert.ToInt32(StringArray[0]) <= 100))
{
Console.Write("A sayısı 1 <= A <= 100  olmalıdır.");
cikis1 = false;
}
//N sayısının kısıtlama kontrolu
if (!(2 <= Convert.ToInt32(StringArray[1]) & Convert.ToInt32(StringArray[1]) <= 30))
{
Console.Write("N sayısı 2 <= N <= 30  olmalıdır.");
cikis2 = false;
}
//Kaynak noktalarının uzunluk kısıtlaması kontrolu
for (int i = 2; i <= StringArray.Count() - 1; i++)
{
if (!(1 <= Convert.ToInt32(StringArray[i]) & Convert.ToInt32(StringArray[i]) <= 99))
{
Console.Write("Kaynak noktalarının uzunlukları 1 <= Kaynak noktası (sol uçtan uzaklık) <= 99  olmalıdır.");
cikis3 = false;
}
}
//Kaynak noktalarının birbirinden farklı mı kontrolu
for (int i = 2; i <= StringArray.Count() - 1; i++)
{
for (int j = i + 1; j <= StringArray.Count() - 1; j++)
{
if (Convert.ToInt32(StringArray[i]) == Convert.ToInt32(StringArray[j]))
{
Console.Write("Kaynak noktaları birbirlerinden farklı olmalıdır.");
cikis4 = false;
}
}
}
cikis = !(cikis1 & cikis2 & cikis3 & cikis4);
}
for (int i = 2; i <= StringArray.Count() - 1; i++)
{
for (int j = 2; j <= StringArray.Count() - 1; j++)
{
if (i != j)
{
int OlusanEnBuyukParca = 0;
if (Convert.ToInt32(StringArray[i]) < Convert.ToInt32(StringArray[j]))
{
OlusanEnBuyukParca = Convert.ToInt32(StringArray[i]);
if (OlusanEnBuyukParca < (Convert.ToInt32(StringArray[j]) - Convert.ToInt32(StringArray[i])))
{
OlusanEnBuyukParca = (Convert.ToInt32(StringArray[j]) - Convert.ToInt32(StringArray[i]));
}
if (OlusanEnBuyukParca < (100 - Convert.ToInt32(StringArray[j])))
{
OlusanEnBuyukParca = (100 - Convert.ToInt32(StringArray[j]));
}
}
else
{
OlusanEnBuyukParca = Convert.ToInt32(StringArray[j]);
if (OlusanEnBuyukParca < (Convert.ToInt32(StringArray[i]) - Convert.ToInt32(StringArray[j])))
{
OlusanEnBuyukParca = (Convert.ToInt32(StringArray[i]) - Convert.ToInt32(StringArray[j]));
}
if (OlusanEnBuyukParca < (100 - Convert.ToInt32(StringArray[i])))
{
OlusanEnBuyukParca = (100 - Convert.ToInt32(StringArray[i]));
}
}
if (OlusanEnBuyukParca >= Convert.ToInt32(StringArray[0]))
{
AdanBuyukler++;
}
else
{
AdanKucukler++;
}
}
}
double Olasilik =(AdanBuyukler) / (AdanBuyukler + AdanKucukler);
Console.Write("Sonuç=" + Olasilik);
Console.ReadLine();
}
}
}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.