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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.71
X_Duke_Nuken_X
-44 / 0 / 0
Регистрация: 01.11.2012
Сообщений: 37
#1

Заполнить линейный массив случайными числами - C++

14.11.2012, 16:02. Просмотров 1865. Ответов 8
Метки нет (Все метки)

Доброго времени суток.
Помогите, пожалуйста, написать программу,которая заполняет линейный массив,размер которого задаются с клавиатуры,случайными натуральными числами в заданном диапазоне,выводит полученный массив на экран и записывает в файл те элементы, которые являются степенями двойки.
С++ я изучаю только второй месяц, и сам не могу написать такую программу...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2012, 16:02     Заполнить линейный массив случайными числами
Посмотрите здесь:

Заполнить одномерный массив X 10 случайными числами от -5 до 7 - C++
Вычислить (x1 + x2 + x3) * x2 + (x2 + x3 + x4) * x3 + ... + (x8 + x9 + x10) * x9

Заполнить двумерный массив случайными числами - C++
Заполнить двумерный массив с++ случайными числами

Заполнить массив случайными не повторяющимися числами - C++
Здравствуйте! Подскажите пожалуйста, случайными числами заполнить как бы не проблема, но как сделать, что бы они не повторялись - вот это...

Заполнить массив случайными числами в диапазоне - C++
Помогите, пожалуйста, найти ошибку :( Нужно заполнить двумерный массив случайными простыми числами, которые могут повторяться. ...

Заполнить массив размером 10 случайными числами от 0 до 10 - C++
#include <vector> #include <algorithm> #include <iostream> using namespace std; int main() { int n = 10; vector<int>...

Заполнить случайными числами 5 значный массив - C++
От программы требуется заполнить случайными числами 5 значный массив, так, чтобы соседние цифры не были одинаковыми и не более 8. Сумма...

Заполнить массив неодинаковыми случайными числами - C++
нужно дополнить ф-кцию рандома так что бы заполнить массив не одинаковыми числами. Как прописать возвращение на внутренний цыкл, чтобы...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Starscream
55 / 43 / 2
Регистрация: 04.11.2012
Сообщений: 106
14.11.2012, 16:17     Заполнить линейный массив случайными числами #2
насчет заполнения массива случайными натуральными числами
C++
1
2
3
4
5
6
7
int arr[10] = {0};
    srand(time(NULL));
    for(int i = 0 ; i <= 10 ; i++)
    {
        arr[i] = rand()%10;
        cout << arr[i];
    }
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,922
Записей в блоге: 1
14.11.2012, 16:18     Заполнить линейный массив случайными числами #3
Цитата Сообщение от Starscream Посмотреть сообщение
насчет заполнения массива случайными натуральными значениями
0 - не натуральное число
Starscream
55 / 43 / 2
Регистрация: 04.11.2012
Сообщений: 106
14.11.2012, 16:20     Заполнить линейный массив случайными числами #4
тогда
arr[i] = rand()%9 + 1 ;
Andrey.K
342 / 263 / 15
Регистрация: 14.11.2010
Сообщений: 482
14.11.2012, 16:29     Заполнить линейный массив случайными числами #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Писал с ходу, не уверен насчет правильности:
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
#include <iostream>
#include <fstream>
#include <ctime>
#include <cstdlib>
#include <cmath>
using namespace std;
int main()
{
    double* mas;
    int n,a,b;
    cout<<"Enter size of massive: ";cin>>n;
    cout<<"Enter range a,b: ";cin>>a>>b;
    mas=new double[n];
    srand((unsigned)time(NULL));
    ofstream out("1.txt");
    for(int i=0;i<n;i++)
    {
        mas[i]=rand() % (b - a + 1) + a;
        for(int j=0;j<32;j++)
        {
            if(pow(2.0,j)==mas[i]) out<<mas[i]<<" ";
        }
        cout<<mas[i]<<" ";
    }
    cout<<endl;
    out.close();
    delete[] mas;
    system("pause");
    return 0;
}
X_Duke_Nuken_X
-44 / 0 / 0
Регистрация: 01.11.2012
Сообщений: 37
14.11.2012, 17:16  [ТС]     Заполнить линейный массив случайными числами #6
к сожалению, происходит ошибка при компилировании, пробовал править - не помогает...
Vourhey
Почетный модератор
6474 / 2249 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
14.11.2012, 17:45     Заполнить линейный массив случайными числами #7
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <iostream>
#include <algorithm>
#include <vector>
#include <ctime>
#include <random>
#include <iterator>
#include <functional>
#include <fstream>
 
bool check(int element)
{
    double power = 0; int i = 1;
    while((power = pow(2.0, i)) < element) i++;
        return (power==element)?true:false;
}
 
int main()
{
    int n;
    std::cin>>n;
    std::vector<int> numbers(n);
    std::mt19937 engine;
    engine.seed(std::time(0));
    std::uniform_int_distribution<> distr(1,100);
    std::generate(numbers.begin(), numbers.end(), std::bind(distr, engine));
    std::copy(numbers.begin(), numbers.end(), std::ostream_iterator<int>(std::cout, " "));
    std::cout<<std::endl<<"To file:" <<std::endl;
    std::copy_if(numbers.begin(), numbers.end(), std::ostream_iterator<int>(std::cout, " "), check);
    std::ofstream OutFile("file.txt");
    std::copy_if(numbers.begin(), numbers.end(), std::ostream_iterator<int>(OutFile, " "), check);
    OutFile.close();
    system("pause");
}
X_Duke_Nuken_X
-44 / 0 / 0
Регистрация: 01.11.2012
Сообщений: 37
14.11.2012, 17:52  [ТС]     Заполнить линейный массив случайными числами #8
компилятор выдает ошибку: "fatal error LNK1120: неразрешенных внешних элементов: 1"
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.11.2012, 18:48     Заполнить линейный массив случайными числами
Еще ссылки по теме:

Заполнить массив случайными числами по возрастанию и убыванию - C++
Случайными числами 0..700 по возрастанию и убыванию

Как заполнить массив char случайными числами? - C++
Доброе утро! Пытаюсь заполнить массив CHAR случайными числами! пытался через rand_max.. не получается что не так делаю?

Заполнить двумерный массив случайными числами от 10 до 100 - C++
Заполнить двумерный массив случайными числами от 10 до 100. Посчитать сумму элементов отдельно в каждой строке и определить номер строки,...

Заполнить double массив случайными разными числами - C++
Как заполнить double массив случайными разными цифрами 0,01-25,00?

Заполнить массив случайными, равномерное распределёнными числами - C++
Всем привет. Нужно заполнить массив из, ну например, 100 чисел, числами в интервале от 1 до 1000. Причём распределение должно быть...


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

Или воспользуйтесь поиском по форуму:
Vourhey
Почетный модератор
6474 / 2249 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
14.11.2012, 18:48     Заполнить линейный массив случайными числами #9
Цитата Сообщение от X_Duke_Nuken_X Посмотреть сообщение
"fatal error LNK1120: неразрешенных внешних элементов: 1"
Линковщик, не компилятор.
Yandex
Объявления
14.11.2012, 18:48     Заполнить линейный массив случайными числами
Ответ Создать тему
Опции темы

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