Форум программистов, компьютерный форум CyberForum.ru

Найти количество элементов массива, содержащихся между первым и последним максимальным элементом - C++

Восстановить пароль Регистрация
 
KDA
Сообщений: n/a
27.05.2011, 12:25     Найти количество элементов массива, содержащихся между первым и последним максимальным элементом #1
Здравствуйте! Помогите пожалуйста сделать задачу!!!

Дан набор из целых чисел ( числа читаются из файла ).
Найти количество элементов, содержащихся между
первым и последним максимальным элементом.
Если в наборе имеется единственный максимальный элемент, то
вывести 0.

Заранее большое спасибо!
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2011, 12:25     Найти количество элементов массива, содержащихся между первым и последним максимальным элементом
Посмотрите здесь:

Найти сумму элементов массива, находящихся между первым и последним отрицательным элементом C++
Сумма элементов массива, расположенных между первым и последним положительным элементом C++
Сумма элементов массива, расположенных между первым и последним элементом C++
Сумма элементов между первым положительным элементом массива и последним отрицательным C++
Найти количество элементов массива, которые находится между первым и последним отрицательным элементом C++
C++ Найти количество элементов между первым и последним максимальным элементами массива
C++ Произведение элементов массива, расположенных между первым максимальным и последним минимальным по модулю
C++ Подсчитать сумму элементов массива расположенных между первым максимальным и последним минимальными элементами

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
27.05.2011, 12:39     Найти количество элементов массива, содержащихся между первым и последним максимальным элементом #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
#include <fstream>
#include <string>
#include <algorithm>
#include <vector>
#include <iterator>
 
int main()
{
    std::string f_name;
    std::cin >> f_name;
    std::ifstream ifs(f_name.c_str());
    if(!ifs)
    {
        std::cerr << "Can`t open file: " << f_name << '\n';
        return 1;
    }
    std::vector<int> vec((std::istream_iterator<int>(ifs)), std::istream_iterator<int>());
    std::vector<int>::iterator first = std::max_element(vec.begin(), vec.end());
    std::vector<int>::reverse_iterator rev_last = std::max_element(vec.rbegin(), vec.rend());
    std::vector<int>::iterator last = rev_last.base() - 1;
    if(first == last)
        std::cout << 0 << '\n';
    else
        std::cout << std::distance(first + 1, last) << '\n';
    return 0;
}
KDA
Сообщений: n/a
27.05.2011, 12:54     Найти количество элементов массива, содержащихся между первым и последним максимальным элементом #3
спасибо, но вот вектора я совсем не знаю... Можно ли как-нибудь по-другому решить?
вот например так начать:

C++
1
2
3
4
5
6
7
8
9
  ifstream infile("in.txt"); // Исходный файл
  double a; // Элементы последовательности
  double Max; // Максимальное число
  int n = 0; // Количество элементов между первым и  последним максимальным числом
 
  while ( infile >> a )  // пока читается a из файла..
  { 
     ...
  }
Yandex
Объявления
27.05.2011, 12:54     Найти количество элементов массива, содержащихся между первым и последним максимальным элементом
Ответ Создать тему
Опции темы

Текущее время: 18:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru