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

Определить, чередуются ли в массиве положительные и отрицательные элементы

15.01.2016, 21:57. Показов 1612. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создать одномерный динамический массив
размера n, где n вводит пользователь.
Заполнить его случайными целыми числами в
интервале от -100 до 100. Верно ли, что в нем
положительные и отрицательные числа
чередуются?

как это сделать ? ( помогите
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.01.2016, 21:57
Ответы с готовыми решениями:

Определить, чередуются ли в массиве положительные и отрицательные элементы
Нужно две программы по одному массиву Дан массив {xi}, i=1,2,...,N. 1) Определить, чередуются ли в массиве положительные и...

Чередуются ли в массиве положительные и отрицательные числа
Дан массив ненулевых целых чисел размера n. Проверить, чередуются ли в нем положительные и отрицательные числа. Если чередуется, то...

Чередуются ли в массиве положительные и отрицательные числа
Понимаю что задача не такая уж и сложная, но дальше решить не получается. Видел несколько ответов тут же на форуме, но те не работали. Вот...

6
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
16.01.2016, 13:21
Цитата Сообщение от blocker147 Посмотреть сообщение
как это сделать ?
То же, что и в твоей предыдущей теме.

Запрашиваешь у пользователя размер массива:
C++
1
2
3
std::cout << "Please enter the size of your array: ";
int n;
std::cin >> n;
Объявляешь одномерный целочисленный динамический массив:
C++
1
int * arr = new int[n];
Заполняешь случайными числами от 1 до 100:
C++
1
2
3
4
const int FROM_NUM = 1;
const int TO_NUM = 100;
// функцию fill_random() нужно написать самому или воспользоваться готовым вариантом из STL:
fill_random(arr, n, FROM_NUM, TO_NUM);
Проверяешь порядок следования элементов:
C++
1
2
3
4
5
6
// функцию arranged_in_needed_order() нужно написать самому
// или воспользоваться готовым вариантом из STL:
if ( arranged_in_needed_order(arr, n) )
    std::cout << "\nYour array is arranged in needed order.\n";
else
    std::cout << "\nYour array is not arranged in needed order.\n";
0
14 / 14 / 5
Регистрация: 16.01.2016
Сообщений: 81
16.01.2016, 14:27
C++
1
if ( arranged_in_needed_order(arr, n) )
расшифруйте пожалуйста это условие. Аналогичная задача.
Рационально ли решение перебора четных, а затем не четных в массиве? Или есть возможность еще как то проверить члены массива?
0
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
16.01.2016, 14:53
Андрей Валерьев, в условии самодельная функция. В комментарии к коду же написано:
C++
1
2
// функцию arranged_in_needed_order() нужно написать самому
// или воспользоваться готовым вариантом из STL:
Добавлено через 1 минуту
Функция принимает в качестве аргументов указатель на первый элемент последовательности и количество элементов. Возвращаемое значение - bool.
Вот как выглядит прототип такой функции:
C++
1
bool arranged_in_needed_order(int * arr, const int arr_size);
Добавлено через 1 минуту
Цитата Сообщение от Андрей Валерьев Посмотреть сообщение
там длинная проверка
Правильно. Вот эту-то длинную проверку для лучшей читаемости кода и помещают обычно в пользовательскую (самодельную) функцию.

Добавлено через 18 минут
Андрей Валерьев, вот пример возможной реализации:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
bool arranged_in_needed_order(int * arr, const int arr_size)
{
    bool is_ordered = true;
    for (int i = 0; i < arr_size - 1; ++i)
    {
        if ( (arr[i] >= 0 && arr[i+1] < 0) || (arr[i] < 0 && arr[i+1] >= 0) )
        {
            is_ordered = true;
        }
        else
        {
            is_ordered = false;
            break;
        }
    }
    return is_ordered;
}
1
14 / 14 / 5
Регистрация: 16.01.2016
Сообщений: 81
16.01.2016, 16:02
Спасибо за короткий вариант. Я организовывал два цикла с шагом 2. Первый цикл проверял все ли четные элементы одного знака, второй противоположного знака. Относительно долго исполнялось.
0
Неэпический
 Аватар для Croessmah
18146 / 10730 / 2066
Регистрация: 27.09.2012
Сообщений: 27,029
Записей в блоге: 1
16.01.2016, 16:08
Еще как вариант:
C++
1
2
3
4
5
6
7
8
9
10
bool arranged_in_needed_order(int * arr, size_t arr_size)
{
    if(arr_size<2)
        return true ;
    for (size_t i = 0; i < arr_size - 1; ++i) {
        if(arr[i]*arr[i+1]>=0)
            return false ;
    }
    return true;
}
3
14 / 14 / 5
Регистрация: 16.01.2016
Сообщений: 81
16.01.2016, 20:28
Спасибо) всё гениальное-просто
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.01.2016, 20:28
Помогаю со студенческими работами здесь

чередуются ли в массиве положительные и отрицательные значения
Задача: Написать функцию, которая для массива вещественных чисел размерности n определяет, чередуются ли в нём положительные и...

Проверить, чередуются ли в массиве положительные и отрицательные числа
11.2 Дан массив ненулевых целых чисел размера N. Проверить, чередуются ли в нем положительные и отрицательные числа. Если чередуются, то...

Проверить, чередуются ли в массиве положительные и отрицательные числа
Дан целочисленный массив из N элементов. Проверить, чередуются ли в нем положительные и отрицательные числа. Если да- вывести True, если...

Проверить, чередуются ли в массиве положительные и отрицательные числа
Дан массив ненулевых целых чисел размера N. Проверить, чередуются ли в нем положительные и отрицательные числа. Если чередуются, то вывести...

Проверить, чередуются ли в массиве положительные и отрицательные числа
Не разбираюсь с методом классов, прошу помочь. Дан массив ненулевых целых чисел размера N. Проверить, чередуются ли в нем положительные...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru