Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.66/76: Рейтинг темы: голосов - 76, средняя оценка - 4.66
wtf!?
 Аватар для Flyer
750 / 281 / 25
Регистрация: 21.05.2010
Сообщений: 732

Генерация строки

01.11.2011, 00:30. Показов 15307. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть ли функция для генерации рандомной строки из [a-z A-Z 0-9] символов или нужно самому такое счастье написать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.11.2011, 00:30
Ответы с готовыми решениями:

Генерация строки
Доброго времени суток! Мне необходимо сгенерировать массив строк из данного набора букв (все комбинации друг с другом). Сейчас я...

Генерация строки
Всем привет! В данный момент я пытаюсь сделать скрипт, который генерирует граф. Сделать его надо полюбому на js. В данный момент у...

Генерация строки
У меня есть строка String testId = "55"; И есть ресурс R.id.logo55 Мне надо чтобы в конечном итоге мне testId подставился в R.id ...

12
wtf!?
 Аватар для Flyer
750 / 281 / 25
Регистрация: 21.05.2010
Сообщений: 732
01.11.2011, 01:52  [ТС]
та ну, этот рандом совсем не рандом. Повторяется пр каждом запуске. Не интересно совсем
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
01.11.2011, 01:54
что мешает самому написать в цикле random(); , имея перед глазами несколько примеров ?
0
wtf!?
 Аватар для Flyer
750 / 281 / 25
Регистрация: 21.05.2010
Сообщений: 732
01.11.2011, 02:00  [ТС]
я и написал, но рандом то не рандом. Вот запустил я допустим прогу, сгенировал например строку
9aka74r . Закрыл. Запустил опять и сгенерировалась опять та же 9aka74r
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
01.11.2011, 02:13
однако, в тех примерах єтого не проимходит, я так понимаю

там как бы и сложного/непонятного нет:
C++
1
2
3
4
for(int i=1;i<8;i++) // 8 - длина строки
{
int j = random(60);
...
- схема
0
wtf!?
 Аватар для Flyer
750 / 281 / 25
Регистрация: 21.05.2010
Сообщений: 732
01.11.2011, 02:19  [ТС]
да, в консольном примере нет. А у меня в vcl app такое имеется.
Вот попробуй у себя и посмотри
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 <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
// ---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
char randommmm[36] = {
    'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', 'a', 's', 'd', 'f', 'g',
    'h', 'j', 'k', 'l', 'z', 'x', 'c', 'v', 'b', 'n', 'm', '1', '2', '3', '4',
    '5', '6', '7', '8', '9', '0'};
int x;
UnicodeString str;
 
// ---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) {
}
 
// ---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender) {
    for (int i = 0; i < 7; i++) {
        x = random(37);
        str.Insert(randommmm[x], i);
        Edit1->Text = str;
    }
}
// ---------------------------------------------------------------------------
0
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
01.11.2011, 07:01
Цитата Сообщение от Flyer Посмотреть сообщение
я и написал, но рандом то не рандом. Вот запустил я допустим прогу, сгенировал например строку
9aka74r . Закрыл. Запустил опять и сгенерировалась опять та же 9aka74r
таблеткой от такого служит использование randomize();
перед random();
эту фишку я еще с бэйсика на zx80 помню)
0
wtf!?
 Аватар для Flyer
750 / 281 / 25
Регистрация: 21.05.2010
Сообщений: 732
01.11.2011, 11:17  [ТС]
с randomize() перед random(37) получаю все одинаковые символы. То есть допустим длина стоит 7, получим например uuuuuuu

и еще, как с таким массивом (тот что приведен в коде выше) могло сгененерировать p``o7gi ?
0
return (true);
 Аватар для mimicria
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
01.11.2011, 11:30
Цитата Сообщение от Flyer Посмотреть сообщение
с randomize() перед random(37) получаю все одинаковые символы.
Не перед каждым random, а в начале
C++
1
2
3
4
5
6
        randomize();
        for (int i = 0; i < 7; i++) {
                x = random(37);
                str.Insert(randommmm[x], i);
                Edit1->Text = str;
        }
Добавлено через 3 минуты
Цитата Сообщение от Flyer Посмотреть сообщение
как с таким массивом (тот что приведен в коде выше) могло сгененерировать p``o7gi ?
x = random(37);
При х=36 выход за границы массива. Соответственно надо
C++
1
x = random(36);
1
wtf!?
 Аватар для Flyer
750 / 281 / 25
Регистрация: 21.05.2010
Сообщений: 732
01.11.2011, 11:37  [ТС]
Спасибо, теперь все гуд. Написал 37, потому что в примере от LK с массивом в 45, было написано рандом(46)
0
01.11.2011, 12:55

Не по теме:

В чём тайный смысл использования глобальных переменных в данном случае, если не секрет? :) Что мешает оформить всё вышенаписанное хотя бы в виде такой функции

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
UnicodeString GenerateAlphaNumStr_N(size_t n)
{
    static char randommmm[] =
    {
        'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', 'a', 's', 'd', 'f', 'g',
        'h', 'j', 'k', 'l', 'z', 'x', 'c', 'v', 'b', 'n', 'm', '1', '2', '3', '4',
        '5', '6', '7', '8', '9', '0'
    };
 
    UnicodeString result;
 
    for(size_t i = 0; i < n; ++i)
        result+= randommmm[random(sizeof(randommmm))];
 
    return result;
}
C++
1
2
3
4
5
void __fastcall TForm1::Button1Click(TObject *Sender) 
{
    // предполагается, что randomize уже где-то был вызван
    Edit1->Text = GenerateAlphaNumStr_N(7);
}

2
wtf!?
 Аватар для Flyer
750 / 281 / 25
Регистрация: 21.05.2010
Сообщений: 732
01.11.2011, 13:18  [ТС]
Та так, для пробы просто писал, потом хотел оформить в виде функции. Спасибо, что сделал вместо меня ^_^
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.11.2011, 13:18
Помогаю со студенческими работами здесь

Генерация строки
(заранее извиняюсь за тупой вопрос) Здравствуйте, нужен ваш совет. Подскажите способ генерации строки вида:...

Генерация формулы из строки
Здравсвуйте. Предположим в textBox ввели x+x&quot;+13, программа должна сгенерировать эту формулу( x+(x*x)+13). Далее вводим значение x и...

Генерация случайной строки
Привет ребят, можно ли совета, помощи по созданию оконной аппликации которая создает рандомные числа и буквы в одну строку, максимум 5 ...

Генерация строки из списка
Привет всем. Написал я функцию для генерации запроса для подсчета количества по фильтру. Но заметил что не правильно идет подсчет. Для...

Генерация случайной строки
Напишите пожалуйста, очень хочется разобраться, а у самой никак не выходит(( 1) Напишите программу,которая генерирует случайную строку из...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru