Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.06.2023, 21:37   #1
dinknip
Новичок
Джуниор
 
Регистрация: 29.06.2023
Сообщений: 2
По умолчанию Удалить строки из матрицы (Windows Forms)

Есть программа, где из матрицы удаляются строки с отрицательными последними элементами,
а затем добавляются строки из сумм элементов по столбцам.
И вот необходимо изменить эту программу, чтобы в матрице удалялись столбцы с положительными третьими элементами(за место последних отрицательных), ну и по прежнему также добавлялись строки из сумм элементов по столбцам.

Код:
        int i = 0;

        void swap(ref int x, ref int y)
        {

            int z = x; x = y; y = z;

        }

        int n, m;
        private void Button3_Click(object sender, EventArgs e)
        {
            int i, j, k, q;
            Button4.Enabled = true;
            if (numericUpDown8.Value < numericUpDown9.Value)
            {
                label9.Text = "Макс значение не м.б. меньше мин значения!";
                return;
            }
            n = Convert.ToInt32(numericUpDown6.Value); m =
            Convert.ToInt32(numericUpDown6.Value); int[,] ptr;
            ptr = new int[m, n];
            Random rand = new Random();
            dataGridView2.AutoResizeColumns();
            dataGridView2.ColumnCount = n;
            for (i = 0; i < n; i++)
            {
                dataGridView2.Rows.Add();
                for (j = 0; j < m; j++)
                {
                ptr[i, j] = rand.Next(Convert.ToInt32(numericUpDown9.Value), Convert.ToInt32(numericUpDown8.Value));
                dataGridView2.Rows[i].Cells[j].Value = ptr[i, j];
                }
            }
            q = 0;
            k = 0;
            if (ptr[n - 1, m - 1] < 0) k++;
            for (q = 0; q < n - 1; q++)
            {
                if (ptr[q, m - 1] < 0)
                {
                    k++;
                    for (i = q; i < n - 1; i++)
                    {
                        for (j = 0; j < m; j++) ptr[i, j] = ptr[i + 1, j];
                    }
                    q--;
                }
                if (k + q + 1 == n) { break; }
            }
            if (k == n)
            {
                label9.Text = "В матрице удалены все строки"; 
                return;
            }
            if (k == 0)
            {
                label9.Text = "В матрице нет удаленных строк"; 
                return;
            }
            label9.Text = "В матрице удалено " + k + " строк(и)"; 
            for (j= 0; j < m; j++)
            {
                ptr[n - k, j] = 0;
                for (i = 0; i < n - k; i++)
                {
                    ptr[n - k, j] += ptr[i, j];
                }
            }
            dataGridView3.AutoResizeColumns();
            dataGridView3.ColumnCount = n;
            for (i = 0; i <= n - k; i++)
            {
                dataGridView3.Rows.Add();
                for (j = 0; j < m; j++)
                {
                    dataGridView3.Rows[i].Cells[j].Value = ptr[i, j];
                }
            }
        }
dinknip вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалить из матрицы размерностью (mxn) совпадающие строки Alexandra_32 Помощь студентам 7 02.11.2021 00:24
Нужен перевод кода с С# Windows Forms в C++ Windows Forms Kolya228 Windows Forms 12 22.07.2018 01:16
Удалить из матрицы строки, в которых элементы не образуют монотонную последовательность Star_Princess Помощь студентам 0 18.01.2017 21:03
Из строки удалить среднюю букву, если длина строки нечетная, если четная удалить две средние буквы. Заменить все вхождения в текст некоторой буквы на другую букву(PascalABCNET) FlayGlam Помощь студентам 0 03.12.2016 09:57
Windows Forms masashama Windows Forms 12 14.02.2011 16:14