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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
greendoom
4 / 4 / 1
Регистрация: 13.03.2011
Сообщений: 56
#1

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

02.11.2011, 17:22. Просмотров 832. Ответов 3
Метки нет (Все метки)

Задан целочисленный одномерный массив a из n элементов.
Найти минимальное значение положительных элементов, расположенных правее первого элемента, равного нулю.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.11.2011, 17:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти минимальное значение положительных элементов, расположенных правее первого элемента, равного нулю. (C++):

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

Найти произведение элементов, расположенных правее первого элемента равного первого элемента равного k - C++
Дан вектор размерности N. Найти произведение элементов, расположенных правее первого элемента равного первого элемента равного k.

Найти сумму модулей элементов массива, расположенных после первого элемента, равного нулю - C++
Народ нужна помощь помогите с програмой не могу завтро зачет не могу ее написать) Вот задача:В одномерном массиве, состоящем из n целых...

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

Вычислить сумму модулей элементов массива, расположенных после первого элемента, равного нулю - C++
Дан вещественный массив а(n).Вычислить сумму модулей элементов массива,расположенных после первого элемента,равного нулю. Если таких...

Найти сумму элементов массива, расположенных после последнего элемента, равного нулю - C++
Всем, привет)вобщем задачка такая,очень нужна помощь!!!!) помогите,кто сможет! В двумерном массиве,состоящем из m и n элементов...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
02.11.2011, 17:44 #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
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;
}
1
Сыроежка
Заблокирован
02.11.2011, 18:58 #3
Цитата Сообщение от 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
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
02.11.2011, 19:04 #4
Действительно. Про минимальный то я и позабыл
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.11.2011, 19:04
Привет! Вот еще темы с ответами:

Вычислить количество положительных элементов массива и сумму элементов массива, расположенных после последнего элемента, равного нулю - C++
В одномерном массиве, состоящем из n вещественных элементов, вычислить: количество положительных элементов массива; сумму элементов...

В одномерном массиве, состоящем из 30 целых элементов, вычислить сумму элементов массива, расположенных после последнего элемента, равного нулю. - C++
Помогите,пожалуйста,решить.. В одномерном массиве, состоящем из 30 целых элементов, вычислить сумму элементов массива, расположенных...

Вычислить сумму модулей элементов , расположенных после первого элемента ,равному нулю - C++
Добрый вечер уважаемые форумчане !Нужна ваша помощь! В одномерном массиве состоявшим из n целочисленных элементов вычислить: ...

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
02.11.2011, 19:04
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru