using System;
using System.Collections.Generic;
using System.Threading;

public class Program {
public static void Main() {
Sayiuret sayiuret = new Sayiuret();
KucuktenBuyuge kbuyuge = new KucuktenBuyuge();
BuyuktenKucuge bkucuge = new BuyuktenKucuge();
string sifre = "admin";
int hak = 3;
Console.WriteLine("Hoş geldiniz, lütfen şifrenizi girin: ");

while (hak > 0) {
string cevap = Console.ReadLine();

if (cevap != sifre) {
hak--;
Console.WriteLine("Hatalı şifre girdiniz, " + hak.ToString() + " hakkınız kaldı.");
}
else {
Console.WriteLine("Giriş başarılı!");
break;
}

if (hak < 1) {
Console.WriteLine("Hakkınız dolduğu için program 3 saniye içerisinde kapanacak!");
Thread.Sleep(3000);
Environment.Exit(0);
}

}
int[] sayilar = sayiuret.Rand();
Console.WriteLine("Oluşturulan sayılar;");
foreach (var i in sayilar){
Console.Write(i + ", ");
}
Console.WriteLine("\nKüçükten büyüğe;");
kbuyuge.kSirala(sayilar);
Console.WriteLine("\nBüyükten küçüğe;");
bkucuge.bSirala(sayilar);
Console.ReadKey();
}
}

public class Sayiuret {
Random rand = new Random();
List < int > liste = new List < int > ();
int tmp;
public int[] Rand() {
for (int i = 0; i < 50; i++) {
tmp = rand.Next(1, 50);
liste.Add(tmp);
}
return liste.ToArray();
}
}

public class KucuktenBuyuge {
public void kSirala(int[] sayi) {
Array.Sort(sayi);
foreach(var s in sayi) {
Console.Write(s + ", ");
}
}
}

public class BuyuktenKucuge {
public void bSirala(int[] sayi) {
Array.Sort(sayi);
Array.Reverse(sayi);
foreach(var s in sayi) {
Console.Write(s + ", ");
}
}
}