| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Кто поможет перенести исходник с Паскаля на С++ |
| Автор: Fumoffu 20.5.2006, 19:05 |
| Программа печатает все перестановки чисел от 1 до n . Это неотъемлемая часть моей курсовой...которую надо скоро сдавать. Буду очень благодарен. program Perestanovki; type Pere=array [byte] of byte; var N,i,j:byte; X:Pere; Yes:boolean; procedure Next(var X:Pere;var Yes:boolean); var i:byte; procedure Swap(var a,b:byte); {обмен переменных} var c:byte; begin c:=a;a:=b;b:=c end; begin i:=N-1; {поиск i} while (i>0)and(X[i]>X[i+1]) do dec(i); if i>0 then begin j:=i+1; {поиск j} while (j<N)and(X[j+1]>X[i]) do inc(j); Swap(X[i],X[j]); for j:=i+1 to (N+i) div 2 do Swap(X[j],X[N-j+i+1]); Yes:=true end else Yes:=false end; begin write('N=');readln(N); for i:=1 to N do X[i]:=i; repeat for i:=1 to N do write(X[i]);writeln; Next(X,Yes) until not Yes end. |
| Автор: Foley 20.5.2006, 23:53 |
| есть специальные проги, их можно найти через яндыкс (но все-равно они работают кривовато, хотя основа все-таки остается правильной необходимо вносить лишь небольшие измененения), а так самый простой способ это вручную перепечатать с исправлениями под си. Тем более код небольшой. |
| Автор: Droll 21.5.2006, 01:04 | ||
Думаю, должно получиться так:
PS Вообще, этот вопрос стоило задавать в разделе http://forum.vingrad.ru/index.php?showforum=92 Удачи! |