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

Генерация элементов массива случайным образом и преобразования полученного массива - C++

Восстановить пароль Регистрация
 
MadDaniell
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 6
06.11.2012, 19:20     Генерация элементов массива случайным образом и преобразования полученного массива #1
Тут такая незадача случилась- мне помогли сделать прогу, но на компе нету нужных библеотек. Как не используя сторонних библиотек это сделать? Заранее Спасибо!
Задание:
В одномерном массиве, состоящем из n вещественных элементов, которые генерируются случайным образом от -157.0 до 201.0, выполнить:
- Распечатать массив.
- Преобразовать массив таким образом, чтобы сначала располагались все элементы, отличающиеся от максимального не более чем на 20%, а потом все остальные. Распечатать массив.
Код:
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
#include <iostream>
#include <array>
#include <algorithm>
#include <ctime>
#include <Windows.h>
using namespace std;
 
const int n = 40;
 
int main()
{
    SetConsoleCP (1251); SetConsoleOutputCP (1251);
    srand(time(0));
    array<double, n> num, out;
    generate(num.begin(), num.end(), [] {return (-157 + rand()%358) + ((rand())%10)/10.0;});
    cout<<"Наш массив:\n\n";
    for (auto x : num) cout<<x<<" ";
    auto max = *max_element(num.begin(), num.end());
    cout<<"\n\nМаксимальный элемент = "<<max<<endl;
    int counts = 0;
    cout<<"\nЭлементы, которые отличаются от максимального не более чем на 20%:\n";
    for (int i = 0; i<n; i++)
    {
        if (num[i]>=(max-max/5) && num[i]<=(max+max/5))
            cout<<(out[counts++] = num[i])<<endl;
    }
    cout<<"\nПреобразованный массив:\n\n";
    for (int i = 0; i<n; i++)
    {
        if (num[i]<(max-max/5) || num[i]>(max+max/5))
            out[counts++] = num[i];
    }
    for (auto x : out) cout<<x<<" ";
    cout<<endl<<endl;
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2012, 19:20     Генерация элементов массива случайным образом и преобразования полученного массива
Посмотрите здесь:

C++ Удалить из массива все элементы встречающиеся менее 3-х раз и вывести размер полученного массива и его содержимое.
Нужно сгенерировать элементы массива случайным образом с помощью функции rand C++
C++ заполнение массива случайным образом
Генерация массива всех перестановок из n элементов. C++
Перемешивание элементов массива случайным образом C++
Заполнение массива случайным образом и другие операции C++
C++ Одномерные массивы.Сформировать случайным образом два массива d(10) и a(10)
C++ Написать программу ввода в массив 6x5 элементов чисел и вычисления суммы элементов полученного массива

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 21:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru