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

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

Войти
Регистрация
Восстановить пароль
 
Evghenii.88
0 / 0 / 0
Регистрация: 20.05.2010
Сообщений: 7
#1

написать функцию в С++ - C++

21.05.2010, 00:55. Просмотров 490. Ответов 5
Метки нет (Все метки)

Надо написать функцию которая выводит из вектора числа ,которые меньше чем средняя арифметическая максимума и минимума.
длину вектора определяем сами числа тоже.
Тоесть надо найти среднюю арифмитическу наибольшего и наименьшего числа в векторе, сравнить с каждым числом в этом векторе и если это число меньше чем средняя арифм то вывести его.

П.С. Заранее большое спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2010, 00:55     написать функцию в С++
Посмотрите здесь:

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

написать функцию из 10 с.с в 16 - C++
Напишите функцию, которая переводит заданное число из 10-ной системы счисления в 16-ричную систему счисления

Написать функцию - C++
Написать функцию , которая вычисляет сопротивление цепи, состоящий из двух резисторов. Параметрами ф-ции являются величины сопротивление и...

написать функцию - C++
помогите пожалуйста как будет выглядеть функция из такого кода for (int i=0; i<n; i++) { cout <<"text"<<i+1<<"text"; ...

написать функцию - C++
Ребята,помогите написать функцию char blanks(), которая 1) из входного потока читает литеру за литерой, пока не встретит цифру, букву,...

Написать функцию. - C++
"Напишите функцию, которая принимает целое число и возвращает двузначное число, состоящее из первой и последней цифр исходного числа....

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gh05t
47 / 46 / 4
Регистрация: 03.04.2010
Сообщений: 99
21.05.2010, 04:45     написать функцию в С++ #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
32
33
#include <iostream>
 
using namespace std;
 
int main()
{
    int N;
    cin >> N;
    int matrix[1000], max, min;
 
    for (int i = 0; i < N; i++)
    {
        cin >> matrix[i];
        if (i==0)
            max = matrix[i];
        else
            if (max < matrix[i])
                max = matrix[i];
        if (i==0)
            min = matrix[i];
        else
            if (min > matrix[i])
                min = matrix[i];
    }
 
    float mid = (max + min)/2;
 
    for (int i = 0; i < N; i++)
        if (matrix[i] < mid)
            cout << matrix[i] << endl;
 
    return 0;
}
Evghenii.88
0 / 0 / 0
Регистрация: 20.05.2010
Сообщений: 7
21.05.2010, 09:28  [ТС]     написать функцию в С++ #3
Спасибо конечно большое но надо именно Фнукцию
gh05t
47 / 46 / 4
Регистрация: 03.04.2010
Сообщений: 99
21.05.2010, 10:37     написать функцию в С++ #4
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>
 
using namespace std;
 
void func (int * matrix, int N)
{
    int max, min;
 
    for (int i = 0; i < N; i++)
    {
        if (i==0)
            max = matrix[i];
        else
            if (max < matrix[i])
                max = matrix[i];
        if (i==0)
            min = matrix[i];
        else
            if (min > matrix[i])
                min = matrix[i];
    }
    float mid = (max + min)/2;
 
    for (int i = 0; i < N; i++)
        if (matrix[i] < mid)
            cout << matrix[i] << endl;
}
 
int main()
{
        int N;
        cin >> N;
        int matrix[1000];
 
        for (int i = 0; i < N; i++)
            cin >> matrix[i];
 
        func((int *)&matrix, N);
 
        return 0;
}
Mr.X
Эксперт С++
3048 / 1693 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
21.05.2010, 13:06     написать функцию в С++ #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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
//Написать функцию, которая выводит из вектора числа, которые меньше, 
//чем средняя арифметическая максимума и минимума.
#include <vector>
#include <algorithm>
#include <ctime>
#include <cstdlib>
#include <functional>
#include <iostream>
#include <locale>
 
const size_t ARR_SIZE = 20;
 
typedef std::vector<int> T_int_arr;
 
int get_rand()
{
    const size_t ARR_VAL_PERIOD  = 100;
    return rand() % ARR_VAL_PERIOD;
}
 
void print_nums_less_aver_max_min(const T_int_arr&  a)
 
{
    double min_elem = *std::min_element(a.begin(), a.end());
    double max_elem = *std::max_element(a.begin(), a.end());
    double aver_min_max = (min_elem + max_elem) / 2.0;
    T_int_arr  temp_arr(a);
    T_int_arr::iterator  new_temp_arr_end 
        = std::remove_copy_if
              (
                  a.begin(), a.end(), 
                  temp_arr.begin(), 
                  std::bind2nd(std::greater_equal<double>(), aver_min_max)
              );
    std::cout << std::endl
              << "min = "                    << min_elem     << std::endl
              << "max = "                    << max_elem     << std::endl
              << "сред. арифм. min и max = " << aver_min_max << std::endl;
 
    std::cout << "Числа вектора, которые меньше средней арифметической "              
              << "его максимума и минимума: "
              << std::endl;
 
    std::copy(temp_arr.begin(), new_temp_arr_end,               
              std::ostream_iterator<int>(std::cout, " "));
}
 
int main()
{
    std::locale::global(std::locale("rus"));
 
    //Создаем вектор нужного размера.
    T_int_arr v(ARR_SIZE);    
 
    //Заполняем его случайными числами.
    srand(static_cast<unsigned>(time(0)));
    std::generate(v.begin(), v.end(), get_rand);
 
    //Выводим его на консоль.
    std::cout << "Исходный вектор: "             
              << std::endl;
    std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
 
    //Выводим на консоль числа вектора, которые меньше средней арифметической
    //его максимума и минимума.
    print_nums_less_aver_max_min(v);
    std::cout << std::endl;   
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2010, 15:48     написать функцию в С++
Еще ссылки по теме:

Написать функцию на С++ - C++
Нужна помощь написать выражение для вычисления на С++. Никак не получаеться. Нужна ваша помощь.

Написать функцию. - C++
Есть такая задача: Даны два вещественных числа. Поменять местами целую и дробную части этих чисел. (Использовать соответствующую функцию). ...

Написать функцию - C++
Написать функцию, которая выводит на экран строку, состоящую из звездочек. Длинастроки (количество звездочек) является параметром...

Написать функцию - C++
Написать функцию swap (A,B), меняющую местами максимальные элементы матриц A и B. (Считать, что в каждой матрице только один элемент...


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

Или воспользуйтесь поиском по форуму:
Evghenii.88
0 / 0 / 0
Регистрация: 20.05.2010
Сообщений: 7
21.05.2010, 15:48  [ТС]     написать функцию в С++ #6
gh05t
выдаёт ошибку : Namespace name expected
может у меня с компилятором что-то не то? Borland C++ 5.02

Добавлено через 40 минут
gh05t Cпасибо большое очень помог!
Yandex
Объявления
21.05.2010, 15:48     написать функцию в С++
Ответ Создать тему
Опции темы

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