public static int[,] SquareIntString(int[] intData) { int lN = intData.Length; double mS = Math.Sqrt((double)lN); int dMsq = (int)Math.Ceiling(mS); int paddBy = dMsq * dMsq - lN; List <int> iDtx = new List <int>(); iDtx.AddRange(intData); while (paddBy > 0) { iDtx.Add(int.MinValue); paddBy--; } int[] n_intData = iDtx.ToArray(); return(ShiftUtils.GetMatrixFromIntString(n_intData, dMsq, dMsq)); }
public static int[] DeSquareIntString(int[,] squaredIntData) { int[] sqStrm = ShiftUtils.GetIntStringFromMatrix(squaredIntData); List <int> gsqStrm = new List <int>(); gsqStrm.AddRange(sqStrm); for (int i = gsqStrm.Count; i-- > 0;) { if (gsqStrm[i] == int.MinValue) { gsqStrm.RemoveAt(i); } else { break; } } return(gsqStrm.ToArray()); }