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

Наибольшее отрицательное значение в массиве - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Программа на замену в строке http://www.cyberforum.ru/cpp-beginners/thread142476.html
Реализовать функцию заменяющую в строке последнее слово 'пять' на цифру 5.
C++ Переписать в выходную строку слова из входной строки в порядке возрастания их длины Народ очень нужна помощь решить задачку на простом СИ. Буду очень благодарен кто поможет... можно скинуть на мыло Calipso-777@mail.ru или выложить тут... А вот сама Задачка: Переписать в выходную строку слова из входной строки в порядке возрастания их длины. p.s:Если не сложно с объяснением задачи. http://www.cyberforum.ru/cpp-beginners/thread142469.html
Заполнение дерева C++
Нужно заполнить дерево так, чтобы указатели помещались наиболее ближе к корню, т.е. чтобы пока не заполнился один уровень он на другой не переходил. Я так понял, что нужно использовать рекурсию. Структура дерева следующая: struct tree { char* str; tree** chs; int count_chs; int inited; void init(int lvl)
C++ Создание внешних модулей в С++
Как создать внешний файл с функциями наподобие модулей в Pascal? Скажите пожалуйста...
C++ Найти среднее арифметическое неотрицательных элементов матрицы http://www.cyberforum.ru/cpp-beginners/thread142395.html
Найти среднее арифметическое неотрицательных элементов матрицы, а также подсчитать, сколько таких элементов в каждой отдельно взятой строке матрицы.
C++ Удалить книги заданного автора Необходимо разработать программу для создания и работы с двусвязным списком, состоящим из структур. Структура содержит название книги, автора, год издания. Необходимо удалить книги заданного автора. и проблема возникла с функцией удаления, вот что есть #include <stdio.h> #include <conio.h> #include <string.h> struct bibl подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
08.06.2010, 17:58     Наибольшее отрицательное значение в массиве
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <iostream>
#include <vector>
#include <set>
#include <algorithm>
#include <functional>
#include <iterator>
 
int main(){
    int cnt, t;
    std::vector<int> vec;
 
    std::cout << "Количество элементов: ";
    std::cin >> cnt;
    while ( cnt-- ){
        std::cout << "Значение (осталось " << cnt << "): ";
        std::cin >> t;
        vec.push_back(t);
    }
    std::cout << "Значение - разделитель: ";
    std::cin >> t;
    std::vector<int>::const_iterator start = std::find(vec.begin(), vec.end(), t);
    if ( start == vec.end() ){
        std::cerr << "Значение " << t << " не найдено!" << std::endl;
        return 1;
    }
    if ( ++start == vec.end() ){
        std::cerr << "Значение " << t << " последнее в массиве!" << std::endl;
        return 1;
    }
    std::set<int, std::greater<int> > set;
    for ( std::vector<int>::const_iterator i = start; i != vec.end(); ++i )
        if ( *i < 0 )
            set.insert(*i);
 
    if ( set.empty() ){
        std::cerr << "В массиве нет отрицательных значений, идущих после " << t << std::endl;
        return 1;
    }
    std::cout << "Массив:" << std::endl;
    std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout << std::endl;
 
    std::cout << "Максимальный отрицательный элемент в массиве, идущий после " << t << " : "
            << *set.begin() << std::endl;
 
    return 0;
}
 
Текущее время: 14:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru