Форум программистов, компьютерный форум, киберфорум
Наши страницы
Free Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
PAZITIV
Реальность Нереальна!
351 / 124 / 7
Регистрация: 02.08.2009
Сообщений: 3,214
Записей в блоге: 1
#1

Не выполняется функция

02.08.2009, 22:09. Просмотров 900. Ответов 10
Метки нет (Все метки)

Pascal
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
 Program Password_man;
uses crt;
type mas=array[0..200] of integer;
var
   i,nfact:integer ;
   Mas4islFact:mas;
   MasBukvFact:mas;
   MasPassFact:mas;
   RandMasFact:mas;
   cx:mas;
{Заполнение случайными числами 0..9 массива для числовой составляющей пароля}
   Procedure RandMas4isl(var Mas4islForm:mas;n:integer);
   var i:integer;
       ch:integer;
   begin
        randomize;
        for i:=1 to  n do
                           begin
                           ch:=random(9);
                           Mas4islForm[i]:=ch;
                           write(Mas4islForm[i],'|');
                           end;
   end;
{Заполнение случ. числами 97..122 массива для буквенной составляющей пароля}
   Procedure RandMasBukv(var MasBukvForm:mas;n:integer );
   var b,s : set of 97..122;
       j,d : integer;
   begin
   randomize;
   b:=[97..122];
   s:=[];
   for j:=1 to n do
                     begin
                     repeat
                     d:=random(122);
                     until (d in b ) and not (d in s);
                     s:=s+[d];
                     MasBukvForm[j]:=d;
                     write(MasBukvForm[j],'/');
                     end;
   end;
{Cлияние двух описанных выше массивов}
   Procedure SlivMassivov(var MasPassForm,Mas4islForm,MasBukvForm:mas );
   var
       l,m,r:integer;
       i,j,k,z:integer;
       a2     :mas;
   begin
   z:=r-l+1;
   i:=l;
   j:=m;
   k:=1;
   while k <= z do
                  begin
                  if (j>r) or ((i<m)and(Mas4islForm[i]<MasBukvForm[j])) then
                                                                            begin
                                                                            a2[k]:=Mas4islForm[i];
                                                                            i:=i+1;
                                                                            end
                                                                        else
                                                                            begin
                                                                            a2[k]:=MasBukvForm[j];
                                                                            j:=j+1;
                                                                            end;
                  k:=k+1;
                  end;
   i:=1;
   for i:=1 to z do
                   begin
                   MasPassForm[i]:=a2[k];
                   write(MasPassForm[i],'!');
                   i:=i+1 ;
                   end;
   end;
 
{Случайный выбор элементов!}
   Procedure RandSlivMas(var RandMasForm:mas);
   var i:integer;
       Mas4islFact:mas;
   begin
   randomize;
   for i:=1 to 30 do
                    begin
                    RandMasForm[i]:=Mas4islFact[i];
                    write(RandMasForm[i],' @ ');
                    end;
   end;
Begin clrscr;
readln(nfact);
randomize;
RandMas4isl(Mas4islFact,nfact);
RandMasBukv(MasBukvFact,nfact);
SlivMassivov(MasPassFact,MasPassFact,MasPassFact);
RandSlivMas(RandMasFact);
readln;
end.
Короче это моя курсовая работа! Нужно написать что-то вроде генератора паролей!У меня не выполняется функция " SlivMassivov" и далее есстественно!Помогите пожалуйста,а то меня препод поджарит на медленном огне
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.08.2009, 22:09
Ответы с готовыми решениями:

Процедура и функция: Функция определения максимальной цифры числа
напишите программу,которая с помощью функции определяющей максимальную цифру...

Функция нахождения максимума в строке матрицы и функция вычисления ||D||
Помогите написать программу. Заранее спасибо. Даны вещественные матрицы A,...

Не выполняется условие
В двух словах, надо написать программу которая проверяла бы что x^2 + y^2 = z^2...

Не выполняется компиляция кода !
Доброго времени суток! Не пойму почему не компилируется код, вроде уже всё...

Проверить, выполняется ли неравенство
Даны действительные числа x,y,z. Проверить, выполняется ли неравенство x&gt;=y&gt;=z,...

10
Puporev
Модератор
54370 / 41958 / 28981
Регистрация: 18.05.2008
Сообщений: 98,831
02.08.2009, 22:56 #2
Напишите подробно задание и что Вы хотите в итоге получить. По коду вообще непонятно какого результата хотите добиться. Что за пароль, сколько в нем символов, приведите примеры паролей.
0
Delphin_KKC
UNIX-way
710 / 494 / 49
Регистрация: 15.01.2009
Сообщений: 1,721
02.08.2009, 23:41 #3
Цитата Сообщение от PAZITIV Посмотреть сообщение
...моя курсовая работа! Нужно написать что-то вроде генератора паролей!...
На ночь глядя не оч хочется разбираться с кодом. Вот дарю кое-что из своих наработок по этой теме. Первым параметром в процедуру передаётся желаемая длина пароля. Во втором параметре - возвращаемое значение.
Pascal
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
procedure GenPass(mx:integer;var pass:string;);
var
    i,x,y:integer;
      CLow,
      CUp,
      CDigit,
      CSpec:string;
begin
pass:='';
CLow:='abcdefghijklmnopqrstuvwxyz';
CUp:='ABCDEFGHJKLMNOPQRSTUVWXYZ';
CDigit:='0123456789';
CSpec:='!@#$%^&*()-_+=\|/"';
randomize;
for i:=1 to mx do
  begin
  x:=random(4)+1;
  case x of
       1: pass:=pass+CLow[random(length(CLow))+1];
       2: pass:=pass+CUp[random(length(CUp))+1];
       3: pass:=pass+CDigit[random(length(CDigit))+1];
       4: pass:=pass+CSpec[random(length(CSpec))+1];
       end;
  end;
end;
0
TAVulator
3953 / 1112 / 160
Регистрация: 27.07.2009
Сообщений: 3,457
03.08.2009, 00:38 #4
Немного упростил вариант Delphin_KKC:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Function GenPass(L:byte):string;
var
 i: byte;
Const
 S:String[79] = 'abcdefghijklmnopqrstuvwxyz'+
                'ABCDEFGHJKLMNOPQRSTUVWXYZ'+
                '0123456789'+
                '!@#$%^&*()-_+=\|/"';
Begin
 Randomize;
 For i:=1 to L do
  GenPass:=GenPass+S[Random(78)+1];
End;
 
{Пример использования}
Begin
 Writeln(Genpass(5));
End.
Функция GenPass берет за входящий параметр кол-во символов, а возвращает строку с паролем.

И вот вариант того же решения, только для Turbo Pascal (предыдущий был для Free Pascal):
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Function GenPass(L:byte):string;
var
 i: byte;
 T:string;
Const
 S:String[79] = 'abcdefghijklmnopqrstuvwxyz'+
                'ABCDEFGHJKLMNOPQRSTUVWXYZ'+
                '0123456789'+
                '!@#$%^&*()-_+=\|/"';
Begin
 Randomize;
 T:='';
 For i:=1 to L do
  T:=T+S[Random(78)+1];
 GenPass:=T;
End;
 
{Пример использования}
Begin
 Writeln(Genpass(10));
End.
0
Delphin_KKC
UNIX-way
710 / 494 / 49
Регистрация: 15.01.2009
Сообщений: 1,721
03.08.2009, 01:04 #5
Цитата Сообщение от TAVulator Посмотреть сообщение
Немного упростил вариант Delphin_KKC...
Просто та моя прога была в Делфи сделана. С возможностью выбора (чекбоксами) из каких символов пасс генерить. Немного переписал под паскаль и скинул.
0
PAZITIV
Реальность Нереальна!
351 / 124 / 7
Регистрация: 02.08.2009
Сообщений: 3,214
Записей в блоге: 1
03.08.2009, 10:20  [ТС] #6
Ох, Друзья, спасибо большое!!!!!!!!Сразу видно, нормальный форум, нормальные люди!!!!!!!
0
Delphin_KKC
UNIX-way
710 / 494 / 49
Регистрация: 15.01.2009
Сообщений: 1,721
03.08.2009, 21:23 #7
Цитата Сообщение от TAVulator Посмотреть сообщение
...
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Function GenPass(L:byte):string;
var
 i: byte;
Const
 S:String[79] = 'abcdefghijklmnopqrstuvwxyz'+
                'ABCDEFGHJKLMNOPQRSTUVWXYZ'+
                '0123456789'+
                '!@#$%^&*()-_+=\|/"';
Begin
 Randomize;
 For i:=1 to L do
  GenPass:=GenPass+S[Random(78)+1];
End;
 
...
В строке 5 объявлена переменная длинной 79 символов. Тогда и в 12-й строке нужно Random(79);
Ибо:
Цитата Сообщение от Delphi Help
function Random [ ( Range: Integer) ];

Description

In Delphi code, Random returns a random number within the range 0 <= X < Range. If Range is not specified, the result is a real-type random number within the range

0 <= X < 1.
Аналогично и во второй программе. Иначе - двойная кавычка (последний символ) никогда не будет использоваться в пароле.
0
TAVulator
3953 / 1112 / 160
Регистрация: 27.07.2009
Сообщений: 3,457
03.08.2009, 21:31 #8
Delphin_KKC, хм... ну да :-)
0
PAZITIV
Реальность Нереальна!
351 / 124 / 7
Регистрация: 02.08.2009
Сообщений: 3,214
Записей в блоге: 1
03.08.2009, 22:36  [ТС] #9
Нда, ребята, мне до вас как до Киева на бровях ползти!!!!!
0
Delphin_KKC
UNIX-way
710 / 494 / 49
Регистрация: 15.01.2009
Сообщений: 1,721
03.08.2009, 23:03 #10
Ну мы тож начинали когда-то. Для меня ког-дато Паскаль был китайской грамотой, а сейчас и Си не пугает.
Главное - желание, терпение и время.
0
PAZITIV
Реальность Нереальна!
351 / 124 / 7
Регистрация: 02.08.2009
Сообщений: 3,214
Записей в блоге: 1
03.08.2009, 23:08  [ТС] #11
Цитата Сообщение от Delphin_KKC Посмотреть сообщение
Ну мы тож начинали когда-то. Для меня ког-дато Паскаль был китайской грамотой, а сейчас и Си не пугает.
Главное - желание, терпение и время.
0
03.08.2009, 23:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.08.2009, 23:08

Не выполняется функция
Где ошибка, не подскажете? function bin(){ var arr = ; var start...

Не выполняется функция
не уверен что это вообще связано с БД, но вот такая ситуация: 2 формы: Form1,...

Не выполняется функция
Здравствуйте. C++ в Atmel Studio. Проблема в том, что компилятор не обращает...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru