diff --git a/ALGA/Optimalizalas/07_NyersEro.cs b/ALGA/Optimalizalas/07_NyersEro.cs index f04d994..fd8cc8e 100644 --- a/ALGA/Optimalizalas/07_NyersEro.cs +++ b/ALGA/Optimalizalas/07_NyersEro.cs @@ -1,4 +1,5 @@ using System; +using System.Linq; using System.Runtime.InteropServices; namespace OE.ALGA.Optimalizalas @@ -54,4 +55,44 @@ namespace OE.ALGA.Optimalizalas return (OsszSuly(pakolas) <= Wmax); } } + public class NyersEro + { + int m; + Func generator; + Func josag; + int lepesszam; + public int Lepesszam + { + get { return lepesszam; } + } + public NyersEro(int m, Func generator, Func josag) + { + this.m = m; + this.generator = generator; + this.josag = josag; + } + public T OptimalisMegoldas() + { + T[] megoldasok = new T[m]; + for (int i = 0; i < m; i++) + { + megoldasok[i] = generator(i); + } + int[] ertekek = new int[m]; + int maxindex = 0; + for (int i = 0; i < m; i++) + { + ertekek[i] = josag(megoldasok[i]); + if (ertekek[maxindex] < ertekek[i]) + { + maxindex = i; + } + } + return megoldasok[maxindex]; + } + } + public class NyersEroHatizsakPakolas + { + + } }