С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
 Аватар для MAXPOL
6 / 6 / 1
Регистрация: 23.06.2012
Сообщений: 146

Выборка элементов массива и их запись в переменную

22.07.2016, 22:51. Показов 2039. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Помогите сделать рандомную выборку из элементов массивов, а затем записать получивший результат в файл. По конкретнее, необходимо пройтись по заданным массивам выбрать по два случайных элемента из каждого массива, получившуюся строку символов записать в переменную, а затем в файл.
Получилось пока что вот, что, но выводится только один символ и некуда не записывается.

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
38
39
40
41
42
43
44
#include <iostream>
#include <cstdlib>
#include <cstdio>
int main () {
    char BA [] = {"ABCDEFGHIJKLMNOPQRSTUVWXYZ"},
         LA [] = {"abcdefghijklmnopqrstuvwxyz"},
         N [] = {"1234567890"};
    int i, n;
    for (;;i++){
        i = 0;
        std::cout << "i = " << i << "\n";
        std::cout << "You generate password : ";
        if (i<2){
            std::cout << BA [rand () % 25]; 
        }
        if (i>1 && i<4){
            std::cout << LA [rand () % 25];
        }
        if (i>3 && i<6){
            std::cout << N [rand () % 9];
        } 
        if (i=6){
            std::cout << std::endl;
            std::cout  << "i = " << i;
            std::cout << std::endl;
            std::cout << "You are satisfied with the generated password or not ? \n"
                 << "Enter (0) if the password is suitable. \n"
                 << "Enter (1) if the password is not appropriate. \n"
                 << "Your choice : "; std::cin >> n;
            switch (n) {
            
                case 0 : exit (0);
                    break;
                case 1 : {
                    system ("cls");
                    continue;
                }       
                    break;
                default : exit (0);
                    
        }
    }
  }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.07.2016, 22:51
Ответы с готовыми решениями:

Запись в переменную структуры элемента массива
Есть код для помещения переменной структуры в массив структур int Push(TDat a){ if (size == count) return 0; else{ ...

выборка элементов и запись в другой массив
доброго времени суток. можно пример в котором дан массив и из него нужно выбрать элементы меньше какого то числа N и записать их в новый...

Запись коллекции из элементов в переменную
&lt;div name = &quot;slider&quot;&gt; &lt;img name =&quot;slide0&quot; src=&quot;0.jpg&quot;&gt; &lt;img name =&quot;slide1&quot; src=&quot;1.jpg&quot;&gt; &lt;img name =&quot;slide2&quot; src=&quot;2.jpg&quot;&gt; &lt;/div&gt; ...

3
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
22.07.2016, 22:55
"Равно" в условии двойное и делить нужно на размер соответствующего массива (26, 10).
0
495 / 209 / 70
Регистрация: 27.05.2016
Сообщений: 557
22.07.2016, 23:28
Код для генерации пароля:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <vector>
#include <random>
#include <chrono>
#include <ctime>
 
int main()
{
    std::mt19937 gen{static_cast<unsigned long>(time(nullptr))};
    std::vector<std::uniform_int_distribution<char>> symb =
            {
                    std::uniform_int_distribution<char>('a', 'z'),
                    std::uniform_int_distribution<char>('A', 'Z'),
                    std::uniform_int_distribution<char>('0', '9')
            };
    std::uniform_int_distribution<> idx(0, symb.size()-1);
 
    std::string password;
    for (std::size_t i = 0; i < 60; ++i)
        password.push_back(symb[idx(gen)](gen));
 
    std::cout << password << std::endl;
}
0
90 / 88 / 33
Регистрация: 20.07.2016
Сообщений: 403
22.07.2016, 23:34
MAXPOL, у вас в коде полно ошибок, как синтаксических так и логических(((
легче полностью переписать программу

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 <string>
#include <fstream>
#include <random>
#include <ctime>
 
int main()
{
    const std::string BA = "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
                      LA = "abcdefghijklmnopqrstuvwxyz",
                       N = "1234567890";
 
    std::default_random_engine dre(static_cast<size_t>(time(0)));
    std::uniform_int_distribution<size_t> distr1(0, std::end(BA) - std::begin(BA) - 1),
                                          distr2(0, std::end(LA) - std::begin(LA) - 1),
                                          distr3(0, std::end(N) - std::begin(N) - 1);
 
    std::string result;
    for (size_t j = 0; j != 2; ++j)
    {
        result.push_back(BA[distr1(dre)]);
        result.push_back(LA[distr2(dre)]);
        result.push_back(N[distr3(dre)]);
    }
 
    std::cout << result << std::endl;
 
    std::ofstream out("result.txt");
    if (!out)
    {
        std::cerr << "Error! Can't open file!" << std::endl;
        return -1;
    }
    out << result;
 
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.07.2016, 23:34
Помогаю со студенческими работами здесь

Перебор элементов и запись в переменную
Добрый день. Есть фрагмент html: &lt;tbody&gt; &lt;tr&gt;&lt;td class=&quot;data field-name&quot;&gt;3&lt;/td&gt;&lt;td class=&quot;data field-meta&quot;&gt;33&lt;/td&gt;&lt;td...

Строка. Выборка из строки нужных элементов и запись в отдельные лейблы
Имеется строка вида: Точка10; Минимальный путь от Точка0 : Точка10, Точка9, Точка6, Точка3. Мне надо взять все что после двоеточия и...

Выборка элементов из массива
Даны натуральное число n и символьный массив а, в котором хранятся латинские буквы и арабские цифры. Создать целочисленный массив b,...

Выборка элементов массива по условию
В массиве записана информация о стоимости 20 видов товара. Определить, сколько видов товара имеют стоимость меньшую, чем средняя...

выборка элементов массива по условию
дан массив. найти номера всех элементов: а) с минимальным значением б) с максимальным значением


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru