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

Перестановки. Перевод с Pascal на C++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Определить попадание точки в заштрихованную область http://www.cyberforum.ru/cpp-beginners/thread1199000.html
C++ Как исправить ошибки. Подскажите пожалуйста! // пртотипы функций void cr_base(); void pr_base(int n); void cr_child(); void pr_child(); void ov_un(); void main_menu(); void uslovie(); void help(); void zastavka(); http://www.cyberforum.ru/cpp-beginners/thread1198979.html
C++ Получить мультфильм "Круги на воде"
Помогите с заданием!!! Получить мультфильм "Круги на воде" , используя семь концентрических окружностей. Центры окружностей должны быть совмещены с центром экрана, а радиусы изменяться от 42 до 82 пиксел , увеличиваясь на 7 пиксел с каждой следующей окружностью. Иллюзия движения должна создаваться последовательной сменой цветов всех окружностей, начиная с внутренней и кончая внешней. Процесс...
Разработать объект-дерево для создания последовательности чисел Фибоначчи C++
Разработать объект-дерево для создания последовательности чисел Фибоначчи. Методы работы с деревом должны обеспечить сохранение найденного количества чисел в файле, определение суммы чисел Фибоначчи до заданного числа К, меньшего количества найденных и записанных в виде дерева чисел, поиск введённого числа и определение уровня его в дереве, печать дерева чисел Фибоначчи до заданного числа....
C++ Ввести по строкам с клавиатуры двумерный массив и вычислить среднее арифметическое его элементов http://www.cyberforum.ru/cpp-beginners/thread1198946.html
#include "stdafx.h" #include"iostream" using namespace std; int _tmain(int argc, _TCHAR* argv) { float v ; int i,j; int kk; float sr; float sum=0;
C++ Русский язык в консоли Qt 5.3 помогите пожалуйста подробнее

Показать сообщение отдельно
Xagon
0 / 0 / 0
Регистрация: 22.05.2014
Сообщений: 11
04.06.2014, 16:21     Перестановки. Перевод с Pascal на C++
Пожалуйста, помогите перевести эту программу на C++

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
97
98
99
100
101
102
103
104
105
106
107
108
109
Program z3;
type Pere=array [byte] of byte;
var
file1,file2: text; {файловые переменные, связанные с файлами ввода и вывода}
N: byte; {количество станков}
effect: array [1..20,1..20] of byte; {массив }
status: array [1..20,1..20] of integer; {массив }
flag: boolean;
sum: byte;
i,j: byte; {счетчики цикла}
min, max:array [1..20] of byte;
nv: longint; {количество вариантов}
f: string; {Номер теста}
f1,f2: string; {имена входного и выходного файлов}
      X:Pere;
      Yes:boolean;
{***************************************************}
      procedure Next2(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('Введите номер входного и выходного файлов: ');
readln(f);
f1:='test'+f+'.txt'; {формируем имя входного}
f2:='result'+f+'.txt'; {и выходного файлов}
assign(file1,f1); {связываем файловую переменную с файлом ввода}
assign(file2,f2); {связываем файловую переменную с файлом вывода}
reset(file1); {открываем файл для чтения}
rewrite(file2); {открываем файл для записи}
readln(file1,N);{считываем размеры}
 for i:=1 to N do  {читаем}
 begin
  for j:=1 to N do  {читаем}
  begin
   read(file1,effect[i,j]);
   write(effect[i,j]:4);
  end;
  readln(file1);
  writeln;
 end;
 
 writeln;
 
 for j:=1 to N do
 begin
  min[j]:=effect[1,j];
  max[j]:=effect[1,j];
  for i:=2 to N do
  begin
   if effect[i,j]>max[j] then max[j]:=effect[i,j];
   if effect[i,j]<min[j] then min[j]:=effect[i,j];
  end;
 end;
 
 for j:=1 to N do
  for i:=1 to N do
 
 
 for i:=1 to N do
 begin
  for j:=1 to N do
  begin
  if effect[i,j]=max[j] then status[i,j]:=1 else
   if effect[i,j]=min[j] then status[i,j]:=-1 else status[i,j]:=0;
  write(status[i,j]:4);
  end;
  writeln;
 end;
 
{***********Perestanovki*****************************}
 nv:=0;
   for i:=1 to N do X[i]:=i;
      repeat           {i-номер станка}
        flag:=true;
        sum:=0;
        for i:=1 to N do
         if status[X[i],i]=-1 then flag:=false else sum:=sum+status[X[i],i];
         if sum<((n-1) div 4)+1 then flag:=false;
    if flag then
        begin      {сохраняем результат в файл}
         for i:=1 to N do write(file2,'(',i,';',X[i],') ');writeln(file2);
         inc(nv);
        end;
    Next2(X,Yes)
      until not Yes;
     Writeln('Всего вариантов: ',nv);
readln;
{*********************************************}
close(file1); {закрываем файл}
close(file2); {закрываем файл}
End.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru