Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 19.11.2013
Сообщений: 29

Как удалить в массиве последний столбец?

05.03.2014, 21:21. Показов 1066. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание: в каждой строке удалить максимальный элемент.
Код работает, но массив выводится, такой же как исходный по размеру, нужно удалить последний столбец.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 int[,] a2;
 Random rand;
 
public Form1()
        {
            InitializeComponent();
            rand = new Random();
        }
private void output2(DataGridView grv, int[,] x)
        {
            grv.Rows.Clear();
            grv.RowCount = x.GetLength(0);
            grv.ColumnCount = x.GetLength(1);
            for( int i = 0; i<x.GetLength(0); i++){
                for( int j=0; j<x.GetLength(1); j++){
                    if(i==0)
                    {
                        grv.Columns[j].Name =(j+1).ToString();
                    grv.Columns[j].Width =30;
                    }
                grv.Rows[i].Cells[j].Value=(x[i,j].ToString());
            }
            }
        }
private void init2(ref int[,] g2)
        {
            for (int i = 0; i < a2.GetLength(0); i++)
            {
                for (int j = 0; j < a2.GetLength(1); j++)
                {
                    g2[i, j] = a2[i, j];
                }
            }
        }
private void mnuTask3_Click(object sender, EventArgs e)
        {
            grbTask3.Top = grbBasic.Top + grbBasic.Height + 5;
            this.Height = grbTask3.Top + grbTask3.Height + 40;
            grbTask1.Visible = false;
            grbTask2.Visible = false;
            grbTask3.Visible = true;
            int[,] b = new int[a2.GetLength(0), a2.GetLength(1)];
            init2(ref  b);
            task3(ref b);
            output2(grvTask3, b);
        }
 
        private void task3(ref int[,] b)
        {
            for (int i = 0; i < b.GetLength(0); i++)
            {
                int jmax = 0;
                for (int j = 0; j < b.GetLength(1); j++)
                    if (b[i, j] > b[i, jmax])
                        jmax = j;
                for (int j = jmax; j < b.GetLength(1) - 1; j++)
                {
                    b[i, j] = b[i, j + 1];
                }
            }
        }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.03.2014, 21:21
Ответы с готовыми решениями:

Матрица, удалить последний столбец
Дана матрица размера M × N. Удалить ее последний столбец, содер-жащий только отрицательные элементы. Если требуемых столбцов нет, то...

Удалить из массива первую строку последний столбец
удалить из массива первую строку последний столбец

Поменять в массиве местами первый и последний столбец.
Используя циклы, создайте Паскаль программу для решения задачи. Задан массив А. Поменять в нем местами первый и последний ...

1
Си-решеточник
 Аватар для Rameron
141 / 135 / 60
Регистрация: 07.02.2011
Сообщений: 669
06.03.2014, 13:26
Посмотри код, я всё прокомментировал:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
private void FindNumber()
        {
            //Создаем массив и инициализируем его
            //Первый индекс - номер строки, второй индекс - номер столбца
            int[,] array = { { 99, 44, 66 }, { 55, 77, 33 }, { 25, 55, 99 } };
 
            //Выводим массив на экран
            PrintArray(array);
 
            //Создаем второй (исходный) массив, в котором в строке на 1 элемент меньше
            int[,] output = new int[array.GetLength(0), array.GetLength(1) - 1];
 
            //Также создаем массив максимальных элементов для каждой строки
            int[] maxes = new int[array.GetLength(0)];
 
            //Находим индексы максимальных элементов
            int maxIndex = 0;
            int max = 0;
            for (int y = 0; y < array.GetLength(0); y++)
            {
                max = 0;
                for (int x = 0; x < array.GetLength(1); x++)
                {
                    if (max < array[y, x])
                    {
                        maxIndex = x;
                        max = array[y, x];
                    }
                }
                maxes[y] = maxIndex;
            }
 
            //Заполняем исходный массив элементами первого массива, исключая максимальный элемент
            bool isRemove = false;
            for (int y = 0; y < output.GetLength(0); y++)
            {
                isRemove = false;
                for (int x = 0; x < output.GetLength(1); x++)
                {
                    if (x == maxes[y])
                    {
                        isRemove = true;
                    }
 
                    if (!isRemove)
                        output[y, x] = array[y,x];
                    else
                        output[y, x] = array[y, x + 1];
                }
            }
 
            //Выводим исходный массив
            PrintArray(output);
        }
 
        private void PrintArray(int[,] array)
        {
            for (int y = 0; y < array.GetLength(0); y++)
            {
                for (int x = 0; x < array.GetLength(1); x++)
                {
                    Console.Write(array[y, x] + (x == array.GetLength(1) - 1 ? "" : ","));
                }
                Console.WriteLine();
            }
            Console.WriteLine();
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.03.2014, 13:26
Помогаю со студенческими работами здесь

Поменять в массиве местами первый и последний столбец
Помогите пожалуйста с решением двух задач, у меня есть решение но не получается сделать уже по-разному пробовал, вот задачи: Задан...

Поменять в массиве местами первый и последний столбец
Помогите пожалуйста переделать готовую задачу сделанную с помощью двумерного массива в задачу на файлы. Вот условие задачи: Задан...

Дана матрица размера М×N. Удалить её последний столбец
Помогите пожалуйста исправить ошибки ещё в одной задачи ну или заново написать её! 4. Дана матрица размера М×N. Удалить её...

Удалить из матрицы последний столбец и затем транспонировать получившуюся матрицу
Помогите откорректировать задачу. Суть задачи: дана матрица &quot;а&quot; , необходимо удалить из нее последний столбец и затем транспонировать...

Удалить последний столбец матрицы, содержащий только отрицательные элементы
помогите, пожалуйста, решить задачу. очень нужно. дана матрица размера MxN. удалить ее последний столбец содержащий только отрицательные...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru