Сравнение значений элементов строки и столбца (не отрабатывает) - C#
Формулировка задачи:
Здравствуйте! Никак не могу добиться толку, чтот с i j видимо путаю, подскажите плиз k - задаю с клавы и передаю в метод
и собственно метод, который не получается
пока что пробую удалить хотя-бы столбец (
но получается какая-то #опа, уже как только не крутил эти i j ...удаляет совсем не то, что нужно((
подскажите плиз, где я накосячил
где
Нужно: Удалить из массива k-тую строку и j-тый столбец, если их значения совпадают Делаю рандомныйквадратный
массив, так чтоб значения каждой строки совпадали со значениями столбцов(чтоб руки не мучить) Random r = new Random(DateTime.Now.Millisecond);
for (int i = 0; i < n; ++i)
for (int j = 0; j < m; ++j)
{
a[i, j] = r.Next(-99, 99);
a[j, i] = a[i, j];//для case 5
}int k_str = int.Parse(Console.ReadLine()); IfStrCol(a, ref n, ref m, k_str);
static void IfStrCol(int[,] a, ref int n, ref int m, int k_str)
{
for (int j = 0; j < m; j++)
{
bool f = true;
for (int i = 0; i < n; i++)
{
if (a[i, j] != a[k_str, j])//(a[j, k_str] != a[j, i])
{
f = false;
break;
}
}
if (f)
for (; j < m; j++)
for (int i = 0; i < n; i++)
a[i, j] = a[i, j + 1];
m--;
}
}Решение задачи: «Сравнение значений элементов строки и столбца (не отрабатывает)»
textual
Листинг программы
//предаю (массив, n и m(которые равны), k-ю строку)
static void IfStrCol(int[,] a, ref int n, ref int m, int k_str)
{
for (int j = 0; j < m; j++)
{
bool f = true;
for (int i = 0; i < n; i++)
{
if (a[k_str, j] != a[i, j])
{
f = false;
break;
}
}
if (f)
for (; j < m; j++)
for (int i = 0; i < n; i++)
a[i, j] = a[i, j + 1];
m--;
}
}