Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Restruktit
1 / 1 / 0
Регистрация: 08.01.2014
Сообщений: 17
1

Найти произведение элементов массива, расположенных между максимальным и минимальным элементами

27.03.2014, 21:11. Просмотров 925. Ответов 1
Метки нет (Все метки)

Ребят, подскажите хотя бы с чего начать и как делать

Необходимо в одномерном массиве,состоящем из N вещественных элементов, вычислить:
1) Сумму отрицательных элементов массива
2) Произведение элементов массива, расположенных между максимальным и минимальным элементами
3)Заполнить его случайными значениями и распечатать его по 10 чисел в строке
4) Упорядочить элементы массива по возрастанию
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2014, 21:11
Ответы с готовыми решениями:

Найти произведение элементов массива, расположенных между максимальным и минимальным элементами
Помогите, пожалуйста, найти ошибки. При выводе выдает все нули =/ Само задание : В одномерном...

Вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами
В одномерном массиве, состоящем из 10 целых элементов, вычислить произведение элементов массива,...

В одномерном массиве вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами
Ребят помогите!) нужно решить одну задачку.. В одномерном массиве, состоящем из n ...

Найти количество элементов массива, расположенных между минимальным и максимальным элементами
В одномерном массиве, состоящем из вещественных элементов, вычислить: А) произведение элементов...

Найти сумму элементов массива, расположенных между максимальным и минимальным элементами
Всем привет. Сегодня столкнулся с проблемой, моя программа не хочет выполнять действия после 3...

1
Петррр
6177 / 3478 / 898
Регистрация: 28.10.2010
Сообщений: 5,928
27.03.2014, 21:46 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
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int is_negative(const int n)
{
    return n < 0;
}
 
int sum_if(const int *ptr, size_t count, int (*predicate)(int))
{
    int s = 0;
    while (count--)
    {
        if (predicate(*ptr))
        {
            s += *ptr;
        }
        ptr++;
    }
    return s;
}
 
const int* max_element(const int* begin, const int* end)
{
    const int* max = begin;
    while (++begin != end)
    {
        if (*begin > *max)
        {
            max = begin;
        }
    }
    return max;
}
 
const int* min_element(const int* begin, const int* end)
{
    const int* min = begin;
    while (++begin != end)
    {
        if (*begin < *min)
        {
            min = begin;
        }
    }
    return min;
}
 
int accumulate(const int* begin, const int *end, int start_value, int (*func)(int, int))
{
    while (begin != end)
    {
        start_value = func(start_value, *begin++);
    }
    return start_value;
}
 
int mul(int n1, int n2)
{
    return n1 * n2;
}
 
void fill(int *ptr, size_t size)
{
    while (size--)
    {
        *ptr++ = rand() % 20 - 10;
    }
}
 
void dump(const int *ptr, size_t size, size_t in_row_count)
{
    size_t i = 0;
    for (; i < size; i++)
    {
        printf("%d ", *ptr++);
        if ((i + 1) % in_row_count == 0)
        {
            putchar('\n');
        }
    }
}
 
int compare_int(const void* ptr1, const void *ptr2)
{
    return *(const int*)ptr1 - *(const int*)ptr2;
}
 
int main()
{
    const int *min, *max, *buf;
    int array[45];
    srand(time(NULL));
    fill(array, 45);
    dump(array, 45, 10);
    printf("\nNegative elemets sum: %d\n", sum_if(array, 45, is_negative));
    
    min = min_element(array, array + 45);
    max = max_element(array, array + 45);
    if (min > max)
    {
        buf = min;
        min = max;
        max = buf;
    }
    printf("Between max and min: %d\n", accumulate(min + 1, max, 1, mul));
    qsort(array, 45, sizeof(int), compare_int);
    dump(array, 45, 45);
    putchar('\n');
    return EXIT_SUCCESS;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.03.2014, 21:46

Найти сумму положительных элементов массива, расположенных между минимальным и максимальным элементами
Попросили решить задачу,дан массив чисел,нужно вывести два числа, разделенных пробелом: сумму...

Найти сумму и количество положительных элементов, расположенных между минимальным и максимальным элементами массива
Найти сумму и количество положительных элементов, расположенных между минимальным и максимальным...

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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