C# Olasılık Yazdırma
-
mfe25 bunu yazdı
hala soruyu anlamadık :)
şakamı ciddimi hocam :D
-
furkiak bunu yazdımfe25 bunu yazdı
hala soruyu anlamadık :)
şakamı ciddimi hocam :D
cidden anlamadım hocam:) verdiğin farklı örneklerde de belirsizlik var.
satır = 1, sütun = 2, sayı = 1 için 2 ^ ( 3 * 1);
satır = 1, sütun = 2, sayı = 3 için 4 ^ (2 * 1);
oluyorsa,
satır = 2, sütun = 2, sayı = 2 için 3 ^(2 * 2)
olması gerekmiyor mu? ben mi yanlış anladım yoksa.
birkaç tane daha farklı güzel örnek verirsen belki yardımcı olabilirim.
-
mfe25 bunu yazdıfurkiak bunu yazdımfe25 bunu yazdı
hala soruyu anlamadık :)
şakamı ciddimi hocam :D
cidden anlamadım hocam:) verdiğin farklı örneklerde de belirsizlik var.
satır = 1, sütun = 2, sayı = 1 için 2 ^ ( 3 * 1);
satır = 1, sütun = 2, sayı = 3 için 4 ^ (2 * 1);
oluyorsa,
satır = 2, sütun = 2, sayı = 2 için 3 ^(2 * 2)
olması gerekmiyor mu? ben mi yanlış anladım yoksa.
birkaç tane daha farklı güzel örnek verirsen belki yardımcı olabilirim.
satır = 1, sütun = 2, sayı = 1 için 2 ^ ( 3 * 1); burda *3 ü yanlış yazdın sanırım hocam orası 2^(2*1)
satır = 1, sütun = 2, sayı = 3 için 4 ^ (2 * 1); burdada 4^(2*1) dediğin gibi
satır = 2, sütun = 2, sayı = 2 için 3 ^(2 * 2); burdada deiğin gibi hocam
şimdi olayı tekrar en baştan sakince anlatayım :D
3 tane textboxımız var bunlardan birisi satır birisi sütün birisi sayı sayı dediğimiz sütün 0 dan o sayıya giden tüm sayıları kapsıyor
örnek sayı 1 se 0 -1 sayı 5 ise 0 -1 -2-3-4-5 şeklinde
gelelim örneklere
satır 1
sütün 2
sayı 1 için
sayı = 0-1
2 ^(2*1) den 4 tane olasılık çıktı
bu olasılıklar
00
01
10
11
2. örnek
satır 1
sütün 2
sayı 2 olsun = 0 -1-2
buda 3 ^(2*1) = 9 tane olasılık
00
01
10
11
12
21
02
20
22
tek istediğim bu şekilde listelemek
-
sayı ile sütun tamam da satır olayı yine karışık hocam :)
şu soruya cevap verirsen o da oturacak gibi.
sayı = 1, sütun = 2, satır = 2 için yanlış anlamadıysam şu şekilde formül çıkıyo: 2^(2*2) = 16
bu 16 olasılığın tamamını yazar mısın?
-
mfe25 bunu yazdı
sayı ile sütun tamam da satır olayı yine karışık hocam :)
şu soruya cevap verirsen o da oturacak gibi.
sayı = 1, sütun = 2, satır = 2 için yanlış anlamadıysam şu şekilde formül çıkıyo: 2^(2*2) = 16
bu 16 olasılığın tamamını yazar mısın?
00 00 00 01 10 10 10 11 01 01 00 11 11 01 10 11
00 01 10 00 00 01 10 00 01 10 11 01 10 11 11 11
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111 -
Biraz düz mantıkla düşününce (satır*sütun) kadar basamağı olan, (sayı+1) tabanındaki sayıların listesi senin işini görüyor sanırım. Verdiğin örnekler bunu destekliyor yani. Halen daha anlayamamış olma ihtimalim var ama sen bi şu kodu dene hocam:)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Probablity { class Program { static void Main(string[] args) { Console.WriteLine("Sayi: "); int sayi = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Satir: "); int satir = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Sutun: "); int sutun = Convert.ToInt32(Console.ReadLine()); int[] alayi = TumOlasiliklar(sayi, satir, sutun); for (int i = 0; i < alayi.Length; i++) { Console.WriteLine("{0}", alayi[i].ToString().PadLeft(satir * sutun, '0')); } Console.ReadLine(); } static int[] TumOlasiliklar(int sayi, int satir, int sutun) { int toplam = Convert.ToInt32(Math.Pow((sayi + 1), (satir * sutun))); int[] tumOlasiliklar = new int[toplam]; for (int i = 1; i < toplam; i++) { tumOlasiliklar[i] = (tumOlasiliklar[i - 1] + 1); } for (int i = 0; i < toplam; i++) { tumOlasiliklar[i] = TabanCevir(tumOlasiliklar[i], sayi + 1); } return tumOlasiliklar; } static int TabanCevir(long x, int n) { if (n<2) { return 0; } long b; string s = ""; while (x >= n) { b = x % n; x = x / n; s = b + s; } s = x + s; return Convert.ToInt32(s); } } }
MadJack tarafından 21/Eyl/14 00:27 tarihinde düzenlenmiştir -
aynen bu hocam eline sağlık fakat sıkıntı şu int türünde taşma hatası alıyorum belli bir yerden sonra bunu nasıl aşabiliriz ?
-
int yerine long kullanabilirsin.
-
2^(10*10) da oda tıkanıyor :D
-
BigInteger diye veri tipi varmış, hiç kullanmadım ama şöyle bi sayfası var, bi bak istersen: http://msdn.microsoft.com/en-us/library/system.numerics.biginteger.aspx