Форум программистов, компьютерный форум, киберфорум
Наши страницы

Минимальный элемент массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Задача С++ кто знает как сделать? http://www.cyberforum.ru/cpp-beginners/thread391223.html
Помогите плиз програму на С++ написать! Задача. Обычная ошибка при наборе состоит в том что вы помещаете руки на клавиатуре на 1 ряд правее верной позиции. Тогда "Q" будет печататься как "W", "J"...
C++ Задачка с массивами. Имеются ли в матрице 2 совпадающие строки. http://www.cyberforum.ru/cpp-beginners/thread391221.html
C++ Сохранения Информации с использованием структур и массивов
Здравствуйте, дорогие пользователи! Имею вот простую задачу... Сохранения данной информации: "фамилия, инициалы, год рождения, зарплату" с использованием структур и массивов. Но с массивом знаю...
Сумма C++
20 _ -0,25 S=13! \ e /_ i=1 надеюсь вы поняли то что я написал ))))) Запрещено создавать темы с бессмысленными названиями вроде "Помогите!", "Вопрос" и т.п.
C++ 1. Создайдать класс Mostr, все поля должны быть private, методы public. http://www.cyberforum.ru/cpp-beginners/thread391204.html
1. Создайте класс Mostr, все поля должны быть private, методы public. 2. Создайте несколько объектов с использованием всех конструкторов. В объекте, созданным конструктором по умолчанию,...
C++ Dev C++ задачи Здравствуйте, кому не сложно помогите решить задачи: Язык: C++, Среда разработки: Dev C++. 1) Дан текст из цифр, за который следует точка. Напечатать цифру, которая встречается наиболее часто.... подробнее

Показать сообщение отдельно
bupal
27 / 27 / 3
Регистрация: 30.03.2010
Сообщений: 378
Записей в блоге: 1
25.11.2011, 14:46  [ТС]
Цитата Сообщение от Сыроежка Посмотреть сообщение
Я тут глупость наговорил, на ночь глядя.

На самом деле вам один раз надо искать минимуму по всему массиву. А затем уже не пользоваться этой функцией, а написать функцию поиска заданного элемента. То есть так как минимум уже известен, то в оставшейся последовательности просто нужно найти такой же по значению элемент.

Примерная функция (напишу ее для double массива

C++
1
2
3
4
5
6
7
8
unsigned int find( double a[], unsigned int n, double value )
{
   unsigned int index = 0;
   
   while ( index < n && !( a[index] == value ) ) index++;
 
   return ( index );
}
Только при вызове нужно правильно задавать аргументы. Допустим, вы сначала вызываете min_element

C++
1
2
3
4
5
6
7
8
unsigned int min = min_element( a, N );
 
while ( min != N )
{
   std::cout << "minimum = " << a[min] << std::endl;
   unsigned int start = min + 1;
   min = find( a + start, N - start, a[min] ) + start;
}

Проверьте как раз этот код. Будет ли у вас печатать все минимумы массива?
Привет...что то не так происходит..
после нахождения первого минимума, функция find сразу выдаёт номер последнего элемента + 1...
тобишь если массив был из 8 элементов, то она выдаёт 9

Добавлено через 3 минуты
ой..кажется Вы меня не правильно поняли...
я имел в виду не то, чтобы был найден такой же по значению элемент
а чтобы был минимум, который больше первого минимума, но меньше всего остального..
тоесть в массиве {10, 30, 12} первый минимум это 10, а второй минимум это 12
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru