0 / 0 / 0
Регистрация: 01.06.2011
Сообщений: 45
|
|
1 | |
Определить количество максимальных элементов в массиве.26.08.2011, 19:26. Показов 23304. Ответов 88
Метки нет (Все метки)
0
|
26.08.2011, 19:26 | |
Ответы с готовыми решениями:
88
Вычислить количество максимальных элементов в массиве Определить индекс первого из максимальных элементов в массиве Написать функцию, которая вычисляет количество максимальных элементов в массиве В чем ошибка? В массиве целых чисел найти количество максимальных элементов |
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
28.08.2011, 20:35 | 41 |
0
|
6280 / 3565 / 898
Регистрация: 28.10.2010
Сообщений: 5,926
|
|
28.08.2011, 20:37 | 42 |
CyBOSSeR, спасибо. Где ж ты раньше был.? Сейчас глуну.
0
|
Заблокирован
|
|
28.08.2011, 20:37 | 43 |
Почему же он вернет мусор?! Посмотрите внимательно! Алгоритму std::for_each (если вы смотрите именно то мле решение, что я имею в виду), передается функционал, конструктор которого инициализирует счетчик равным 0.
Так о каком мусоре вы говорите?!
0
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
28.08.2011, 20:39 | 44 |
Сыроежка, чем ваше профессиональное решение правильней моего, ну кроме того, что у вас испсользуется лишняя переменная
0
|
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
||||||
28.08.2011, 20:42 | 46 | |||||
Сыроежка, не увидел инициализацию поля count в конструкторе . Но тогда возникает вопрос, зачем нужно тогда нужно поле initialized? Что мешает сделать так:
1
|
alex_x_x
|
28.08.2011, 20:44
#47
|
Не по теме: за меня ответили:)
0
|
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
28.08.2011, 20:47 | 49 |
Сначала запостил, потом поправил, посмотрите, в вашей цитате уже поправленный вариант.
0
|
Заблокирован
|
|
28.08.2011, 20:57 | 50 |
Да, уже поправленный. Но как я уже сказал, это нисколько не умаляет достоинств алгоритма. К тому же если вы внимательно почитаете то мое сообщение с алгоритмом, я написал его "на коленках", то есть код не набирался в компиляторе.
Добавлено через 7 минут На самом деле отличий много! Мой код профессиональный, ваг - нет. Почему? Вы не адаптировали свой функционал, то есть в нем не определены соответсвующие typedef. Вы счетчик объявили как int, в то время, как например, у класса std::string size_type Объявлен как size_t. И, в третьих, как говорится, хорошо ложка к обеду. Ваш алгоритм уже совершенно не актуален после появления моего алгоритма. Если бы вы первым представили свой алгоритм,то тогда он бы мог быть актуальным.
0
|
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
28.08.2011, 21:27 | 51 |
Зачем здесь typedef?
По-моему, в этой теме первым появилось решение alex_x_x'а. Да и ничего сверхестественного в Вашем решении нет, я когда увидел эту тему сразу подумал о решении схожим с решением alex_x_x'а, так что ничего оригинального в Вашем подходе нет, чтобы так им кичиться.
0
|
28.08.2011, 23:11 | 52 |
Не буду разрывать муравейник в этой теме, а то споры те еще шли. Во-первых, моя функция применима в С++ и С (а человеку именно это и надо было). А во-вторых, название "в лоб" к ней не применимо, так как она для С.
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
28.08.2011, 23:14 | 53 |
Не вижу связи.
Добавлено через 1 минуту Человек, по-моему, и сам не знает, чего ему надо. То ему в С++ надо, то в С...
0
|
28.08.2011, 23:17 | 54 |
Ну, ваш аргумент про универсальность я понял. Но зачем здесь надо было писать отдельные функции поиска максимума, отдельно подсчета количества элементов с тем или иным значением и т.д. Это конкретный пример с одним проходом и все. А про С это то, что у вас уже чисто С++ вариант.
Добавлено через 1 минуту Это уже вспоминать смешно, странные просьбы были у него.
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
28.08.2011, 23:20 | 55 |
Задача учебная, это понятно. Но всё же в своё время появилась парадигма структурного программирования. Она заключалась в том, чтобы разбивать код на подпрограммы, которые и взаимодействовали между собой. Так зачем же отметать эту парадигму и снова писать весь функционал в одном месте?
Я это понимаю, но смысл-то один. В одну функцию передаётся результат выполнения другой. Разница в том, что я использовал готовые функции, а можно было изобрести велосипед и написать свои (задача-то учебная, простительно). Добавлено через 41 секунду А я о чём
0
|
28.08.2011, 23:24 | 56 |
Я с вами не спорю. Понимаете, студентам полезно рассматривать задачи с разных сторон. Ведь все эти парадигмы не подходят для олимпиадных, например задач. Поэтому надо хотя бы понимать, что бывают и другие подходы.
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
28.08.2011, 23:28 | 57 |
Thinker, это-то всё тоже понятно, но, к сожалению, такому "студенту", как ТС, нужно одно - отметка о сдаче лабы. Поэтому такие задачи мы пишем не для них, а больше для себя (выдалась свободная минутка - написал пару-тройку таких лаб, для души). А для себя надо писать правильно.
2
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
28.08.2011, 23:36 | 59 |
Thinker, где очень нужна скорость, там вообще ассемблерные вставки используют. Но сомневаюсь, что это в данном случае уместно. Так что в данном лучше красиво и элегантно, чем быстро.
А вообще, преждевременная оптимизация - корень всех бед (с)
0
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
||||||
29.08.2011, 00:15 | 60 | |||||
silent_1991, все относительно и универсальность тоже
есть ситуации когда нельзя сделать повторный обход, самый простой вариант - работа с потоком
1
|
29.08.2011, 00:15 | |
29.08.2011, 00:15 | |
Помогаю со студенческими работами здесь
60
Определить количество максимальных элементов в массиве Определить количество максимальных элементов в массиве Определить количество максимальных элементов в массиве Определить количество максимальных элементов в массиве Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |