Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
zanderbest
0 / 0 / 0
Регистрация: 17.03.2017
Сообщений: 4
#1

В целочисленном массиве на заданном отрезке найти максимальный элемент и его номер - C++

17.03.2017, 12:59. Просмотров 858. Ответов 12
Метки нет (Все метки)

В целочисленном массиве A[1..N] на отрезке [L,R] необходимо найти максимальный элемент и его номер.

Входные данные

Первая строка входного файла INPUT.TXT содержит натуральное число N – количество элементов в массиве. Во второй строке записаны N целых чисел Ai, разделенные пробелом. Третья строка содержит два натуральных числа L и R, которые задают отрезок поиска [L,R] (-1000 ≤ Ai ≤ 1000, 1 ≤ L ≤ R ≤ N ≤ 1000).

Выходные данные

В выходной файл OUTPUT.TXT выведите значение максимального элемента массива на отрезке [L,R] и его индекс. В случае неоднозначности определения индекса следует вывести наименьший из них.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2017, 12:59
Я подобрал для вас темы с готовыми решениями и ответами на вопрос В целочисленном массиве на заданном отрезке найти максимальный элемент и его номер (C++):

Найти максимальный элемент (его номер и значение) в массиве А из 100 элементов
4. Найти максимальный элемент (его номер и значение) в массиве А из 100...

В одномерном целочисленном массиве найти минимальные элемент m и максимальный элемент М
В одномерном целочисленном массиве найти минимальные элемент m и максимальный...

В целочисленном массиве найти максимальный элемент среди простых чисел
#include "tchar.h" #include <iostream> using namespace std; bool prost(int...

В заданном массиве найти максимальный элемент
Дали задание найти максимальные элемент массива и заполнить второй( с такой же...

В заданном массиве найти максимальный элемент
В массиве хранится информация о максимальной скорости каждой из 40 марок...

В целочисленном массиве из 10 элементов найти максимальный элемент и заменить все элементы, значения которых нечетные на полученное значение максималь
В целочисленном массиве из 10 элементов найти максимальный элемент и заменить...

12
Байт
Эксперт C
17772 / 11797 / 2450
Регистрация: 24.12.2010
Сообщений: 23,718
17.03.2017, 13:07 #2
Цитата Сообщение от zanderbest Посмотреть сообщение
Не могу написать код
Но хоть какие-то попытки были?
0
DemolitionMan
129 / 155 / 87
Регистрация: 06.04.2016
Сообщений: 992
17.03.2017, 13:09 #3
Цитата Сообщение от zanderbest Посмотреть сообщение
В целочисленном массиве A[1..N] на отрезке [L,R] необходимо найти максимальный элемент и его номер.
- есть же функция max мо-моему в STL, std или еще там где-то.
0
MrGluck
Модератор
Эксперт CЭксперт С++
8022 / 4865 / 1425
Регистрация: 29.11.2010
Сообщений: 13,251
17.03.2017, 13:35 #4
Цитата Сообщение от DemolitionMan Посмотреть сообщение
в STL, std
И там и там. Функции STL лежат в namespace std.

Добавлено через 1 минуту
Однако, тут нужен max_element.
0
zanderbest
0 / 0 / 0
Регистрация: 17.03.2017
Сообщений: 4
17.03.2017, 13:48  [ТС] #5
суть в чём, я не знаю этого языка, знаю только Рascal и то не в идеале...принудили пойти на курсы, где уже разбирают задачи только на с++...Самое ужасное, что её сдать нужно до воскресенья.
0
DemolitionMan
129 / 155 / 87
Регистрация: 06.04.2016
Сообщений: 992
17.03.2017, 13:53 #6
Ну есть 2 варианта: либо оба файла сделать через fstream, либо 1 через ifstream, а другой тогда через ofstream. Вы что выбираете?
0
Байт
Эксперт C
17772 / 11797 / 2450
Регистрация: 24.12.2010
Сообщений: 23,718
17.03.2017, 13:55 #7
Лучший ответ Сообщение было отмечено zanderbest как решение

Решение

C++
1
2
3
4
int im = L;
for(int i=L+1; i<=R; i++) 
  if (A[i] > A[im]) im = i;
cout << i << "  " << A[im] << endl;
Псевдокод. Оформление и ввод данных сделаете сами.
1
DemolitionMan
129 / 155 / 87
Регистрация: 06.04.2016
Сообщений: 992
17.03.2017, 13:58 #8
Я думал от L включительно.
0
MrGluck
Модератор
Эксперт CЭксперт С++
8022 / 4865 / 1425
Регистрация: 29.11.2010
Сообщений: 13,251
17.03.2017, 14:00 #9
Без проверки входных данных:
C++
1
2
3
4
5
6
7
8
9
10
11
#include <algorithm>
#include <fstream>
#include <iterator>
#include <vector>
 
int main()
{
    std::fstream ifs("input.txt", std::ios::in), ofs("output.txt", std::ios::out);
    const std::vector<int> v { std::istream_iterator<int>(ifs), std::istream_iterator<int>() };
    ofs << *std::max_element(v.cbegin() + 1 + *(v.crbegin() + 1), v.cbegin() + 2 + *v.crbegin());
}
2
DemolitionMan
129 / 155 / 87
Регистрация: 06.04.2016
Сообщений: 992
17.03.2017, 14:00 #10
Делайте через файлы как я сказал и применяйте оператор >> для чтения данных(числа через пробел и перенос строки) из файла. По-моему(но неуверен) оператор << применяется для запихивания данных потом в файл.
0
zanderbest
0 / 0 / 0
Регистрация: 17.03.2017
Сообщений: 4
17.03.2017, 14:02  [ТС] #11
Скажите, как знающий человек. В каком варианте было бы лучше?
0
Байт
Эксперт C
17772 / 11797 / 2450
Регистрация: 24.12.2010
Сообщений: 23,718
17.03.2017, 14:06 #12
Цитата Сообщение от DemolitionMan Посмотреть сообщение
Я думал от L включительно.
Дык
Цитата Сообщение от Байт Посмотреть сообщение
C++
1
int im = L;
0
zanderbest
0 / 0 / 0
Регистрация: 17.03.2017
Сообщений: 4
17.03.2017, 14:41  [ТС] #13
Большое спасибо всем!
0
17.03.2017, 14:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.03.2017, 14:41
Привет! Вот еще темы с решениями:

В заданном массиве найти максимальный по модулю элемент
Задание такое: В массиве, заполненном целыми случайными числами из диапазона ,...

В целочисленном массиве найти максимальный элемент среди четных и среди нечетных элементов
В целочисленном массиве X(N) найти max1 - максимальный элемент среди четных...

Найти максимальный элемент массива и его номер
Составить программу записи в массив В номеров четных элементов массива А. Дан...

Найти максимальный элемент массива и его номер
задан массив n элемнтов,найти max элемент массиваи его номер


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru