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

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

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

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

04.05.2013, 16:07. Просмотров 676. Ответов 9
Метки нет (Все метки)

Написать программу, в которой с помощью генератора случайных значений сформировать 4 массива V1, V2, V3, V4, каждый из которых содержит 9 целочисленных значений. Элементы векторов формируются в диапазоне [-2*m; 3*m], где целое значение m>4 вводится с клавиатуры.
Начал писать задание, но почему то при заполнении массива, все числа одинаковые генерируются, помогите пожалуйста.
Вот мои каки маляки
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
#include "iostream"
#include "windows.h"
#include "stdlib.h"
#include "time.h"
using namespace std;
    int main ()
{
    int u,i,o,p,m; 
    double v1[9],v2[9],v3[9],v4[9]; 
    do
    {
        cout << "input m" << " ";
        cin >> m;
    if  ( m < 4 ) 
        cout << "exception, input correct value m \n";
    }
    while (m < 4) ;
    int q;
        q=9;
        cout << "array v1";
    
    for (u=0; u<q; u++)
    {
        srand((unsigned)time(NULL));
        v1[u]=double(rand()/RAND_MAX*(3*m-2*m)+2*m) ;
            cout << " " << v1[u] << ' ' ;
    }
 
 
    system ("pause");
    return 0;
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.05.2013, 16:07     Заполнить массив случайными значениями
Посмотрите здесь:

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

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

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

Объявить массив из 20 элементов и заполнить его случайными значениями от -6 до 15 - C++
Этап 1: Объявить массив из 20 элементов и заполнить его случайными значениями от -6 до 15. Вывести массив на экран. Найти сумму...

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

Заполнить массив случайными значениями, лежащими в диапазоне от 50 до 100 - C++
Массив предназначен для хранения значений весов двадцати человек. С помощью датчика случайных чисел заполните массив целыми значениями,...

Объявить массив целых чисел и заполнить его случайными значениями. - C++
помогите пожалуста а то вообще неразбираюсь... Задание Объявить массив целых чисел и заполнить его случайными значениями....

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BabyGluk
26 / 26 / 4
Регистрация: 10.04.2013
Сообщений: 167
04.05.2013, 16:41     Заполнить массив случайными значениями #2
после int main(){ пропиши srand(time(NULL));
Василицк
0 / 0 / 0
Регистрация: 23.04.2013
Сообщений: 18
04.05.2013, 16:43  [ТС]     Заполнить массив случайными значениями #3
не берет почему то, как было так и осталось
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
04.05.2013, 16:51     Заполнить массив случайными значениями #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Попробуйте так:
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 "windows.h"
#include "stdlib.h"
#include "time.h"
using namespace std;
    int main ()
{
    srand(time(NULL));
    int u,i,o,p,m; 
    double v1[9],v2[9],v3[9],v4[9]; 
    do
    {
        cout << "input m" << " ";
        cin >> m;
    if  ( m < 4 ) 
        cout << "exception, input correct value m \n";
    }
    while (m < 4) ;
    int q;
        q=9;
        cout << "array v1";
    
    for (u=0; u<q; u++)
    {
        
        v1[u]=(double)rand()/RAND_MAX*(3.0*m-2.0*m)+2.0*m ;
            cout << " " << v1[u] << ' ' ;
    }
 
 
    system ("pause");
    return 0;
}
Василицк
0 / 0 / 0
Регистрация: 23.04.2013
Сообщений: 18
04.05.2013, 16:56  [ТС]     Заполнить массив случайными значениями #5
так генерируется, а подскажите пожалуйста с целочисленными значениями как такое же сделать?
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
04.05.2013, 16:58     Заполнить массив случайными значениями #6
Цитата Сообщение от Василицк Посмотреть сообщение
такое же сделать?
такое же это что?
FreeMan108
120 / 120 / 6
Регистрация: 04.03.2013
Сообщений: 370
04.05.2013, 16:58     Заполнить массив случайными значениями #7
1. Пишите srand не в цикле, а после main.
2. Попробуйте заменить

C++
1
v1[u]=double(rand()/RAND_MAX*(3*m-2*m)+2*m) ;
на

C++
1
v1[u]=rand()%(5*m + 1) - 2*m;
Василицк
0 / 0 / 0
Регистрация: 23.04.2013
Сообщений: 18
04.05.2013, 17:03  [ТС]     Заполнить массив случайными значениями #8
Добавлено через 2 минуты
Цитата Сообщение от FreeMan108 Посмотреть сообщение
1. Пишите srand не в цикле, а после main.
2. Попробуйте заменить

C++
1
v1[u]=double(rand()/RAND_MAX*(3*m-2*m)+2*m) ;
на

C++
1
v1[u]=rand()%(5*m + 1) - 2*m;
так работает)
спасибо
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
04.05.2013, 17:03     Заполнить массив случайными значениями #9
Цитата Сообщение от Василицк Посмотреть сообщение
такое же условие только c Int вместо double
а вы вдумайтесь в формулу:
C++
1
rand()/RAND_MAX*(3*m-2*m)+2*m
rand()/RAND_MAX скорее всего равно 0.
Соответственно из всей формулы получаем только 2*m - поэтому числа и одинаковые у Вас
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.05.2013, 17:08     Заполнить массив случайными значениями
Еще ссылки по теме:

Объявить массив целых чисел и заполнить его случайными значениями - C++
Добавлено через 26 секунд Объявить массив целых чисел и заполнить его случайными значениями. Размер массива и диапазон значений его...

Как создать динамический трехмерный массив и заполнить его случайными значениями? - C++
Я больше по Java, но сейчас надо сделать пару задачек по плюсам. Одна из них звучит как-то так: Во-первых, меня смущает тот...

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

Заполнить поля класса случайными значениями - C++
Как не заполнять поля класса с клавиатуры, а случайными значениями (буквами и цифрами) и вывести их? Ниже кусок кода. Account::Account()...

Написать функцию заполняющую массив случайными значениями в заданном интервале - C++
Здравствуйте, передо мной стоит такая задача: Напишите функцию void fillRandom(double* array, int size) заполняющую массив случайными...


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

Или воспользуйтесь поиском по форуму:
Василицк
0 / 0 / 0
Регистрация: 23.04.2013
Сообщений: 18
04.05.2013, 17:08  [ТС]     Заполнить массив случайными значениями #10
Цитата Сообщение от Croessmah Посмотреть сообщение
а вы вдумайтесь в формулу:
C++
1
rand()/RAND_MAX*(3*m-2*m)+2*m
rand()/RAND_MAX скорее всего равно 0.
Соответственно из всей формулы получаем только 2*m - поэтому числа и одинаковые у Вас
да, я это заметил

Добавлено через 3 минуты
так как только учусь, смотрел по шаблону
C++
1
2
3
4
int Random(int min,int max)
{
   retrun ( rand()%(max-min)+min) ;
}
Yandex
Объявления
04.05.2013, 17:08     Заполнить массив случайными значениями
Ответ Создать тему
Опции темы

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