Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите решить проблему с рандом числом, Скрипл для создания рандом числа 
:(
    Опции темы
Andersoni
Дата 12.2.2011, 08:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 12.2.2011

Репутация: нет
Всего: нет



Сделал такой скрипл :

Код

sysopen (TEST,"test.txt",O_WRONLY | O_CREAT | O_WR_O_Y);

print "число 1:";
chomp ($numberorg=<stdin>);
print "число 2:";
chomp ($as=<stdin>);
print "число 3:"; 
chomp ($rate=<stdin>);
my @random = ();
my $number=0;
for($j=0;$j<=$as-1;$j++){
$flag=0;
$random=int(rand(10000000-0+1))+0;
if (length($random)==1){$random="0".$random}
foreach (@random){
if ($j>0 && $_== $random){
$flag=1;
$j=$j-1;
}
}
if ($flag==0 ){
push(@random, $random);
}
}
foreach (@random){
$number++;

print TEST "$rate $_ $number $numberorg\n";
}


смысл скрипта чтобы получить в файле запись типа ХХ (первое выводимое число, вводится с клавиатуры) ХХХХХХХХ (рандом число) ХХХХ (еще одно число просто порядковый номер) ХХХХ (число в водится с клавиатуры)
так вот вопрос как лучше сделать чтобы рандом число состояло из 9ти цифр, а порядковый номер их 5ти , тесли в рандом числе без разници можно даже чтоб все пробелы заменяло на нули (но это большая нагрузка на исстему), а порядковый номер нужно чтоб к примеру нули были толико в начале например 00001, 00002 и т.д.
Если вопрос глупый то сори, только начинаю на перле работать.
PM MAIL   Вверх
NuINu
Дата 12.2.2011, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 131
Регистрация: 19.7.2008

Репутация: 5
Всего: 6



думаю вам может помочь фугнкция sprintf
PM MAIL   Вверх
vivu
Дата 13.2.2011, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 3.11.2009

Репутация: нет
Всего: нет



Код

#!/usr/bin/perl

use strict;

open FL, '>', 'text.txt' or die "Can't open or create file text.txt $!";

my ( $numberorg, $as, $rate, $number );

print "число 1: ";
chomp ( $numberorg = <> );
print "число 2: ";
chomp ( $as = <> );
print "число 3: ";
chomp ( $rate = <> );

for ( 1..$as ) {
    my $random = int rand(1000000);
    printf FL "%u %09u %05u %u\n", ($rate, $random, $_, $numberorg);
}

close FL;


Эх... люблю я perl сам не пойму за что! 
Вот так вот это делается. printf тут аналог конструкции print файл sprintf(...)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0451 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.