Форум программистов, компьютерный форум 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++ Скопировать подстроку в строку до последнего пробела
Надо написать программу, которая будет копировать подстроку в строку до последнего пробела. Например, исходная строка "раз два три". В новую строку должно копироваться "раз, два". Я использую функцию strrchr для нахождения последнего пробела, а вот как скопировать строку до этого пробела? Помогите разобраться. #include <conio.h> #include <iostream> #include <string> using namespace std;...
Visual C++ Ошибка в MFC Application http://www.cyberforum.ru/cpp-beginners/thread281868.html
Я сделал кнопку и написал для нее обработчик, но выскакивает вот такая ошибка error C2664: 'CWnd::MessageBoxW' : cannot convert parameter 1 from 'const char ' to 'LPCTSTR' Что не так? void Cmy1Dlg::OnBnClickedButton1() { MessageBox("Привет!"); }
C++ минимизировать сумму кубов остатков по всем строкам Здравствуйте! Помогите пожалуйста решить этим способом: • с использованием динамического программирования Входной текст состоит из слов с известными длинами (количеством символов) l1, l2,..., lп и представляет абзац. Его нужно "правильно отформатировать" и вывести в несколько строк длиной М символов (M≥max li). Форматирование заключается в следующем. Если в строке размещаются слова с i-го... подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
23.04.2011, 19:39     непонятно ...подпрограмма возвращает true
Подпрограмма возвращает 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;
}
 
Текущее время: 15:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru