Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 1
Регистрация: 01.03.2015
Сообщений: 2
1

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

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

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

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

Заранее большое спасибо!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.05.2011, 12:25
Ответы с готовыми решениями:

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

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

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

Сумма элементов массива, расположенных между первым и последним элементом
#include "stdafx.h" #include <iostream> #include "conio.h" #include <stdio.h> #include...

2
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
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;
}
0
0 / 0 / 1
Регистрация: 01.03.2015
Сообщений: 2
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 из файла..
  { 
     ...
  }
0
27.05.2011, 12:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.05.2011, 12:54
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru