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

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

12.12.2023, 17:32. Показов 4180. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru