예제 #1
0
        //create line with lenght and diretion
        private static int[,] LineProcess(int size, LineStructElementDegree lineType)
        {
            int[,] resultH = new int [1, size];
            int[,] resultV = new int [size, 1];
            int[,] tempRes = new int [size, size];
            ArrGen <int> d = new ArrGen <int>();

            if (HelpMe(size, size))
            {
                switch (lineType)
                {
                case LineStructElementDegree.horizontal:
                    resultH = d.ArrOfSingle(1, size, 1);
                    return(resultH);

                case LineStructElementDegree.vertical:
                    resultV = d.ArrOfSingle(size, 1, 1);
                    return(resultV);

                case LineStructElementDegree.plus45:
                    int m = size - 1;
                    int n = 0;
                    for (int i = 0; i < size; i++)
                    {
                        for (int j = 0; j < size; j++)
                        {
                            if (i == n && j == m)
                            {
                                tempRes[i, j] = 1;
                            }
                        }
                        m--;
                        n++;
                    }
                    return(tempRes);

                case LineStructElementDegree.minus45:
                    for (int i = 0; i < size; i++)
                    {
                        for (int j = 0; j < size; j++)
                        {
                            if (i == j)
                            {
                                tempRes[i, j] = 1;
                            }
                        }
                    }
                    return(tempRes);
                }
            }

            return(tempRes);
        }
예제 #2
0
 public static (int[, ] structerElement, string elementInf) LineStructure(int size, LineStructElementDegree lineType)
 {
     return(StructureElement.Line(size, lineType), "strElemLine" + "_Size_" + size + "_lineType_" + lineType);
 }
예제 #3
0
 public static int[,] Line(int size, LineStructElementDegree lineType)
 {
     return(LineProcess(size, lineType));
 }