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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2013, 19:49   #1
22hope22
Пользователь
 
Регистрация: 31.03.2013
Сообщений: 52
По умолчанию массив

помогите с прогой пожалуйста! Очень срочно нужно!
«Сжать» заданный целочисленный одномерный массив, превратив его в двумерный по следующему правилу. Повторяющиеся в одномерном массиве элементы должны присутствовать в двумерном один раз и располагаться в первой строке. Во второй строке под каждым элементом записывается число, равное количеству таких элементов в массиве. Относительный порядок чисел (встречающихся впервые) должен быть сохранен.
Пример входа
3 56 8 2 3 8 10 8
Пример вывода
3 2
56 1
8 3
2 1
10 1
22hope22 вне форума Ответить с цитированием
Старый 25.04.2013, 21:01   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
            int[] a = { 3, 56, 8, 2, 3, 8, 10, 8 };
            var b = from v in a group v by new { n = v };
            int k = 1;
            foreach (var i in b)
            {
                Console.Write("{0}\t",i.Key.n);
                if (k % 2 == 0) Console.Write("\n"); k++;
            }
            Console.ReadKey();
Подходит идея?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.04.2013, 21:10   #3
22hope22
Пользователь
 
Регистрация: 31.03.2013
Сообщений: 52
По умолчанию

Как она к заданию относится?
22hope22 вне форума Ответить с цитированием
Старый 25.04.2013, 21:27   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Она группирует элементы.
Для определения количества вхождений в массиве можно использовать свойство i.Count(). Таким образом будешь сначала выводить сами элементы, а потом их количественную составляющую.
Даже перепишу так:
Код:
            foreach (var i in b)
            {
                Console.Write("{0}\t{1}",i.Key.n,i.Count());
            }
И должен получится именно такой результат, какого ожидаешь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.04.2013, 22:10   #5
22hope22
Пользователь
 
Регистрация: 31.03.2013
Сообщений: 52
По умолчанию

блин для меня это всё таки сложновато. Сейчас попробую разобраться

Половина задачи сделано, числа он правильно выводит. А как их количество вывести

Последний раз редактировалось Stilet; 25.04.2013 в 22:44.
22hope22 вне форума Ответить с цитированием
Старый 25.04.2013, 22:43   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
А как их количество вывести
Ну я же написал как: i.Count()
Смотри же внимательнее.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан одномерный массив, сформировать новый массив по заданному правилу {Delphi} Nickolai47 Помощь студентам 5 16.12.2012 14:51
С# задан массив 5х5. сформировать массивы А и В. в массив А поместить элементы с четными индексами, в массив В с нечетны Koksa Помощь студентам 0 10.10.2011 11:26
Запись координат в массив в реал тайм, Как записать координаты в массив Dark19 Visual C++ 2 21.06.2011 18:45
Из массив А получить массив В, удвоив все нечётные элементы удвоены ( на Pascal) KARTER Помощь студентам 1 18.06.2011 19:58