Kolonlu Sayısal Loto Programı C# Console
[code lang=”csharp”]
<pre>
using System;
using System.Collections.Generic;
using System.Linq;//www.gorselprogramlama.com
using System.Text;
namespace kolonlu_sayısal_loto
{
class Program
{
static void Main(string[] args)//www.gorselprogramlama.com
{
int kolonSayisi;
Console.Write("Kolon sayısını giriniz >>>");
kolonSayisi = int.Parse(Console.ReadLine());
Random rnd = new Random();//www.gorselprogramlama.com
int[] rastgelesayi = new int[6];
for (int j = 0; j < kolonSayisi; j++)
{
for (int i = 0; i < 6; i++)//www.gorselprogramlama.com
{
rastgelesayi[i] = rnd.Next(1, 50);
}
Array.Sort(rastgelesayi);
for (int i = 0; i < 6; i++)//www.gorselprogramlama.com
{
Console.Write(rastgelesayi[i] + " ");
}//www.gorselprogramlama.com
Console.WriteLine("\n");
}
Console.ReadLine();
}//www.gorselprogramlama.com
}
}
[/code]

sayısal lotoda tekrar eden sayılar olamaz
Ömer : Tekrar eden sayı olmaması için indexof metodunu kullanabilirsiniz.
Merhaba admin,
indexof nasıl yapabilirim. bir kaç yöntem denedim çalışmadı.
üstteki kodlar çok güzel tek eksik aynı sayılar geliyor. index of yaparmısın lütfen
cevaplarsan sevinirim
Ahmet :
Aşağıdaki linki incele.
http://www.gorselprogramlama.com/sayisal-loto-programi-cnetcnet/
@admin
Cevabınız için teşekkür ederim. Verdiğiniz linkteki projeyi console olarak yaptım. çalıştırdım. hatta kolonlu şekilde bazı yerleri değiştirdim. fakat başaramadım. şu kısmı nasıl kolonlu sayısal loto programına entegre edeceğimi bilmiyorum.
if (Array.IndexOf(sayilar, rastgele) == -1) //dizinin içinde aynı sayı yoksa
aşağıdaki kod bloğu random olarak 6 karakter veriyor. ben 5 kolonlu alt alta yazacak şekilde düzenlemeye çalıştım olmadı. for içine aldım aşağıdaki kodu. yine olmadı. nasıl yapabilirim? şimdiden teşekkürler admin
while (sayac < 6)
{
rastgele = r.Next(1, 50); //1 ile 49 arasında rastgele sayı üretiliyor
if (Array.IndexOf(sayilar, rastgele) == -1) //dizinin içinde aynı sayı yoksa
{
sayilar[sayac] = rastgele; //üretilen rastgele sayiyi dizinin sayac kaç ise o elemanına ata
sayac++; //sayacı bir artır
}
sayac baslangic degeri 1 yapmis olabilirsin. Sifir olmali
Hayır 0 yaptım da bence yanlış yapıyorum. kod aşağıdaki gibi.
for (int i = 0; i < 6; i++)
{
while (sayac < 6)
{
rastgele = r.Next(1, 50); //1 ile 49 arasında rastgele sayı üretiliyor
if (Array.IndexOf(sayilar, rastgele) == -1) //dizinin içinde aynı sayı yoksa
{
sayilar[sayac] = rastgele; //üretilen rastgele sayiyi dizinin sayac kaç ise o elemanına ata
sayac++; //sayacı bir artır
}
}
i++;
}
Admin, nasil yapacağım yardımcı olurmusun lütfen
Ahmet :
Aynı sayıyı üretmeyen kolonlu sayısal loto örneği yayınlandı.
http://www.gorselprogramlama.com/ayni-sayiyi-uretmeyen-kolonlu-sayisal-loto-c-console/
çok teşekkür ederim admin