Форум программистов, компьютерный форум CyberForum.ru

пакаль -> с++ - C++

Восстановить пароль Регистрация
 
лендер
46 / 46 / 2
Регистрация: 12.01.2010
Сообщений: 183
17.11.2010, 19:06     пакаль -> с++ #1
нашел в нете подходящий мне код
генерирования перестановок в лексикографическом порядке
но он на паскале я перевел его на с++ но результат не тот(я компилил и тот и тот вариант)
помогите найты ошибку
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
program Project1;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
const n=4;
 
var p : array [0..n] of 0..n;
k : 0..n; j,r,m : 1..n;
s:char;
 
begin
 
for k:=0 to n do p[k]:=k;
 
k:=1;
while k<> 0 do
begin
for k:=1 to n do write(p[k]); writeln;
k:=n-1; while p[k]>p[k+1] do k:=k-1;
{i"i^e`ce^ k}
j:=n; while p[k]>p[j] do j:=j-1;
{i"i^e`n~e^ j}
r:=p[k]; p[k]:=p[j]; p[j]:=r;
j:=n; m:= k+1;
while j>m do
begin r:=p[j]; p[j]:=p[m]; p[m]:=r; j:=j-1; m:=m+1 end
end    ;
 readln(s);
end.
в
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
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream.h>
#include <conio.h>
 
void main()
{
clrscr();
 
int *p, n,i, j , k, m, r;
 
n = 4;
p = new int[n+1];
 
     for ( i = 0 ; i <= n ; i++ )
       p[i] = i;
 
 
    k = 1;
 
    while( k != 0 )
    {
     for ( i = 1 ; i <= n ; i++ )
       cout << p[i] << ' ';
     cout << endl;
 
     k = n - 1;
     while( p[k] > p[k+1] ) k--;
     j = n;
     while( p[k] > p[j] ) j--;
 
     r = p[k]; p[k] = p[j]; p[j] = r;
 
     j = n; m = k + 1;
 
    while( j > m )
    {
       r = p[m]; p[m] = p[j]; p[j] = r;
       j--;
    }
    }
 
getch();
}
Добавлено через 16 минут
найшов, пропустив
Pascal
1
2
while j>m do
begin r:=p[j]; p[j]:=p[m]; p[m]:=r; j:=j-1;[COLOR="Red"] m:=m+1[/COLOR] end
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2010, 19:06     пакаль -> с++
Посмотрите здесь:

Pascal Что такое класси в пакаль

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 09:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru