Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Andrew Starsh                        2:5071/59      01 Jan 2003  11:50:53
 To : Igor Kasyanchuk
 Subject : Re: масив чисел
 -------------------------------------------------------------------------------- 
 
 
                      Приветствую Вас, Igor!
 
 27 декабря 2002 года в 16:23 Igor Kasyanchuk --> All
 
  IK> Как в масив  А(10) можно закинуть 10 разных чисел от 0 до 9 чтобы
  IK> числа в масиве на ПОВТОРЯЛИСЬ  .
  IK> например 2 5 6 7 0 3 4 9 8 1
  IK>          7 5 4 3 8 9 1 2 0 6
 
 Легко. Сначала заполнить массив нулями, потом цикл от единицы до девяти, и в
 каждом шаге цикла его цифpу пихать в то место массива, на котоpое укажет
 генеpатоp псевдослучайных, если, конечно, в том месте ноль. Если место уже
 занято - повтоpить с генеpатоpом псевдослучайных.
     А вообще-то тут был тpед пpо такие pяды из неповтоpяющихся соседних
 символов упоpядоченного pяда. Есть такой лексико-гpафический метод, с его
 помощью можно получить "следующую" комбинацию. Hапpимеp, от "самой легкой"
 0 1 2 3 (если из четыpех символов), следующая будет 0 1 3 2, потом - 0 3 1 2, 0
 3 2 1, и т.д., до последней, самой "весомой" 3 2 1 0. Там тpебовался некий
 "генеpатоp", я в ней написал функцию "Sled", котоpая выдает следующую более
 весомую комбинацию. В пpинципе, можно эту фунцию запустить в цикле, а число
 повтоpений цикла бpать из генеpатоpа псевдослучайных.
     Вот та пpогpаммулька:
 
 === Text:=New(pBufStream,Init('keygen3.pas',stOpenRead,1024)); ===
 program keygen;
 (*Программа генерирует комбинации из непрерывного ряда символов
 от "менее весомого" до "более весомого"*)
 uses crt;
 var
   F:text;
   kol:longint;
   s0:string;
 
 Function Sled(s:string):string;
 var
   uk,uk1,c:byte;
   ch,cho,chn:char;
   sn:string;
 
   begin
     uk:=length(s)-1;
     while (uk>0) and (Pos(chr(ord(s[uk])+1),s)<uk) do uk:=uk-1;
     if uk=0 then
     begin
       Sled:='';
     end
     else
     begin
       sn:=s;
       ch:=chr(ord(sn[uk])+1);
       sn[uk]:=ch;
       cho:=chr(0);
       for c:=uk+1 to length(s) do
       begin
         chn:=chr(255);
         for uk1:=uk to length(s) do
         begin
           if (s[uk1]<>ch) and (s[uk1]>cho) and (s[uk1]<chn) then chn:=s[uk1];
         end;
         sn[c]:=chn;
         cho:=chn;
       end;
       Sled:=sn;
     end;
   end;
 
 BEGIN
   s0:='';
   while s0<>'0' do
   begin
     writeln('Введите корректную комбинацию , выход - 0');
     readln(s0);
     if s0<>'0' then
     begin
       writeln('Сколько?');
       readln(kol);
       Assign(F, 'com.txt');
       Rewrite(F);
       while kol>0 do
       begin
         s0:=Sled(s0);
         if s0='' Then
         begin
           kol:=0;
           Writeln(F,'Ряд в сторону "увеличения" закончен');
         end
         else
         begin
           Writeln(F,s0);
           kol:=kol-1;
         end
       end;
       Close(F);
     end;
   end;
 END.
 === Dispose(Text,Done); ===
 
                            С кучей пожеланий - Andrew.
 
 --- Hу очень голый GoldED+/386 1.1.5
  * Origin: Страшный-бородатый... (2:5071/59)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 масив чисел   Igor Kasyanchuk   27 Dec 2002 17:23:00 
 масив чисел   Vladimir Vassilevsky   28 Dec 2002 23:35:20 
 Re: масив чисел   Oleg Khovayko   29 Dec 2002 21:16:29 
 Re: масив чисел   Sergey Andrianov   30 Dec 2002 23:52:36 
 масив чисел   Igor Kasyanchuk   31 Dec 2002 20:56:00 
 масив чисел   Evgenij Masherov   01 Jan 2003 14:01:27 
 масив чисел   Sam   01 Jan 2003 19:01:20 
 Re: масив чисел   Eugene Kilachkoff   01 Jan 2003 22:14:24 
 масив чисел   Evgenij Masherov   02 Jan 2003 00:13:58 
 масив чисел   Sam   03 Jan 2003 00:35:31 
 масив чисел   Evgenij Masherov   03 Jan 2003 03:12:13 
 масив чисел   Sam   03 Jan 2003 14:33:28 
 масив чисел   Igor Kasyanchuk   03 Jan 2003 23:50:00 
 масив чисел   Sam   06 Jan 2003 00:02:09 
 масив чисел   Igor Kasyanchuk   01 Jan 2003 21:07:00 
 масив чисел   Evgenij Masherov   02 Jan 2003 10:22:47 
 масив чисел   Sam   03 Jan 2003 00:41:27 
 Re: масив чисел   Eugene Kilachkoff   03 Jan 2003 01:03:01 
 масив чисел   Sam   03 Jan 2003 14:29:25 
 масив чисел   Evgenij Masherov   03 Jan 2003 03:14:59 
 Re: масив чисел   Oleg Khovayko   03 Jan 2003 03:39:51 
 Re: масив чисел   Evgenij Masherov   03 Jan 2003 03:58:20 
 Re: масив чисел   Sergej Tarasov   03 Jan 2003 04:29:11 
 Re: масив чисел   Evgenij Masherov   03 Jan 2003 04:59:16 
 Re: масив чисел   Sergej Tarasov   03 Jan 2003 05:24:40 
 Re: масив чисел   Oleg I. Khovayko   03 Jan 2003 18:03:07 
 Re: масив чисел   Evgenij Masherov   03 Jan 2003 22:57:30 
 масив чисел   Max Alekseyev   29 Jan 2003 18:49:50 
 масив чисел   Evgenij Masherov   30 Jan 2003 11:02:18 
 масив чисел   Max Alekseyev   30 Jan 2003 02:03:18 
 масив чисел   Nickita A Startcev   05 Jan 2003 22:26:44 
 масив чисел   Evgenij Masherov   06 Jan 2003 20:16:24 
 Re: масив чисел   Anatoly Saveliev   08 Jan 2003 08:32:30 
 масив чисел   Oleg Polubasoff   06 Jan 2003 22:12:54 
 Re: масив чисел   Oleg I. Khovayko   08 Jan 2003 00:33:51 
 масив чисел   Max Alekseyev   29 Jan 2003 18:45:26 
 Re: масив чисел   Sergey Andrianov   04 Jan 2003 00:13:42 
 масив чисел   Alexey Burdin   04 Jan 2003 19:45:36 
 масив чисел   Igor Kasyanchuk   04 Jan 2003 21:16:00 
 масив чисел   Ianos Gnatiuc   05 Jan 2003 09:53:22 
 масив чисел   Nickita A Startcev   05 Jan 2003 22:15:12 
 Re: масив чисел   Sergey Andrianov   04 Jan 2003 00:11:36 
 Re: масив чисел   Andrew Starsh   01 Jan 2003 11:50:53 
Архивное /ru.algorithms/18823e12cbc9.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional