Başlıktan da anlayacağınız gibi. For döngüsünün içindeki if, else if ler den kurtulmak istiyorum. 1000 elemanlı bir dizi olsaydı 1001 tane if yazmak zorunda mı kalacaktım...
Yardımcı olmaya çalışan arkadaşlara şimdiden TEŞEKKÜR ediyorum.
public static decimal[] dizimiz = new decimal[10];// Dizimizin 10 elemanı var.
public static decimal elimdeki_TL = 2500.00m; public static decimal elimdeki_USD = 1293.10m;
public static decimal usd_kuru = 5.80m;
public static decimal toplam_param = elimdeki_TL + (elimdeki_USD * usd_kuru); // Toplam param 9998,98
public static decimal dizielemanlarininalacagienbuyukdeger = toplam_param / dizimiz.Length; // 999,9980
public static decimal aktifolandizielemanı = Math.Ceiling(elimdeki_TL / dizielemanlarininalacagienbuyukdeger);
private void Form1_Load(object sender, EventArgs e) { for (int i = dizimiz.Length; i > dizimiz.Length - aktifolandizielemanı; i--) {
Paramın TL kısmı 2500 Paramın USD kısmı 7500 (yaklaşık) Buna göre toplam param 10000 oluyor.
10000 / 10 = 1000 ***** Buda bana dizimdeki her bir elemanın alacağı maximum değeri veriyor.(Toplam param / dizimin eleman sayısı) 2500 / 1000 = 2,5 ***** 2,5 u yukarı yuvarlamam lazım ki bana 3 aktif yer açsın bende 1000 , 1000 , 500 diye ayırabileyim.
Şayet 1000 TL değerinde USD bozdurursam bu sefer TL 3500 USD 6500 Toplam param yine aynı 10000 10000 / 10 = 1000 ***** değişmiyor 3500 / 1000 = 3,5 ***** 3,5 yukarı yuvarlamam lazım ki bana 4 aktif yer açsın bende bunu 1000 , 1000 , 1000 , 500 diye ayırabileyim
İnşallah anlatabilmişimdir.
< Bu mesaj bu kişi tarafından değiştirildi fatih1978 -- 16 Ekim 2018; 2:12:18 >
1000 elemanlı bir dizi olsaydı 1001 tane if yazmak zorunda mı kalacaktım...
Yardımcı olmaya çalışan arkadaşlara şimdiden TEŞEKKÜR ediyorum.
public static decimal[] dizimiz = new decimal[10];// Dizimizin 10 elemanı var.
public static decimal elimdeki_TL = 2500.00m;
public static decimal elimdeki_USD = 1293.10m;
public static decimal usd_kuru = 5.80m;
public static decimal toplam_param = elimdeki_TL + (elimdeki_USD * usd_kuru); // Toplam param 9998,98
public static decimal dizielemanlarininalacagienbuyukdeger = toplam_param / dizimiz.Length; // 999,9980
public static decimal aktifolandizielemanı = Math.Ceiling(elimdeki_TL / dizielemanlarininalacagienbuyukdeger);
private void Form1_Load(object sender, EventArgs e)
{
for (int i = dizimiz.Length; i > dizimiz.Length - aktifolandizielemanı; i--)
{
if (aktifolandizielemanı == 0)
{
}
else if (aktifolandizielemanı == 1)
{
dizimiz[9] = elimdeki_TL - (dizielemanlarininalacagienbuyukdeger * (aktifolandizielemanı - 1));
}
else if (aktifolandizielemanı == 2)
{
dizimiz[8] = elimdeki_TL - (dizielemanlarininalacagienbuyukdeger * (aktifolandizielemanı - 1));
dizimiz[9] = dizielemanlarininalacagienbuyukdeger;
}
else if (aktifolandizielemanı == 3)
{
dizimiz[7] = elimdeki_TL - (dizielemanlarininalacagienbuyukdeger * (aktifolandizielemanı - 1));
dizimiz[8] = dizielemanlarininalacagienbuyukdeger;
dizimiz[9] = dizielemanlarininalacagienbuyukdeger;
}
else if (aktifolandizielemanı == 4)
{
dizimiz[6] = elimdeki_TL - (dizielemanlarininalacagienbuyukdeger * (aktifolandizielemanı - 1));
dizimiz[7] = dizielemanlarininalacagienbuyukdeger;
dizimiz[8] = dizielemanlarininalacagienbuyukdeger;
dizimiz[9] = dizielemanlarininalacagienbuyukdeger;
}
else if (aktifolandizielemanı == 5)
{
dizimiz[5] = elimdeki_TL - (dizielemanlarininalacagienbuyukdeger * (aktifolandizielemanı - 1));
dizimiz[6] = dizielemanlarininalacagienbuyukdeger;
dizimiz[7] = dizielemanlarininalacagienbuyukdeger;
dizimiz[8] = dizielemanlarininalacagienbuyukdeger;
dizimiz[9] = dizielemanlarininalacagienbuyukdeger;
}
else if (aktifolandizielemanı == 6)
{
dizimiz[4] = elimdeki_TL - (dizielemanlarininalacagienbuyukdeger * (aktifolandizielemanı - 1));
dizimiz[5] = dizielemanlarininalacagienbuyukdeger;
dizimiz[6] = dizielemanlarininalacagienbuyukdeger;
dizimiz[7] = dizielemanlarininalacagienbuyukdeger;
dizimiz[8] = dizielemanlarininalacagienbuyukdeger;
dizimiz[9] = dizielemanlarininalacagienbuyukdeger;
}
else if (aktifolandizielemanı == 7)
{
dizimiz[3] = elimdeki_TL - (dizielemanlarininalacagienbuyukdeger * (aktifolandizielemanı - 1));
dizimiz[4] = dizielemanlarininalacagienbuyukdeger;
dizimiz[5] = dizielemanlarininalacagienbuyukdeger;
dizimiz[6] = dizielemanlarininalacagienbuyukdeger;
dizimiz[7] = dizielemanlarininalacagienbuyukdeger;
dizimiz[8] = dizielemanlarininalacagienbuyukdeger;
dizimiz[9] = dizielemanlarininalacagienbuyukdeger;
}
else if (aktifolandizielemanı == 8)
{
dizimiz[2] = elimdeki_TL - (dizielemanlarininalacagienbuyukdeger * (aktifolandizielemanı - 1));
dizimiz[3] = dizielemanlarininalacagienbuyukdeger;
dizimiz[4] = dizielemanlarininalacagienbuyukdeger;
dizimiz[5] = dizielemanlarininalacagienbuyukdeger;
dizimiz[6] = dizielemanlarininalacagienbuyukdeger;
dizimiz[7] = dizielemanlarininalacagienbuyukdeger;
dizimiz[8] = dizielemanlarininalacagienbuyukdeger;
dizimiz[9] = dizielemanlarininalacagienbuyukdeger;
}
else if (aktifolandizielemanı == 9)
{
dizimiz[1] = elimdeki_TL - (dizielemanlarininalacagienbuyukdeger * (aktifolandizielemanı - 1));
dizimiz[2] = dizielemanlarininalacagienbuyukdeger;
dizimiz[3] = dizielemanlarininalacagienbuyukdeger;
dizimiz[4] = dizielemanlarininalacagienbuyukdeger;
dizimiz[5] = dizielemanlarininalacagienbuyukdeger;
dizimiz[6] = dizielemanlarininalacagienbuyukdeger;
dizimiz[7] = dizielemanlarininalacagienbuyukdeger;
dizimiz[8] = dizielemanlarininalacagienbuyukdeger;
dizimiz[9] = dizielemanlarininalacagienbuyukdeger;
}
else if (aktifolandizielemanı == 10)
{
dizimiz[0] = elimdeki_TL - (dizielemanlarininalacagienbuyukdeger * (aktifolandizielemanı - 1));
dizimiz[1] = dizielemanlarininalacagienbuyukdeger;
dizimiz[2] = dizielemanlarininalacagienbuyukdeger;
dizimiz[3] = dizielemanlarininalacagienbuyukdeger;
dizimiz[4] = dizielemanlarininalacagienbuyukdeger;
dizimiz[5] = dizielemanlarininalacagienbuyukdeger;
dizimiz[6] = dizielemanlarininalacagienbuyukdeger;
dizimiz[7] = dizielemanlarininalacagienbuyukdeger;
dizimiz[8] = dizielemanlarininalacagienbuyukdeger;
dizimiz[9] = dizielemanlarininalacagienbuyukdeger;
}
}
Debug.WriteLine("Dizimin 0. elemanı = " + dizimiz[0]);// Sonuç 0
Debug.WriteLine("Dizimin 1. elemanı = " + dizimiz[1]);// Sonuç 0
Debug.WriteLine("Dizimin 2. elemanı = " + dizimiz[2]);// Sonuç 0
Debug.WriteLine("Dizimin 3. elemanı = " + dizimiz[3]);// Sonuç 0
Debug.WriteLine("Dizimin 4. elemanı = " + dizimiz[4]);// Sonuç 0
Debug.WriteLine("Dizimin 5. elemanı = " + dizimiz[5]);// Sonuç 0
Debug.WriteLine("Dizimin 6. elemanı = " + dizimiz[6]);// Sonuç 0
Debug.WriteLine("Dizimin 7. elemanı = " + dizimiz[7]);// Sonuç 500,0040
Debug.WriteLine("Dizimin 8. elemanı = " + dizimiz[8]);// Sonuç 999,9980
Debug.WriteLine("Dizimin 9. elemanı = " + dizimiz[9]);// Sonuç 999,9980
}
< Bu mesaj bu kişi tarafından değiştirildi fatih1978 -- 16 Ekim 2018; 14:43:32 >