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

Рваный массив

01.06.2013, 12:45. Показов 11634. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте всем! Никак не получается решить эту задачу:
В программе объявляется рваный массив целых чисел, строки которого имеют различную длину.
int [] [] jagged = new int[4][];
jagged [0] = new int[6];
jagged [1] = new int[2];
jagged [2] = new int[4];
jagged [3] = new int[11];
После создания «рваного» массива в программе выводится на печать индекс максимального четного значения в массиве.

Конкретно не получается определить максимальный четный элемент.
Из наработок есть только это:
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
 int[][] jagged = new int[4][];
            jagged[0] = new int[6];
            jagged[1] = new int[2];
            jagged[2] = new int[4];
            jagged[3] = new int[11];
 
            int[] mas = new int[100];
 
 
            for (int i = 0; i < 6; i++)
            {
                
                jagged[0][i] = i;
                if (jagged[0][i] % 2 == 0)
                    jagged[0][i] = mas[i];
 
            }
 
            for (int i = 0; i < 2; i++)
            {
                jagged[1][i] = i;
            }
 
            for (int i = 0; i < 4; i++)
            {
                jagged[2][i] = i;
            }
            for (int i = 0; i < 11; i++)
            {
                jagged[3][i] = i;
            }
Каюсь и прошу помощи в данном вопросе!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.06.2013, 12:45
Ответы с готовыми решениями:

Рваный массив
Создать рваный массив в 5 строк, кол-во столбцов в каждой строке увеличивается на 3 (3, 6, 9)....

Рваный массив - нужен совет
Дан массив размером n×n, элементы которого целые числа. Замечание. Для хранения массив n×n...

Вручную заполнить рваный массив числами
Console.WriteLine(&quot;Введите количество строк&quot;); ...

Как рандомно заполнить рваный массив
Как рандомно заполнить рваный массив?

8
1 / 1 / 0
Регистрация: 10.11.2010
Сообщений: 81
01.06.2013, 13:01 2
Извини, я не пойму что у тебя. У тебя есть массив с разной длиной строк. Где в программе числа вводятся? Тебе нужно найти в каждой строчке максимальное число?
Если так. То советую присмотрется к, если a - массив
C#
1
2
a[1].lenght
a[2].lenght
Которое вернет количество элементов в строке.

Всю программу можно будет описать 2-мя циклами (один вложен во второй)

Добавлено через 6 минут
так. если у тебя есть массив с заполнеными числами - пробуй что то такое:

C#
1
2
3
4
5
6
7
8
9
for (int ii=0; ii<a.lenght; ii++)
{
   for (int jj=0; jj<a[ii].lenght; jj++)
      {
         сделай переборку строки на поиск и выведи результат - типо "Строка ii, максимальны элемент такой"
         int i=0;
         if (a[ii][jj] > i) i=a[ii][jj]; - что то в этом роде
      }
}
Компильнуть сейчас не на чем. Но тут тебе что то должно пригодится.

Дерзай)
0
13 / 13 / 5
Регистрация: 06.05.2013
Сообщений: 52
01.06.2013, 13:07 3
C#
1
2
3
4
5
6
7
8
9
10
11
12
int[][] jagged = new int[4][];
            jagged[0] = new int[6];
            jagged[1] = new int[2];
            jagged[2] = new int[4];
            jagged[3] = new int[11];
 
            int max = jagged[0][0];
 
 
            for (int i = 0; i < 4; i++)
                for (int j = 0; j < jagged[i].Length; j++)
                    max = (jagged[i][j] > max) ? jagged[i][j] : max;
0
1 / 1 / 0
Регистрация: 08.11.2010
Сообщений: 61
01.06.2013, 13:12  [ТС] 4
zombiecomatoz, выводит 0 почему то
0
13 / 13 / 5
Регистрация: 06.05.2013
Сообщений: 52
01.06.2013, 13:14 5
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int[][] jagged = new int[4][];
            jagged[0] = new int[6];
            jagged[1] = new int[2];
            jagged[2] = new int[4];
            jagged[3] = new int[11];
 
            int max = jagged[0][0];
            int ii = 0;
            int jj = 0;
 
            for (int i = 0; i < 4; i++)
                for (int j = 0; j < jagged[i].Length; j++)
                    if (jagged[i][j] > max)
                    {
                        max = jagged[i][j];
                        ii = i;
                        jj = j;
                    }
Добавлено через 54 секунды
Цитата Сообщение от FroZko Посмотреть сообщение
zombiecomatoz, выводит 0 почему то
Надо массив сначала числами заполнить
1
1 / 1 / 0
Регистрация: 08.11.2010
Сообщений: 61
01.06.2013, 13:18  [ТС] 6
zombiecomatoz, и на счет четности не известно(

Добавлено через 2 минуты
zombiecomatoz, вроде заработало! выдает 10, но правильно ли?

Добавлено через 1 минуту
все перепроверил, все верно работает. спасибо всем большое!!
0
13 / 13 / 5
Регистрация: 06.05.2013
Сообщений: 52
01.06.2013, 13:19 7
Лучший ответ Сообщение было отмечено mik-a-el как решение

Решение

С четностью и случайным заполнением вот так
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
            int[][] jagged = new int[4][];
            jagged[0] = new int[6];
            jagged[1] = new int[2];
            jagged[2] = new int[4];
            jagged[3] = new int[11];
 
            int max = jagged[0][0];
            int ii = 0;
            int jj = 0;
 
            Random rand = new Random();
            for (int i = 0; i < 4; i++)
                for (int j = 0; j < jagged[i].Length; j++)
                    jagged[i][j] = rand.Next(100);
 
            for (int i = 0; i < 4; i++)
                for (int j = 0; j < jagged[i].Length; j++)
                    if (jagged[i][j] > max && jagged[i][j] % 2 == 0)
                    {
                        max = jagged[i][j];
                        ii = i;
                        jj = j;
                    }
1
1 / 1 / 0
Регистрация: 08.11.2010
Сообщений: 61
01.06.2013, 17:02  [ТС] 8
zombiecomatoz, а не подскажете как вывести весь массив на экран?
0
104 / 104 / 19
Регистрация: 23.05.2013
Сообщений: 185
01.06.2013, 17:14 9
Ответил в другой вашей теме. Вот так к примеру:
C#
1
2
3
4
5
6
7
8
foreach (int[] ints in jagged)
                {
                    foreach (int i in ints)
                    {
                        Console.Write(i+" ");
                    }
                    Console.WriteLine("\n--------------------------");
                }
0
01.06.2013, 17:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.06.2013, 17:14
Помогаю со студенческими работами здесь

Вставить встроку в двумерный целочисленный рваный массив
Помогите, пожалуйста, с заданием! Ввести целочисленный двухмерный рваный массив (jagged array),...

Добавить K строк в рваный массив начиная с номера N
Здравствуйте, имеется рваный массив с случайно заданными числами, как добавить в него какое-либо...

Перенос рваного массива в другой рваный массив
Нужно в задании. Удалить из рваного массива все строки в которых есть хотя бы два нуля. Размер...

Преобразовать строку в рваный массив с помощью регулярных выражений
есть строка вида (1,1,'potato '),(2,2,'meat '),(3,3,'bean '),(4,4,'bean '),(5,5,'onions...

Рваный массив: удалить все строки, в которых встречаются нули
Ребят, помогите. Нужно удалить все строки, в которых встречаются нули. Инициализацию и печать...

Добавление строк в рваный массивы
Имеется вот такой метод. Его функцией является добавление строк в рваный массив с определенной...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru