Soran
bir diziyi kendinden önceki dizi ile karşılaştırma

Genel Tartışma
-
Sayısal loto uygulaması hazırladım.
Bir kolonun içindeki 1 ile 49 arasındaki rakamlar birbiri ile farklı olacak şekilde ayarlı ancak kolonların da birbirinden farklı sayılar içermesini nasıl ayarlayabilirim.
örneğin a kolonunda: 1-2-3-4-5-6 b kolonunda: 1-2-3-4-5-7 olabilir ama b kolonunda 1-2-3-4-5-6 rakamları bir arada bulunmamasını istiyorum çünkü bu a kolonunun aynısı oluyor.
** toplamda 8 kolon olacak.
kısacası kolonlarında birbirinden farklı olmasını istiyorum.
Random rnd = new Random();
int a;
for (int i = 1; i <= 8; i++)
{
int[] dizi = new int[6];
for (int j = 0; j < 6; j++)
{
a = rnd.Next(1, 50);
if (dizi.Contains(a) == true)
{
j--;
}
else
{
dizi[j] = a;
}
}
Array.Sort(dizi);
foreach (int item in dizi)
{
Console.WriteLine(item);
}
Console.WriteLine("**************");
}
Console.ReadLine();- Değiştirilmiş Tür Kyamuran SalibryamMicrosoft contingent staff, Moderator 20 Haziran 2017 Salı 10:37
Tüm Yanıtlar
-
static bool Esit<T>(T[] a1, T[] a2) { if (ReferenceEquals(a1,a2)) return true; if (a1 == null || a2 == null) return false; if (a1.Length != a2.Length) return false; EqualityComparer<T> comparer = EqualityComparer<T>.Default; for (int i = 0; i < a1.Length; i++) { if (!comparer.Equals(a1[i], a2[i])) return false; } return true; }
iki dizi birbirinin aynı ise true döndürür.Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...
-
static bool Esit<T>(T[] a1, T[] a2) { if (ReferenceEquals(a1,a2)) return true; if (a1 == null || a2 == null) return false; if (a1.Length != a2.Length) return false; EqualityComparer<T> comparer = EqualityComparer<T>.Default; for (int i = 0; i < a1.Length; i++) { if (!comparer.Equals(a1[i], a2[i])) return false; } return true; }
iki dizi birbirinin aynı ise true döndürür.
Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...
var esitMiA = a1.SequenceEqual(b1); // veya
var esitMiB =Enumerable.SequenceEqual(a1,a2);
- Düzenleyen Cihan YakarMVP 12 Haziran 2017 Pazartesi 20:51
-
Random rnd = new Random(); int a; int[] onceki = null; for (int i = 1; i <= 8; i++) { int[] dizi = new int[6]; for (int j = 0; j < 6; j++) { a = rnd.Next(1, 50); if (dizi.Contains(a) == true) j--; else dizi[j] = a; } Array.Sort(dizi); if (!Esit(dizi, onceki)) { onceki = new int[6]; for(int o = 0; o < 6; o++) onceki[o] = dizi[o]; foreach (int item in dizi) Console.WriteLine(item); } else i--; Console.WriteLine("**************"); } Console.ReadLine();
Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...
-
-
Selamlar,
Oluşturmuş olduğunuz kod parçası, birinci dizi ile ikinci diziyi hiç karşılaştırmıyor.
Karşılaştırmadığını şu şekilde anlayabilirsiniz;
"a = rnd.Next(1, 7); " yapın ve sorguyu çalıştırın. oluşan 8 kolonda birbiri ile aynı;
Random rnd = new Random();
int a;
int[] onceki = null;
for (int i = 1; i <= 8; i++)
{
int[] dizi = new int[6];
for (int j = 0; j < 6; j++)
{
a = rnd.Next(1, 7);
if (dizi.Contains(a) == true)
j--;
else
dizi[j] = a;
}
Array.Sort(dizi);
if ((dizi != onceki))
{
onceki = new int[6];
for (int o = 0; o < 6; o++)
onceki[o] = dizi[o];
foreach (int item in dizi)
Console.WriteLine(item);
}
else i--;
Console.WriteLine("**************");
}
Console.ReadLine(); -
dizi!=onceki kodu hatalı.
Yukarıda yazdığım iki yanıt içerisindeki kodları birleştirip kullanın...
Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...
- Düzenleyen MuratAKSARAY 14 Haziran 2017 Çarşamba 21:38