Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
VlaDyslaV18
0 / 0 / 0
Регистрация: 07.12.2012
Сообщений: 18
#1

Сгенерировать и вывести на экран массив из целого числа n случайных чисел - C++

07.12.2012, 02:13. Просмотров 1060. Ответов 2
Метки нет (Все метки)

Сгенерировать и вывести на экран массив из целого числа n случайных чисел от -120 до 120. Создать новый массив из элементов от -50 до 50.

На украинском.
Кликните здесь для просмотра всего текста
Згенерувати і вивести на екран масив з цілого числа n випадкових чисел від -120 до 120. Створити новий масив з елементів від -50 до 50.


Буду очень благодарен за программу.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2012, 02:13     Сгенерировать и вывести на экран массив из целого числа n случайных чисел
Посмотрите здесь:
Сгенерировать и вывести на экран массив из целого числа n случайных чисел от -120 до 120 C++
Генерировать и вывести на экран массив с целого числа n случайных чисел от -100 до 100 C++
C++ Сгенерировать 7 случайных чисел в диапазоне от 3 до 33. Вывести их на экран.
Сгенерировать массив из N случайных чисел, принадлежащих указанному диапазону C++
Используя функции сформировать с помощью генератора случайных чисел двумерный массив и вывести его на экран C++
C++ Даны три случайных однозначных числа. Вывести на экран квадраты нечетных чисел. Использовать подпрограмму, опр
C++ Вывести на экран бинарный код целого числа
C++ Дан массив целых чисел с 0 ,вывести на экран все числа кроме 0
Сгенерировать случайное трехзначное число и вывести на экран их сумму и произведение этих чисел C++
посчитать и вывести на экран количество целого и десятичного числа C++
Вывести на экран все нечетные цифры целого положительного числа C++
Сформировать одномерный массив целых чисел. Выбрать все чётные числа. Вывести на экран C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
RayBor
3 / 3 / 0
Регистрация: 07.12.2012
Сообщений: 28
08.12.2012, 01:01     Сгенерировать и вывести на экран массив из целого числа n случайных чисел #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
#include <ctime>
#include <iostream>
#include <cstdlib>
 
int main()
{
    int n = 200, count = 0;
    int arr[n];
    srand(time(0));
 
    for(int ind = 0; ind < n; ind++)
    {
        arr[ind] = -120 + rand() % (120 + 120 +1);
        std::cout << arr[ind] << " ";
        if(arr[ind] <= 50 && -50 >= arr[ind])
            count++;
    }
    int* arr2 = new int[count * sizeof(int)];
    std::cout << std::endl;
    for(int i = 0, ind = 0; ind < count; ind++)
    {
        if(arr[ind] <= 50 && arr[ind] >= -50)
        {
            arr2[i] = arr[ind];
            std::cout << arr2[i] << " ";
            i++;
        }
    }
    delete []arr2;
    return 0;
}
Добавлено через 20 часов 47 минут
Прошу прощения, в этом коде выделяется слишком много памяти для arr2. замените
C++
1
int* arr2 = new int[count * sizeof(int)];
на
C++
1
int* arr2 = new int[count];
MrGluck
Модератор
Эксперт CЭксперт С++
7163 / 4329 / 632
Регистрация: 29.11.2010
Сообщений: 11,752
08.12.2012, 01:16     Сгенерировать и вывести на экран массив из целого числа n случайных чисел #3
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
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
#include <random>
#include <cstddef>
 
 
int main()
{
    std::mt19937 gen {std::random_device()() };
    std::uniform_int_distribution<int> uid(-120, 120);
    auto print_v = [](const std::vector<int> &v)
    {
        std::copy(v.begin(), v.end(),
            std::ostream_iterator<int> (std::cout, " ") );
        std::cout << std::endl;
    };
 
    std::size_t N;
    std::cin >> N;
    std::vector<int> v1(N), v2;
    std::generate(v1.begin(), v1.begin() + N, [&uid, &gen] {return uid(gen);} );
    print_v(v1);
    std::copy_if(v1.begin(), v1.end(), std::back_inserter(v2),
        [](const int x) { return x >= -50 && x <= 50; } );
    print_v(v2);
}
Ответ Создать тему
Опции темы

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