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

Функция должна возвращать наименьший положительный элемент массива - C++

Восстановить пароль Регистрация
 
Turbosokol
0 / 0 / 0
Регистрация: 20.02.2014
Сообщений: 6
24.07.2014, 23:50     Функция должна возвращать наименьший положительный элемент массива #1
Помогите, не могу написать этот клочек кода...голова кипит..
Есть постановка задания:
Написать функцию (процедуру) с параметрами для обработки одномерного массива целочисленных данных (количество элементов массива ≤50). Функция (процедура) должна возвращать наименьший положительный элемент массива.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.07.2014, 23:50     Функция должна возвращать наименьший положительный элемент массива
Посмотрите здесь:

Функция должна возвращать указатель на первый элемент массива,удовлетворяющий условию C++
3. Написать функцию, которая обеспечивает ввод с клавиатуры целого положительного числа. Функция из набора знаков должна возвращать только целые полож C++
Функция суммирует каждый третий элемент (если он положительный) и возвращает полученную сумму C++
Наименьший положительный элемент (0 не положительный) C++
C++ Создать одномерный массив, найти наименьший элемент 3-го столбца, поменять местами наименьший элемент элементы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6469 / 2244 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
25.07.2014, 00:26     Функция должна возвращать наименьший положительный элемент массива #2
C++
1
2
3
4
int find_min_positive(const std::vector<int>& values)
{
    return *std::min_element(values.begin(), values.end(), [](const int& a, const int& b){ return (b<0)?true:(a<0)?false:(a<b); });
}
Turbosokol
0 / 0 / 0
Регистрация: 20.02.2014
Сообщений: 6
25.07.2014, 01:17  [ТС]     Функция должна возвращать наименьший положительный элемент массива #3
еее...ничеж не понятно...высокий наверное у вас уровень в програмировании, можно чуть по легче оперировать кодами=)? оч сложно мне как новичку такой код)
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
25.07.2014, 01:27     Функция должна возвращать наименьший положительный элемент массива #4
Turbosokol, вот попроще
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <limits>
#include <algorithm>
 
// ...
 
int min_positive(int * const array, std::size_t const size) {
   int min = std::numeric_limits<int>::max();
   for (std::size_t i = 0; i != size; ++i) {
      if (array[i] > 0) {
          min = std::min(min, array[i]);
      }
   }
 
   return min;
}
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
25.07.2014, 18:16     Функция должна возвращать наименьший положительный элемент массива #5
Как вариант:
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
#include<iostream>
#include<cstdlib>
using namespace std;
 
int f(int arr[], int size_arr)
{
    int result = 0;
    bool flag = false;
    for (int i = 0; i < size_arr; ++i)
    {
        if (arr[i] <= 0)
            continue;
        else
        {
            if (!flag)
            {
                result = arr[i];
                flag = true;
            }
            else
            {
                if (arr[i] < result)
                    result = arr[i];
            }
        }
    }
    return result;
}
 
int main()
{
    const int N = 8;
    int  arr[N] = {5, 0, 0, -4, 3, -34, 2, 0};
    
    int n = f(arr, N);
    if (n)
        cout << n << endl;
 
    system("pause");
    return 0;
}
Добавлено через 16 часов 25 минут
Turbosokol, что молчим?
Vourhey
25.07.2014, 18:22     Функция должна возвращать наименьший положительный элемент массива
  #6

Не по теме:

Цитата Сообщение от alsav22 Посмотреть сообщение
Turbosokol, что молчим?
Общения не хватает?

Yandex
Объявления
25.07.2014, 18:22     Функция должна возвращать наименьший положительный элемент массива
Ответ Создать тему
Опции темы

Текущее время: 03:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru