31 / 31 / 23
Регистрация: 23.03.2015
Сообщений: 210
1

Случайно заполнить массив

04.04.2015, 22:13. Показов 1934. Ответов 4
Метки нет (Все метки)

Есть массив из 10 элементов типа integer.
Случайные 3 элемента нужно заполнить 1.
Случайные 4 элемента заполнить 2.
Остальные элементы 0.
Как можно решить эту задачу максимально просто. Без использования новых массивов.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.04.2015, 22:13
Ответы с готовыми решениями:

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

Как заполнить массив парами чисел от 0 до 9 случайно?
имеется 20 карт с числами от0 до9, каждой по 2 штуке, нужно их перемешать и результат занести в...

Заполнить массив из 100 элементов случайно сгенерированными числами от 10 до 80
Без Char или String только массивы 2) Заполнить массив из 100 элементов случайно сгенерированными...

Как заполнить пароль случайно
Как заполнить пароль случайно? Катя Меньшова, 1 ноября в 8:17 #include "pch.h" #include...

4
Диссидент
Эксперт C
26856 / 16758 / 3675
Регистрация: 24.12.2010
Сообщений: 37,521
04.04.2015, 22:23 2
Это поможет
Генерация массива целых случайных чисел, которые не повторяются

Добавлено через 1 минуту
Но генерировать надо не элементы массива, а их индексы.
А для начала все заполнить нулями.
0
Форумчанин
Эксперт CЭксперт С++
8190 / 5040 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
04.04.2015, 22:27 3
Лучший ответ Сообщение было отмечено Ilot как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
#include <algorithm>
#include <iostream>
 
int main()
{
    int arr[10] = {1, 1, 1, 2, 2, 2, 2}; // неинициализированные явно элементы равны 0
    std::random_shuffle(std::begin(arr), std::end(arr));
    for (const auto x : arr)
        std::cout << x << " ";
}
0
31 / 31 / 23
Регистрация: 23.03.2015
Сообщений: 210
04.04.2015, 22:46  [ТС] 4
Вы немного не поняли. Мне нужно заполнить случайные элементы не последовательно, а случайно т.е. при каждом запуске программы разные элементы различные значения, при этом 3 элемента имеют 1, 4 элемента 2 остальные 0.
Например:
C++
1
int arr[10]{1,0,0,2,1,2,0,1,2,2}
Добавлено через 11 минут
Байт,
Но генерировать надо не элементы массива, а их индексы.
А для начала все заполнить нулями.
Это то понятно, но нужно чтобы элементы не повторялись и при этом обязательно 3 элемента 1,4 элемента 2.
0
Диссидент
Эксперт C
26856 / 16758 / 3675
Регистрация: 24.12.2010
Сообщений: 37,521
04.04.2015, 23:11 5
Цитата Сообщение от 0x0152 Посмотреть сообщение
Вы немного не поняли
ВЫ - это кто? Когда в обсуждении участвует несколько человек, хорошо бы пояснять, к кому вы обращаетесь...
Цитата Сообщение от 0x0152 Посмотреть сообщение
Это то понятно,

Не по теме:

Это уже ко мне.

Значит, понятно не совсем. Или вовсе не понято. А если понято, то не так.
1. Заполняем массив нулями.
2. Генерируем 3 неповторяющихся индекса от 0 до 9, и заполняем их 1
3. Генерируем дальше 4 неповторяющихся индекса от 0 до 9, и заполняем их 2
Алгоритм(ы) генерации даны в ссылке. Не все они хороши, но вы можете выбрать для себя - лучший.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.04.2015, 23:11
Помогаю со студенческими работами здесь

Как случайно заполнить имя пользователя?
#include &quot;pch.h&quot; #include &lt;iostream&gt; #include &lt;iostream&gt; #include &quot;string.h&quot; #include...

Занести случайно сгенерированные значения в массив
Есть код(прикладываю часть кода ниже) нужно создать массив mas и занести в него значение...

Заполнить двумерный массив случайно
Нашёл ради интереса задачку себе, не могу справиться никак. код вроде почти готов, никак не могу...

Заполнить массив различными действительными числами, котрые случайно выбираются из указанного промежутка
Вывести на экран элементы массива в два столбика: в первый - элементы с нечетными номерами, во...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru