public static double avg_p2(string s, ns2grid n, bool rblanc = false) { double r = 0, rr; s = s.ToLower(); if (rblanc) { s = blanc(s); } // int c = s.Length - 2; int c = 0; for (int i = 0, j, k; i < s.Length - 3; i++) { j = n.iValue(s[i], s[i + 1]); k = n.iValue(s[i + 2], s[i + 3]); if (j < 0 || k < 0 || s1grid.chars.IndexOf(s[i]) >= 30) { //c--; continue; } rr = (double)(n.map[j][k]) / (double)(n.sizemap[j]); if (!Double.IsNaN(rr)) { r += rr; c++; } } return (r / c) * 100; }
public static int chiffer(string s, ns2grid n) { s = s.ToLower(); double l = 0; int r = 0; for (int i = 0; i < 29; i++) { double h = (avg_p2(nshift(s, i), n)); if (h > l) { l = h; r = i; } } return r; }