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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
KDA
Сообщений: n/a
#1

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

27.05.2011, 12:25. Просмотров 734. Ответов 2
Метки нет (Все метки)

Здравствуйте! Помогите пожалуйста сделать задачу!!!

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

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

Найти количество элементов между первым и последним максимальным элементами массива - C++
Дан целочисленный массив. Найти количество элементов между первым и последним максимальным.

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

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

Сумма элементов массива, расположенных между первым и последним элементом - C++
#include "stdafx.h" #include <iostream> #include "conio.h" #include <stdio.h> #include "locale.h" using namespace std; ...

Сумма элементов массива, расположенных между первым и последним положительным элементом - C++
Вычислить сумму элементов массива, расположенных между первым и последним положительными элементами. Вот что получилось... ...

Сумма элементов между первым положительным элементом массива и последним отрицательным - C++
В одномерном целочисленном массиве( элементы массива генерируются случайным образом диапазоне от -100 до 100), подсчитать сумму элементов,...

Произведение элементов массива, расположенных между первым максимальным и последним минимальным по модулю - C++
Нужна помощь по составлению программы. произведение элементов массива, расположенных между первым максимальным по модулю и последним...

Подсчитать сумму элементов массива расположенных между первым максимальным и последним минимальными элементами - C++
Для одномерного целочисленного массива размерности n, элементы которого генерируются случайным образом, реализовать набор функций ...

Подсчитать сумму элементов расположенных между первым максимальным и последним минимальными элементами массива - C++
Для одномерного целочисленного массива размерности n, элементы которого генерируются случайным образом, реализовать набор функций ...

Найти количество нулей среди элементов массива, расположенных между минимальным и максимальным элементом массива. - C++
Программу по нахождению количества нулевых элементов в массиве составила а как сделать так чтобы они находились именно между макс. и мин....


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 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 из файла..
  { 
     ...
  }
Ответ Создать тему
Опции темы

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