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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2014, 22:18   #1
Kirikikl
Новичок
Джуниор
 
Регистрация: 30.11.2014
Сообщений: 2
По умолчанию Задача на двумерные массивы! Delphi!

Нужно вычислить в матрице различных элементов, те числа, которые повторяются 2 и более раз и вывести их. Например (Число 2 - встречается 2 раза, число -11 - встречается 4 раза и т.д.) Потом найти максимальное из этих чисел и так же его вывести. Писать программу нужно в режиме консоли. Помогите плиз, буду очень благодарен^)
Kirikikl вне форума Ответить с цитированием
Старый 30.11.2014, 22:54   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Чем помочь то?
Вы программу писать собираетесь? Если да - могу подсказать алгоритм.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 30.11.2014, 23:01   #3
Kirikikl
Новичок
Джуниор
 
Регистрация: 30.11.2014
Сообщений: 2
По умолчанию

Нужен и алгоритм и желательно задача.
Kirikikl вне форума Ответить с цитированием
Старый 01.12.2014, 00:14   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

так задача у Вас уже есть! Вы же её условия и привели.
А алгоритм, так и быть, напишу.

перебираем все элементы массива (в обычном порядке, от меньших индексов к большим).
Для каждого элемента проверяем, встречался ли он ранее (есть в матрице элемент с таким значением, но с индексами меньше индексов текущего элемента). Если встречался - то он уже был обработан ранее, ничего с ним не делаем.
Если ранее такое значение не встречалось, то ставим счётчик на единицу и запускаем перебор всех оставшихся элементов матрицы, каждый сравниваем со значением текущего элемента, при каждом совпадении увеличиваем счётчик на 1.
Когда перебрали все элементы до конца, у нас в счётчике - количество вхождений элемента в матрицу. Если оно больше двух - то выводим значение элемента и счётчик(количество). Попутно сравниваем это значение с максимальным значением и если текущее больше, то запоминаем текущее как максимальное.
после основного цикла выводим максимальное значение.

КОНЕЦ.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 01.12.2014, 01:02   #5
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

или такой алгоритм:
1. Преобразовываем массив в одномерный.
2. Сортируем.
3. Считаем количество серий, состоящих минимум из двух элементов, при этом запоминаем как сам элемент (например, в переменную max), так и количество элементов в такой серии.
4. Максимальный элемент и будет храниться в переменной max после завершения работы п. 3
Вадим Мошев вне форума Ответить с цитированием
Старый 01.12.2014, 08:15   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
или такой алгоритм:
угу. согласен. вполне рабочий вариант.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на Двумерные массивы в Delphi 7 Romanich Помощь студентам 7 23.05.2012 21:28
Задача на двумерные массивы. MooNDeaR Помощь студентам 8 31.07.2011 20:33
Задача на двумерные массивы xxxPascalxxx Помощь студентам 1 27.12.2007 19:39