示例#1
0
        public List <List <string> > DeleteAllSameLines()
        {
            List <List <string> > result = new List <List <string> >();

            List <int> deletedColumns = new List <int>();

            List <int> deletedRows = new List <int>();

            deletedColumns = IndecesOfSameColumns();
            deletedRows    = IndecesOfSameRows();

            for (int i = 0; i < ArrayStr.GetLength(0); i++)
            {
                List <string> str = new List <string>();
                for (int k = 0; k < ArrayStr.GetLength(1); k++)
                {
                    str.Add(ArrayStr[i, k]);
                }
                result.Add(str);
            }
            for (int n = deletedRows.Count - 1; n > -1; n--)   //удаление строк
            {
                result.RemoveAt(deletedRows[n]);
            }
            for (int j = 0; j < result.Count; j++)
            {
                for (int z = deletedColumns.Count - 1; z > -1; z--)
                {
                    result[j].RemoveAt(deletedColumns[z]);
                }
            }
            return(result);
        }
示例#2
0
 private bool IsColumnSame(int n)
 {
     for (int k = 0; k < ArrayStr.GetLength(0); k++)
     {
         if (!ArrayStr[0, n].Equals(ArrayStr[k, n]))
         {
             return(false);
         }
     }
     return(true);
 }
示例#3
0
 private bool IsRowSame(int n)
 {
     for (int i = 0; i < ArrayStr.GetLength(1); i++)
     {
         if (!ArrayStr[n, 0].Equals(ArrayStr[n, i]))
         {
             return(false);
         }
     }
     return(true);
 }
示例#4
0
        private List <int> IndecesOfSameRows()
        {
            List <int> indecexRows = new List <int>();

            for (int k = 0; k < ArrayStr.GetLength(0); k++)
            {
                if (IsRowSame(k))
                {
                    indecexRows.Add(k);
                }
            }
            return(indecexRows);
        }
示例#5
0
        private List <int> IndecesOfSameColumns()
        {
            List <int> indecexColumn = new List <int>();

            for (int i = 0; i < ArrayStr.GetLength(1); i++)
            {
                if (IsColumnSame(i))
                {
                    indecexColumn.Add(i);
                }
            }
            return(indecexColumn);
        }