Herkese selam arkadaşlar. Yapmaya çalıştığım program : 1-100 arasında rastgele üretilen yirmi adet sayıyı kullanarak üretilen sayıların elli rakamından büyük olması durumunda sayıların çarpımı için tanımlanan delegate, elli rakamından küçük olması halinde sayıların toplamı için tanımlanan delegate'i çalıştıracak program. Aşağıda ki şekilde yaptığımda enteresan sonuçlar elde ettim ve delegate'i bir türlü kullanamadım. Yardımcı olabilirseniz sevinirim.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp9
{
class Program
{
public delegate int matematiksel(int[] dizi);
public static int topla(int[] dizi)
{
int toplam = 0;
for (int i = 0; i < dizi.Length; ++i)
{
toplam += dizi;
}
return toplam;
}
public static int carp(int[] dizi)
{
int carp = 0;
int toplam = 0;
for (int i = 0; i < dizi.Length; ++i)
{
toplam += dizi;
}
carp = (int)toplam * (dizi.Length);
return carp;
}
static void Main(string[] args)
{
Random rnd = new Random();
int[] sayilar = new int[20];
for (int i = 0; i < sayilar.Length; i++)
{
sayilar= rnd.Next(1, 100);
Console.WriteLine("Rastgele üretilip diziye giren sayılar"+sayilar);
if(sayilar< 50)
{
matematiksel mat = new matematiksel(topla);
Console.WriteLine("Dizi içindeki sayıların toplamı :" + mat(sayilar));
}
else if(sayilar> 50)
{
matematiksel mat = new matematiksel(carp);
Console.WriteLine("Dizi içindeki sayıların çarpımı :" + mat(sayilar));
}
}
Console.ReadKey();
}
}
}