Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
olena_nov
0 / 0 / 0
Регистрация: 11.12.2017
Сообщений: 44
1

Массив , не правильно работает рандом

07.02.2018, 21:22. Просмотров 139. Ответов 5
Метки нет (Все метки)

У меня есть две функции одна рандомно заполняет масив. а другая уже должна работать с этим масивом. Но почемуто только 1 значения записывается
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
int* array;
void randomValues()
{
    std::srand(time(0));
    size_t array_size = 1000;
    array = new int[array_size];
    for (int index = 0; index < array_size; ++index)
        array[index] = (rand() % 999 + 1);
}
 
void evenOROdd()
{
    int evenCount = 0;
    int oddCount = 0;
    size_t arraySize = sizeof(array) / sizeof(int);
    for (int index = 0; index < arraySize; ++index)
    {
        if ((array[index] % 2) != 0)
            ++evenCount;
        else if ((array[index] % 2) == 0)
            ++oddCount;
    }
    std::cout << "Even- " << evenCount << "\n";
    std::cout << "Odd- " << oddCount << "\n";
}
Вывод: Even- 0
Odd- 1
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2018, 21:22
Ответы с готовыми решениями:

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

Не правильно работает код (отсортировать по алфавиту массив строк)
Вот задача: Отсортировать по алфавиту массив строк и вывести на экран, учитывать первый символ. ...

Не работает рандом
Здравствуйте, я тут столкнулся с проблемой, хотел написать функцию рандома от x до y, x и y...

STL: Создать массив длины N. Заполнить массив рандом. Найти все различные числа массива
Создать массив длины N (число N вводится с клавиатуры). Заполнить массив случайными целыми числам....

Почему не работает рандом?
Доброго времени суток господа, проблема моя заключается в том, что при попытке сгенерировать...

5
outoftime
║XLR8║
764 / 663 / 212
Регистрация: 25.07.2009
Сообщений: 3,320
Записей в блоге: 5
07.02.2018, 21:36 2
Цитата Сообщение от olena_nov Посмотреть сообщение
size_t arraySize = sizeof(array) / sizeof(int);
Так не выйдет. Массивы определенные через new не возвращают длину массива.

Добавлено через 2 минуты
olena_nov, создай либо глобально константу либо передавай в функцию (что предпочтительней) размер массива

Добавлено через 47 секунд
Да и сам массив не плохо бы передавать в параметрах а не в глобальный объект лазить.
0
olena_nov
0 / 0 / 0
Регистрация: 11.12.2017
Сообщений: 44
07.02.2018, 21:41  [ТС] 3
outoftime,
я вынесла
C++
1
2
size_t arraySize = 1000;
int* array;
0
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
4835 / 2480 / 695
Регистрация: 18.10.2014
Сообщений: 4,289
07.02.2018, 21:43 4
Del
0
0x1337
9 / 9 / 3
Регистрация: 23.12.2017
Сообщений: 37
Завершенные тесты: 1
07.02.2018, 21:48 5
Почему у вас разные размеры массивов? Выше уже написали, нужно глобальную переменную делать.
0
Yetty
1020 / 789 / 663
Регистрация: 18.12.2017
Сообщений: 3,060
07.02.2018, 22:32 6
olena_nov,
так нужно ?

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
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
 
void Random (int* a, int n)
{    
    srand(time(0));    
    for (int i = 0; i < n; i++)
    a[i] = rand() % 999 + 1;
    
}
 
int main()
{
    int n, evenCount = 0, oddCount = 0;
    cout <<"Enter n: "; cin >>n;
 
    int*a = new int [n];
 
    Random (a, n);    
    
    for (int i = 0; i < n; i++)
    {
    cout <<a[i]<<" ";
    if (a[i] % 2 == 0)  evenCount++;
    }
    oddCount=n-evenCount;
    
    std::cout << "\nEven: " << evenCount << "\n";
    std::cout << " Odd: " << oddCount << "\n";
    system("pause");
    return 0;
}
0
07.02.2018, 22:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2018, 22:32

Программа работает чутка не правильно, нужно добавить в массив строку с заданным номером,
#include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;cstdlib&gt; #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt;...

Массив и рандом
2. Дан одномерный массив, состоящий из N целочисленных элементов. 2.1. Заполнить массив случайными...

Связный список. Не работает тайпдэф и не видит рандом()
Всем привет. Компилятор отмечает строчку typedef enum { false, true } bool; пишет: требуется...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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