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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вызов конструктора классf! http://www.cyberforum.ru/cpp-beginners/thread376724.html
Всем привет! Вот есть конструктор. SampleTable::SampleTable(const sp<DataSource> &source) : mDataSource(source), mChunkOffsetOffset(-1), mChunkOffsetType(0), ...
C++ Примеры задач C++ на VS2010 Скиньте пожалуйста примеры программ (коды), которые реально работают и которые написаны на Microsoft Visual Studio 2010. Переписываю готовые коды с учебников по VS2010 - постоянно выдаёт ошибку. http://www.cyberforum.ru/cpp-beginners/thread376723.html
Ошибка С2079 C++
имеется описание классов в h-файле #include <map> #include <set> class Node; class EdgeToNode; class AdjacencyList; typedef std::set<EdgeToNode> EdgesList; typedef std::map<size_t, Node>...
Пароль C++
Всем доброго времени суток! У меня появилась такая проблема с организованием пароля:). Есть гланая форма, на которой расположен компонент MainMenu. При нажатии кнопки мыши на один из подразделов,...
C++ Очередь из разнитипных элементов http://www.cyberforum.ru/cpp-beginners/thread376714.html
Помогите пожалуйста, задаче не хочет выводить метод speek(). Ошибка у меня в int main()после того как я объявила указатель на очередь /* Создать очередь из разнотипных элементов-животных,...
C++ хочу написать прогу не знаю как Хочу написать программу которая При изменении цвета(например серого на желтый) на определенном пикселе или Группе пикселей(участке монитора), например загорания некой лампочки, нажимала определенную... подробнее

Показать сообщение отдельно
Сыроежка
Заблокирован
02.11.2011, 18:58
Цитата Сообщение от greendoom Посмотреть сообщение
Задан целочисленный одномерный массив a из n элементов.
Найти минимальное значение положительных элементов, расположенных правее первого элемента, равного нулю.
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
#include   <algorithm>
#include   <functional>
#include   <iostream>
 
 
const size_t n = 10;
 
int main()
{
   int a[n];
   int *min = a + n;
 
   //  звполняете каким-нибудь образом массив. Можно его инициализировать при его объявлении
 
   
   int *zero = std::find( a, a + n, 0 );
 
 
   if ( zero != a + n )
   {
       ++zero;
       min = std::min_element( zero, a + n, std::bind2nd( std::greater<int>(), 0 ) );
   }
 
   if ( min != a + n ) std::cout << "Minimum element = " << *min << std::endl;
   else std::cout << "Minimum of positive elements is not found\n";
 
   return ( 0 );
}
Добавлено через 1 минуту
Цитата Сообщение от soon Посмотреть сообщение
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
#include <iostream>
#include <vector>
#include <algorithm>
 
typedef std::vector<int> vecInt;
typedef vecInt::iterator vecIntItr;
 
bool isPositive(int i)
{
    return ((i > 0) ? true : false);
}
 
int main()
{
    vecInt v;
    int buf;
    while(std::cin >> buf)
        v.push_back(buf);
 
    vecIntItr minPositive = find_if((find(v.begin(), v.end(), 0)), v.end(), isPositive); 
 
    if(minPositive == v.end())
    {
        std::cout << "no zero in array or no positive element after zero" << std::endl;
        return 0;
    }
    else
        std::cout << *minPositive << std::endl;
 
    return 0;
}
Ваша программа делает не то, что требуется. Она пытается найти первый положительный элемент после первого найденного 0 в векторе.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru