Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 06.10.2013
Сообщений: 24
1

Найти номер первого максимального элемента среди отрицательных элементов, расположенных до первого элемента, большего заданного числа Т

27.12.2013, 14:58. Показов 3016. Ответов 12
Метки нет (Все метки)

Написать собственную функцию для работы с одномерным динамическим массивом, заданным указателем. Алгоритмы решения всех подзадач, включая ввод массива с резервированием памяти и его вывод, оформить в виде функций. Во всех вариантах задан одномерный целочисленный массив a из n элементов. Заполнение массива можно выполнить вводом с клавиатуры, чтением из файла или с помощью генератора случайных чисел.
1.
Найти номер первого максимального элемента среди отрицательных элементов, расположенных до первого элемента, большего заданного числа Т.


можно подсказку
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.12.2013, 14:58
Ответы с готовыми решениями:

Найти номер первого максимального элемента среди отрицательных элементов, расположенных до первого элемента, большего Т.
Задан целочисленный одномерный массив a из n элементов. Найти номер первого максимального элемента...

Найти номер последнего максимального элемента среди элементов, лежащих в диапазоне [c,d] и расположенных до первого четного элемента.
помогите с задачкой Найти номер последнего максимального элемента среди элементов, лежащих в...

Найти номер первого максимального элемента среди отрицательных элементов
Задан целочисленный массив a из n элементов. Найти номер первого максимального элемента среди...

Найти номер максимального элемента среди отрицательных элементов, расположенных до первого элемента, большего T
Здравствуйте , пожалуйста помогите с кодом, мне нужна матрица в которую нужно вводить только...

12
21 / 21 / 4
Регистрация: 08.04.2013
Сообщений: 150
27.12.2013, 15:19 2
Подсказку на что именно?
0
0 / 0 / 0
Регистрация: 06.10.2013
Сообщений: 24
27.12.2013, 15:28  [ТС] 3
как найти номер первого максимального элемента среди отрицательных элементов, расположенных до первого элемента, большего заданного числа Т, а остальное я сама решу
0
653 / 574 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
27.12.2013, 16:06 4
найти элемент (первый попавшийся) который больше числа Т, запомнить индекс след элемента, пройтись от 0 до этого индекса, найти первый элемент (назовем его х)меньше нуля, и идя дальше по массиву, если найдется элемент который меньше нуля и больше чем элемент х, то вывести его индекс

Добавлено через 1 минуту
или


найти элемент (первый попавшийся) который больше числа Т, запомнить индекс след элемента, пройтись от 0 до этого индекса, найти первый элемент (назовем его х)меньше нуля, и идя дальше по массиву, если найдется элемент который меньше нуля , то заменить х на него, и запомнить индекс, так пройти до индекса из самого первого поиска
1
0 / 0 / 0
Регистрация: 06.10.2013
Сообщений: 24
27.12.2013, 16:33  [ТС] 5
эээ.. извините сможете на языке С++ представить это (просто я так плохо понимаю)
0
653 / 574 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
27.12.2013, 17:00 6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
bool finded = false;
for(int i = 0; i<n;i++)
{
if(arr[i]>T)
{
finded = true;
int max = 0x80000000;//самое маленькое инт
int index = 0;
for(int j = 0; j<i+1 && j < n;j++)
{
if(arr[j] <0 && arr[j]>max)
{
max = arr[j];
index = j;
}
}
if(max != 0x80000000)
cout << "index of MAx = " << j << endl;
}
if(finded) break;
}
1
21 / 21 / 4
Регистрация: 08.04.2013
Сообщений: 150
27.12.2013, 23:46 7
aLarman, у Вас вложенный цикл, а это уже квадратичная сложность. Лучше (быстрее по времени и гораздо проще для понимания) будет два последовательных цикла: в первом пробегаем масси в и находим первое число, большее Т ,и запомигаем его индекс, во втором цикле идём от начала массива до найденного индекса и ищем максимальный отрицательный элемент. В этом случае сложность линейная, плюс алгоритм прозрачен для понимания.
1
Форумчанин
Эксперт CЭксперт С++
8171 / 5021 / 1436
Регистрация: 29.11.2010
Сообщений: 13,453
27.12.2013, 23:53 8
Цитата Сообщение от aLarman Посмотреть сообщение
int max = 0x80000000;//самое маленькое инт
std::numeric_limits<int>::min() не лучше?
0
653 / 574 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
28.12.2013, 13:32 9
Цитата Сообщение от Kirill R Посмотреть сообщение
у Вас вложенный цикл
Цитата Сообщение от aLarman Посмотреть сообщение
C++
1
if(finded) break;
аналог 2х отдельных

Добавлено через 38 секунд
Цитата Сообщение от MrGluck Посмотреть сообщение
std::numeric_limits<int>::min() не лучше?
лучше, я хз почему у меня такая конструкция отказалась компилится, std::numeric_limits<int>::max() - все ровно
0
21 / 21 / 4
Регистрация: 08.04.2013
Сообщений: 150
28.12.2013, 13:54 10
аналог 2х отдельных
Очень непрозрачный аналог.
0
653 / 574 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
28.12.2013, 14:07 11
Цитата Сообщение от Kirill R Посмотреть сообщение
Очень непрозрачный аналог.

Не по теме:

Есть огромная куча "непрозрачных "примеров исп. языка :-/

0
║XLR8║
1211 / 908 / 270
Регистрация: 25.07.2009
Сообщений: 4,361
Записей в блоге: 5
28.12.2013, 15:53 12
aLarman, <climits> и #define MAX_INT или INT_MAX в помощь
0
Форумчанин
Эксперт CЭксперт С++
8171 / 5021 / 1436
Регистрация: 29.11.2010
Сообщений: 13,453
28.12.2013, 16:37 13
Цитата Сообщение от aLarman Посмотреть сообщение
Есть огромная куча "непрозрачных "примеров исп. языка
правильно. И нужно их избегать там, где нужно.
Например в вашем варианте можно запихнуть условие finded в проверку в цикле и будет всем счастье
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.12.2013, 16:37

Найти номер первого максимального значения среди элементов, меньших a и расположенных правее первого элемента, кратного трем
Помогите плз! Найти номер первого максимального значения среди элементов, меньших a и...

Найти номер последнего максимального элемента среди элементов, меньших Т1, и расположенных до первого элемента
Задание. Задан целочисленный одномерный массив A из N элементов. Найти номер последнего...

Найти номер первого минимального элемента среди положительных элементов, расположенных до первого элемента, кратного пяти.
Задан целочисленный одномерный массив a из n элементов. Найти номер первого минимального элемента...

Найти номер последнего максимального элемента среди нечетных (по значению) элементов, расположенных до первого четного
Найти номер последнего максимального элемента среди нечетных (по значению) элементов, расположенных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru