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

непонятно ...подпрограмма возвращает true - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Строка в double http://www.cyberforum.ru/cpp-beginners/thread281951.html
Ecть массив char={2,3,6,.,8,9} Как написать алгоритм, чтоб получить число 236.89? Я все перепробовал, ничего не выходит.
C++ Среднее арифметическое ненулевых элементов массива Сформировать динамический массив X размером MxN из случайных целых чисел. В программе организовать функцию для подсчета среднего арифметического ненулевых элементов массива X, которые принадлежат... http://www.cyberforum.ru/cpp-beginners/thread281927.html
Подсчитать количество букв русского алфавита из файла .txt C++
Задача: Осуществить подсчет количества разных букв русского алфавита ("а", "б", ...) в текстовом файле .txt. Результаты вывести в консоли.
C++ Скопировать подстроку в строку до последнего пробела
Надо написать программу, которая будет копировать подстроку в строку до последнего пробела. Например, исходная строка "раз два три". В новую строку должно копироваться "раз, два". Я использую...
C++ минимизировать сумму кубов остатков по всем строкам http://www.cyberforum.ru/cpp-beginners/thread281863.html
Здравствуйте! Помогите пожалуйста решить этим способом: • с использованием динамического программирования Входной текст состоит из слов с известными длинами (количеством символов) l1, l2,...,...
C++ Разбить строку на слова из словаря Условие У Васи на клавиатуре не работает клавиша пробел. Поэтому все тексты он теперь набирает слитно. Напишите программу, которая будет разделять набранный Васей текст на слова из данного... подробнее

Показать сообщение отдельно
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
23.04.2011, 19:39
Подпрограмма возвращает true, если все элементы массива отличны от нуля, и подсчитывает, сколько в нём отрицательных элементов.
Некорректно это... Плохо что преподы такие задания дают...

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <vector>
#include <iostream>
#include <functional>
#include <algorithm>
 
bool isNotNull(const std::vector<int>& vec)
{
    return std::count(vec.begin(), vec.end(), 0) == 0;
}
 
size_t negateNumb(const std::vector<int>& vec)
{
    return std::count_if(vec.begin(), vec.end(), std::bind2nd(std::less<int>(), 0));
}
 
int main()
{
    std::vector<int> vec1((std::istream_iterator<int>(std::cin)), std::istream_iterator<int>());
    std::cin.clear();
    std::cin.get();
    std::vector<int> vec2((std::istream_iterator<int>(std::cin)), std::istream_iterator<int>());
    bool first = false;
    bool second = false;
    if(!isNotNull(vec1))
    {
       std::cout<< "Only null elements in vec1\n";
       first = true;
    }
    if(!isNotNull(vec2))
    {
       std::cout<< "Only null elements in vec2\n";
       second = true;
    }
    if(!first && !second)
    {
        const size_t firstCnt = negateNumb(vec1);
        const size_t secondCnt = negateNumb(vec2);
        if(firstCnt == 0)
        {
           std::cout<< "Only positive elements in vec1\n";
        }
        if(secondCnt == 0)
        {
           std::cout<< "Only positive elements in vec2\n";
        }
        if(firstCnt == secondCnt && firstCnt) 
        {
           std::cout<< "Equal\n";
           std::copy(vec1.begin(), vec1.end(), std::ostream_iterator<int>(std::cout, " "));
           std::cout<<'\n';
           std::copy(vec2.begin(), vec2.end(), std::ostream_iterator<int>(std::cout, " "));
           std::cout<<'\n';
        }
        else if(firstCnt != secondCnt && (firstCnt || secondCnt))
        {
            std::copy(firstCnt > secondCnt ? vec1.begin() : vec2.begin(), firstCnt > secondCnt ? vec1.end() : vec2.end(), std::ostream_iterator<int>(std::cout, " "));
            std::cout<<'\n';
        }
    }
    return 0;
}
3
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru