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

Проверить что количество положительных элементов в массиве больше заданного числа

22.12.2023, 13:54. Показов 652. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан вещественный массив A[N] и натуральное число k. Если количество положительных элементов в массиве больше k, циклически сдвинуть все элементы массива на одну позицию вправо, в противном случае на одну позицию влево.

Программно реализовать алгоритм решения задачи, при этом память под массив выделять динамически. Требуется составить два варианта программы с использованием индексации и без применения индексов для обращения к элементам динамических массивов.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.12.2023, 13:54
Ответы с готовыми решениями:

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

Проверить верно ли, что в массиве положительных элементов больше, чем отрицательных
Заданный массив размером N. Верно ли, что в нем положительных элементов больше, чем отрицательных?

В массиве А найти количество элементов, сумма которых больше заданного числа
подскажите пожалуйста!! В массиве А НАЙТИ КОЛИЧЕСТВО ЭЛЕМЕНТОВ , сумма котррых больше заданного числа

3
38 / 27 / 13
Регистрация: 18.12.2023
Сообщений: 74
22.12.2023, 14:09
Через индексацию
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
#include <iostream>
 
void rotateRight(double* array, int size) {
    double last = array[size - 1];
    for (int i = size - 1; i > 0; --i) {
        array[i] = array[i - 1];
    }
    array[0] = last;
}
 
void rotateLeft(double* array, int size) {
    double first = array[0];
    for (int i = 0; i < size - 1; ++i) {
        array[i] = array[i + 1];
    }
    array[size - 1] = first;
}
 
int main() {
    int N, k, positiveCount = 0;
    
    std::cout << "Введите размер массива N: ";
    std::cin >> N;
    std::cout << "Введите натуральное число k: ";
    std::cin >> k;
 
    double* A = new double[N];
    
    std::cout << "Введите элементы массива:" << std::endl;
    for (int i = 0; i < N; ++i) {
        std::cin >> A[i];
        if (A[i] > 0) {
            positiveCount++;
        }
    }
 
    if (positiveCount > k) {
        rotateRight(A, N);
    } else {
        rotateLeft(A, N);
    }
 
    std::cout << "Преобразованный массив:" << std::endl;
    for (int i = 0; i < N; ++i) {
        std::cout << A[i] << " ";
    }
    
    delete[] A;
    return 0;
}
Без индексации
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
#include <iostream>
 
void rotateRight(double* array, int size) {
    double temp = *(array + size - 1);
    for (double* p = array + size - 1; p != array; --p) {
        *p = *(p - 1);
    }
    *array = temp;
}
 
void rotateLeft(double* array, int size) {
    double temp = *array;
    for (double* p = array; p != array + size - 1; ++p) {
        *p = *(p + 1);
    }
    *(array + size - 1) = temp;
}
 
int main() {
    int N, k, positiveCount = 0;
 
    std::cout << "Введите размер массива N: ";
    std::cin >> N;
    std::cout << "Введите натуральное число k: ";
    std::cin >> k;
 
    double* A = new double[N];
 
    std::cout << "Введите элементы массива:" << std::endl;
    for (double* p = A; p != A + N; ++p) {
        std::cin >> *p; // Используется указатель вместо индексации
        if (*p > 0) positiveCount++;
    }
 
    if (positiveCount > k) {
        rotateRight(A, N);
    } else {
        rotateLeft(A, N);
    }
 
    std::cout << "Преобразованный массив:" << std::endl;
    for (double* p = A; p != A + N; ++p) {
        std::cout << *p << " ";
    }
    std::cout << std::endl;
 
    delete[] A;
    return 0;
}
1
0 / 0 / 0
Регистрация: 20.10.2023
Сообщений: 14
22.12.2023, 14:12  [ТС]
Van_Darkholme, а что значит double last?
0
38 / 27 / 13
Регистрация: 18.12.2023
Сообщений: 74
22.12.2023, 14:19
Somet1mez, double last и double first служат для сохранения элементов массива, которые будут перемещены на противоположные концы массива при его циклическом сдвиге. То есть в первом случае сохраняется последний элемент массива, который должен быть перенесен в начало, а второй случай, сохраняется первый элемент, который перенесется в конец
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.12.2023, 14:19
Помогаю со студенческими работами здесь

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

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

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

в массиве из n x m элементов определить, сколько положительных элементов массива меньше заданного числа
одномерный массив сделал, а с m*n тяжко #include &quot;stdafx.h&quot; #include &lt;iostream&gt; // подключение функций ввода/вывода using...

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru