С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/21: Рейтинг темы: голосов - 21, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 12.12.2023
Сообщений: 2

Найти максимальный элемент среди тех элементов массива, значения которых попадают в интервал [-5,5]

12.12.2023, 17:32. Показов 4162. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задан одномерный массив А (N) (N<=60). Найти максимальный элемент
среди тех элементов этого массива, значения которых попадают в интервал
[-5,5]. Все отрицательные элементы массива А домножить на этот элемент.
Преобразованный массив распечатать.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.12.2023, 17:32
Ответы с готовыми решениями:

Найти максимальный элемент среди тех элементов этого массива, значения которых попадают в интервал [-2,5]
Задан одномерный массив А(N). Найти максимальный элемент среди тех элементов этого массива, значения которых попадают в интервал . Все...

Найти максимальный элемент массива и его индекс среди элементов, значения которых не превосходят 10
Ввести массив из 13 вещественных чисел. Найти максимальный элемент и его индекс среди элементов, значения которых не превосходят 10. Если...

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

3
...
 Аватар для anmartex
1910 / 1329 / 966
Регистрация: 12.02.2013
Сообщений: 2,172
13.12.2023, 06:06
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
//-----------------------------------------------------------------------------
void println(const int* arr, unsigned size) {
    for (; size; --size) {
        printf("%d ", *arr++);
    }
    printf("\n");
}
//-----------------------------------------------------------------------------
void random(int* arr, unsigned size, int min, int max) {
    for (; size; --size) {
        *arr++ = rand() % (max - min) + min;
    }
}
//-----------------------------------------------------------------------------
int* getmax(int* arr, unsigned size, int min, int max) {
    int* res = NULL;
    for (; size; --size, ++arr) {
        if ((min <= *arr) && (*arr <= max)) {
            res = (res == NULL) ? arr : ((*res < *arr) ? arr : res);
        }
    }
    return res;
}
//-----------------------------------------------------------------------------
void multiply(int* arr, unsigned size, int factor) {
    for (; size; --size, ++arr) {
        if (*arr < 0) {
            *arr *= factor;
        }
    }
}
//-----------------------------------------------------------------------------
 
int main() {
    srand(time(NULL));
 
    unsigned n;
    printf("n = ");
    scanf("%u", &n);
 
    int arr[n];
 
    random(arr, n, -10, 10);
    printf("source: ");
    println(arr, n);
 
    int* max = getmax(arr, n, -5, 5);
    if (max) {
        printf("max = %d\n", *max);
 
        multiply(arr, n, *max);
        printf("result: ");
        println(arr, n);
    }
 
    return 0;
}
1
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
13.12.2023, 17:07
Хм. Я вижу раздел С++, поправьте, если ошибаюсь.

Тогда можно как-то так:
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
#include <iostream>
#include <random>
 
template<typename Iterator, typename Predicate>
Iterator getMaximumIf(Iterator begin, Iterator end, Predicate predicate) {
    Iterator result = end;
    while (begin != end) {
        if (predicate(*begin) && (result == end || *result < *begin)) {
            result = begin;
        }
        ++begin;
    }
    return result;
}
 
template<typename Iterator, typename Function>
void apply(Iterator begin, Iterator end, Function f) {
    for (; begin != end; ++begin) {
        *begin = f(*begin);
    }
}
 
template<typename Iterator>
std::ostream &toStream(Iterator begin, Iterator end, std::ostream &out) {
    while (begin != end) {
        out << *begin++ << ' ';
    }
    return out;
}
 
 
int main() {
    std::random_device rd;
    std::mt19937 rg(rd());
    std::uniform_int_distribution ds(5, 7);
    std::uniform_int_distribution dv(-20, 20);
 
    std::size_t size = ds(rg);
    int *array = new int[size]{};
 
    apply(array, array + size, [&](int) { return dv(rg); });
    toStream(array, array + size, std::cout) << '\n';
 
    auto max = getMaximumIf(array, array + size, [](int v) { return v >= -5 && v <= 5; });
 
    if (max != array + size) {
        std::cout << "max: " << *max << '\n';
        apply(array, array + size, [&](int v) { return v < 0 ? v * *max : v; });
        toStream(array, array + size, std::cout) << '\n';
    } else {
        std::cout << "none matching found";
    }
 
    delete [] array;
 
    return 0;
}
1
14.12.2023, 04:04

Не по теме:

lemegeton, 1 : 1 ;)

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.12.2023, 04:04
Помогаю со студенческими работами здесь

Определить количество элементов двумерного массива, значения которых попадают в интервал от А до В
Определить количество элементов двумерного массива, значения которых попадают в интервал от А до В.

Определить среднее арифметическое элементов массива, значения которых попадают в интервал
разработать алгоритм и написать программу на языке бейсик для следующей задачи: дан двумерный массив А из N строк и M столбцов....

Найти максимальное значение среди всех элементов тех строк матрицы, в которых максимальный элемент в строке в
Дана вещественная матрица А размером MxN, все элементы которой различны. Найти максимальное значение среди всех элементов тех строк...

Найти сумму элементов массива, значение которых попадают в интервал
Уважаемые форумчане вот такое задание: Дан одномерный массив A действительных чисел состоящий из N элементов: 1.Найти сумму элементов...

Найти сумму тех элементов массива, цифровая запись которых дает четную сумму цифр, а также найти максимальный элемент массива
Вот, что есть.Помогите довести до ума! #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; void...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru