![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
С++ => Delphi
Yanis © (2004-10-26 23:22:00)Что то я никак перевести эту программу(алгоритм) немогу. Не выходит. Вроде всё правильно но не работает
Помогите плиз. Вот полный код:
#include "stdio.h"
#include "string.h"
void swap(char &a, char &b)
{
char c = a;
a = b;
b = c;
}
void gen(char *Array, int t=0)
{
if (t == strlen(Array)-1) printf("%s\n", Array);
else
for (int i = t; i < strlen(Array); i++)
{
swap(Array[t], Array[i]);
t++;
gen(Array, t);
t--;
swap(Array[t], Array[i]);
}
}
void main(void)
{
char Array[100];
printf(":");
scanf("%s", Array);
gen(Array);
}
Yanis (2004-10-31 21:53:00) [1]Еле нашел свою тему.
To Тестировщица
Спасибо большое за помощь. А ошиПки то глупые у меня глупые :)
Тестировщица (2004-10-28 03:28:00) [2]и не советую использовать ListBox -) (намек - подсчитайте n! при n=100)
Тестировщица (2004-10-28 02:56:00) [3]procedure swap( vara,b:char);
var
c:char;
begin
c := a;
a := b;
b := c;
end;
procedure gen(_array: String;t:integer =1);
var
i:integer;
begin
if t = Length(_array)then Form1.ListBox1.Items.add(_array)
else
begin
for i := tto Length(_array) do
begin
swap(_array[t],_array[i]);
inc(t);
gen(_Array,t);
dec(t);
swap(_Array[t],_array[i]);
end;
end;
end;
Самые главные ошибкивыделены жирным шрифтом...
Yanis (2004-10-27 23:33:00) [4]Извиняюсь за задержку.
Вот так я перевёл:
(*
void swap(char &a, char &b)
{
char c = a;
a = b;
b = c;
}
void gen(char *Array, int t=0)
{
if (t == strlen(Array)-1) printf("%s\n", Array);
else
for (int i = t; i < strlen(Array); i++)
{
swap(Array[t], Array[i]);
t++;
gen(Array, t);
t--;
swap(Array[t], Array[i]);
}
}
*)
procedure swap(a,b:char);
var
c:char;
begin
c := a;
a := b;
b := c;
end;
procedure gen(_array:String;t:integer=0);
var
i:integer;
begin
if (t = strlen(Pchar(_array))-1) then Form1.ListBox1.Items.add(Format('%s',[_array]))
else
begin
for i := 0 to strlen(pchar(_array))-1 do
begin
swap(_array[t],_array[i]);
inc(t);
gen(_Array,t);
dec(t);
swap(_Array[t],_array[i]);
end;
end;
end;
Warlock (2004-10-27 11:25:00) [5]Похоже на алгоритм подбора пароля :)
я перевел код работает, правда не знаю правильно или нет.
DVM (2004-10-27 00:35:00) [6]Покажи как перевел.