Страница 3 из 4
Re: Посмотрите задачу на С++
Добавлено: 11 мар 2008, 20:09
Anton_XXX
биг спс!))
Re: Посмотрите задачу на С++
Добавлено: 13 мар 2008, 21:43
Anton_XXX
Привет всем! У меня новая проблемка, чет я "не догоняю"...))
Мне бы алгоритм... программу я сам составлю...
Задание: Найти минимальный из неповторяющихся элементов двумерного массива.
Массив двумерный я написал в программе... я спокойно могу написать нахождение минимального элемента в массиве, НО неповторяющихся элементов - непонимаю как написать...! Есть у меня идеи, их можно реализовать, но они "тугоемкие"...
Пожалуйста... подскажите способы, как можно найти минимальный из неповторяющихся элементов двумерного массива...
Re: Посмотрите задачу на С++
Добавлено: 13 мар 2008, 23:47
airyashov
отсортировать попробуйте, если следующий не равен предыдущему, то предыдущий это и есть минимальный из неповторяющихся
Re: Посмотрите задачу на С++
Добавлено: 15 мар 2008, 14:17
Anton_XXX
у меня тоже была мысль отсортировать.... щас реализую... спс
Re: Посмотрите задачу на С++
Добавлено: 15 мар 2008, 14:53
Anton_XXX
а что если следующий элемент равен предыдущему элементу, то как быть?
какая-то путаница получается....!))
Re: Посмотрите задачу на С++
Добавлено: 15 мар 2008, 15:12
airyashov
Anton_XXX писал(а):а что если следующий элемент равен предыдущему элементу, то как быть?
какая-то путаница получается....!))
перейти к следующему элементу для анализа.
Re: Посмотрите задачу на С++
Добавлено: 16 мар 2008, 09:33
Anton_XXX
щас попробую...
Re: Посмотрите задачу на С++
Добавлено: 16 мар 2008, 09:43
Anton_XXX
нет... это все не то...
вот что я сделал:
for (i=0; i<5; i++)
for (j=0; j<5; j++)
{
if ((min>mas[j]) && (min!=mas[j])) min=mas[j];
if (min==mas[j]) min=mas[j+1];
}
Re: Посмотрите задачу на С++
Добавлено: 17 мар 2008, 09:06
airyashov
если крайние элементы исключить, т.е. проверить отдельно, то остальное просто
Код: Выделить всё
if ( (mas[i-1]<mas[i]) && (mas[i]<mas[i+1]))
это нужный элемент
соответственно можно расширить на двумерный
Re: Посмотрите задачу на С++
Добавлено: 17 мар 2008, 15:45
Anton_XXX
Чет я непойму...
if ( (mas[i-1]<mas) && (mas<mas[i+1]))
например, дан одномерный массив: 5 0 1 7 0 6 1 0 5
по идеи, минимальный из неповторяющихся элементов = 6
а твое условие выдает элемент = 1
элемент "1" в этом массиве встречается 2 раза...!
Я думаю, надо вначале найти все равные элементы и записать их в дополнительную строку или столбец, а потом находить уже минимальный из неповторяющихся этих элементов...