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

Дан двумерный массив целых чисел. Удалить строки, в которых есть элементы, принадлежащие промежутку [а, в]

06.03.2015, 21:15. Показов 2775. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите задачку решить.
Дан двумерный массив целых чисел. Удалить строки, в которых есть элементы, принадлежащие промежутку [а, в]
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.03.2015, 21:15
Ответы с готовыми решениями:

Дан двумерный массив целых чисел размерностью 5 х 6. Сформировать одномерный массив
Дан двумерный массив целых чисел размерностью 5 х 6. Сформировать одномерный массив, каждый элемент которого равен произведению нечетных...

Дан двумерный массив целых чисел. Определить сумму элементов массива, больших 30
Дан двумерный массив целых чисел. Определить сумму элементов массива, больших 30.

Дан двумерный массив целых чисел. Найти сумму элементов, стоящих до первого нуля
Дан двумерный массив целых чисел из 4 столбцов и 3 строк. Найти сумму элементов стоящих до первого нуля. Просмотр вести по строкам....

4
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
08.03.2015, 00:23
"Немного" громоздко , но работает:
Кликните здесь для просмотра всего текста
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
        static void Main(string[] args)
        {
            int[,] myArr = new int[4, 5];
            int[] ss = new int[1];
            int a = 5;
            int b = 7;
            int sch;
            int sch1 = 0;
            Random ran = new Random();
            Console.Write("Исходный массив:\n");
            for (int i = 0; i < 4; i++)
            {
                sch = 0;
                for (int j = 0; j < 5; j++)
                {
                    myArr[i, j] = ran.Next(1,25);
                    if (myArr[i, j] < a || myArr[i, j] > b) sch += 1;
                    Console.Write("{0}\t", myArr[i, j]);
                }
                Console.WriteLine();
                if (sch == 5)
                {
                    if (sch1 > 0) Array.Resize(ref ss, sch1 + 1);
                    ss[sch1] = i;
                    sch1 += 1;
                }
            }
            Console.Write("Преобразованный массив:\n");
            int[,] str = new int[ss.Length,5];
            for (int k = 0; k < ss.Length; k++)
            {
                for (int l = 0; l < 5; l++)
                {
                    str[k, l] = myArr[ss[k],l];
                    Console.Write("{0}\t", str[k, l]);
                }
                Console.WriteLine();
            }
            Console.Read();
        }
1
0 / 0 / 1
Регистрация: 05.03.2015
Сообщений: 29
08.03.2015, 13:18  [ТС]
chumich, Объясните код, если не сложно)
0
 Аватар для chumich
2081 / 1239 / 464
Регистрация: 20.12.2014
Сообщений: 3,234
08.03.2015, 14:47
Лучший ответ Сообщение было отмечено Podorozhnik как решение

Решение

Цитата Сообщение от Podorozhnik Посмотреть сообщение
chumich, Объясните код, если не сложно
Несложно, конечно, но время... Думаю, половину написанного вы знаете, поэтому в следующий раз, лучше всего, перечислите номера непонятных строк или диапазоны строк. Или номера понятных строк, если их меньше Так будет легче и нам, и вам не нужно будет читать то, что уже знаете.
Кликните здесь для просмотра всего текста
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
        static void Main(string[] args)
        {
            int[,] myArr = new int[4, 5]; // задаем двумерный массив
            int[] ss = new int[1]; // задаем одномерный массив, не зная нужную размерность берем 1, этот массив, впоследствии будет хранить номера строк исходного массива, удовлетворяющих условию задачи
            int a = 5; // вводим значения диапазона отбора, можно через Console, также, кстати как и размерность двумерного массива
            int b = 7; // другая граница диапазона
            int sch; // определяем тип счетчика значений каждой строки, не входящих в диапазон
            int sch1 = 0; // определяем тип и начальное значение счетчика размерности одномерного массива
            Random ran = new Random(); // задаем генератор случайных значений
            Console.Write("Исходный массив:\n"); // записываем "шапку" для первой выводимой информации
            for (int i = 0; i < 4; i++) // задаем перебор строк
            {
                sch = 0; // задаем начальное значение счетчика значений каждой строки, не входящих в диапазон, оно задается здесь, чтобы обнуляться при выходе на следующую строку
                for (int j = 0; j < 5; j++) // задаем перебор значений строки
                {
                    myArr[i, j] = ran.Next(1,25); // генерируем значения элементов и заносим их в массив, можно заменить на ввод из консоли
                    Console.Write("{0}\t", myArr[i, j]); // записываем их (поменял эту и следующую строки, так лучше смотрится)
                    if (myArr[i, j] < a || myArr[i, j] > b) sch += 1; // проверяем входимость элементов в "запретный диапазон", и считаем те, которые не входят
                }
                Console.WriteLine(); 
                if (sch == 5) // каждый раз, в случае если все элементы строки не попадают в диапазон
                {
                    if (sch1 > 0) Array.Resize(ref ss, sch1 + 1); // увеличиваем размер массива номеров строк (за исключением первого раза, потому что 1 была задана изначально)
                    ss[sch1] = i; // заносим номер отобранной строки в массив
                    sch1 += 1; // увеличиваем счетчик на единицу, на случай добавления нового элемента массива
                }
            }
            Console.Write("Преобразованный массив:\n"); // записываем "шапку" для второй выводимой информации
            int[,] str = new int[ss.Length,5]; // задаем массив отобранных по условию строк (то есть тех, которые не удаляются)
            for (int k = 0; k < ss.Length; k++) // организуем цикл перебора строк
            {
                for (int l = 0; l < 5; l++) // и значений элементов строк
                {
                    str[k, l] = myArr[ss[k],l]; // передаем в новый массив значения нужных строк из старого
                    Console.Write("{0}\t", str[k, l]); // записываем новый массив
                }
                Console.WriteLine(); // выводим в консоль
            }
            Console.Read(); // читаем и радуемся
        }
3
0 / 0 / 1
Регистрация: 05.03.2015
Сообщений: 29
08.03.2015, 15:28  [ТС]
chumich, Спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.03.2015, 15:28
Помогаю со студенческими работами здесь

Дан двумерный массив целых чисел размерностью NxN. Найти сумму его элементов
Дан двумерный массив целых чисел размерностью NxN. Найти сумму его элементов. Помогите, пожалуйста

Удалить строки, в которых есть элементы, принадлежащие промежутку [a,b]
Дан двумерный массив целых чисел. Удалить строки, в которых есть элементы, принадлежащие промежутку

Массив. Удалить все элементы, кратные 7 и принадлежащие заданному промежутку
Ребята помогите не могу решить задачу понедельник сдавать. Выручайте. Дан массив целых чисел (n = 20), заполненный случайным образом...

Дан одномерный массив числовых значений, насчитывающий N элементов. Исключить из массива элементы, принадлежащие промежутку [В;С]
Пожалуйста, помогите бедному студенту, в тяжкие времена зачетной недели: 1. Дано действительное число А. Вычислить f(A), если f(x)=0...

Дан двумерный массив целых чисел. Вывести количество нечетных чисел 2-го столбца в MIN элемент 2-ой строки
Прошу Вас помочь мне сделать эти программы. 2. Дан двумерный массив целых чисел. Вывести количество нечетных чисел 2-го столбца в MIN...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru