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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
sk24fn123b
Сообщений: n/a
#1

Перевести с pascal на c++ - C++

21.12.2013, 02:25. Просмотров 201. Ответов 1
Метки нет (Все метки)

Помогите тоже перевести из Pascal в с+ visual studio 6.0
Нашел тут похожую на свою задачу, хочу разобраться, но учу только с++ ((

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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
type mas=array[0..100] of integer;
procedure MergeSort(var m:mas;n:integer);
var
c:boolean;
i,i1,i2,n1,n2,j,k,tmp,len:integer;
b:mas;
begin
len:=1;
c:=true;
while len<n do
 begin
  if c then
   begin
    i:=0;
    while i+len<=n do
     begin
      i1:=i+1;
      i2:=i+len+1;
      n1:=i+len;
      n2:=i+2*len;
      if n2>n then
       begin
        n2:=n;
       end;
      while(i1<=n1)or(i2<=n2)do
       begin
        if i1>n1 then
         begin
          while i2<=n2 do
           begin
            i:=i+1;
            b[i-1]:=m[i2-1];
            i2:=i2+1;
           end;
         end
        else
         begin
          if i2>n2 then
           begin
            while i1<=n1 do
             begin
              i:=i+1;
              b[i-1]:=m[i1-1];
              i1:=i1+1;
             end;
            end
          else
           begin
            if m[i1-1]>m[i2-1] then
             begin
              i:=i+1;
              b[i-1]:=m[i2-1];
              i2:=i2+1;
             end
            else
             begin
              i:=i+1;
              b[i-1]:=m[i1-1];
              i1:=i1+1;
             end;
           end;
         end;
       end;
     end;
    i:=i+1;
    while i<=n do
     begin
      b[i-1]:=m[i-1];
      i:=i+1;
     end;
   end
  else
   begin
    i:=0;
    while i+len<=n do
     begin
      i1:=i+1;
      i2:=i+len+1;
      n1:=i+len;
      n2:=i+2*len;
      if n2>n then
       begin
        n2:=n;
       end;
      while (i1<=n1)or(i2<=n2)do
       begin
        if i1>n1 then
         begin
          while i2<=n2 do
           begin
            i:=i+1;
            m[i-1]:=b[i2-1];
            i2:=i2+1;
           end;
         end
        else
         begin
          if i2>n2 then
           begin
            while i1<=n1 do
             begin
              i:=i+1;
              m[i-1]:=b[i1-1];
              i1:=i1+1;
             end;
           end
          else
           begin
            if b[i1-1]>b[i2-1] then
             begin
              i:=i+1;
              m[i-1]:=b[i2-1];
              i2:=i2+1;
             end
            else
             begin
              i:=i+1;
              m[i-1]:=b[i1-1];
              i1:=i1+1;
             end;
           end;
         end;
       end;
     end;
    i:=i+1;
    while i<=n do
     begin
      m[i-1]:=b[i-1];
      i:=i+1;
     end;
   end;
   len:=2*len;
   c:= not c;
  end;
 if not c then
  begin
   i:=1;
   repeat
   m[i-1]:=b[i-1];
   i:=i+1;
   until not(i<=n);
  end;
end;
var a:mas;
    n,i:integer;
begin
 
randomize;
write('n=');readln(n);
writeln('Исходный массив:');
for i:=0 to n-1 do
 begin
  a[i]:=random(20);
  write(a[i],' ');
 end;
writeln;
MergeSort(a,n);
writeln('Сортировка:');
for i:=0 to n-1 do
write(a[i],' ');
readln
end.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2013, 02:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перевести с pascal на c++ (C++):

Перевести с Pascal на C++ - C++
Перевести с Pascal на C++ Var i,j,n : Longint; Fl : Boolean; Begin For n:=5 to 100 do Begin fl:=false;

Перевести с Pascal на С++ - C++
Помогите пожалуйста Дано натуральное число n, переставить местами первую и последнию цифру местами uses crt; var...

Перевести с Pascal на C++ - C++
Каково содержание задачи? var a:array of integer; i,j,k,l,q,w,e:integer; begin // Randomize; for i:=1 to 10 do begin...

Перевести с Pascal на C++ - C++
Здравствуйте! Помогите пожалуйста перевести вот эти программы с языка Pascal на C++ Сам я очень плохо знаю C++ поэтому был бы крайне...

Перевести с Pascal на C++ - C++
Здравствуйте! Помогите пожалуйста перевести вот эти программы с языка Pascal на C++ Сам я очень плохо знаю C++ поэтому был бы крайне...

Перевести с Pascal на C++ - C++
uses crt; var a,y:extended; i:longint; begin clrscr; write('a=');readln(a); if a&lt;1 then begin writeln('1'); ...

1
ildwine
21.12.2013, 17:29     Перевести с pascal на c++
  #2
 Комментарий модератора 
sk24fn123b, сообщение вынесено в отдельную тему. Тема перемещена в C++
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.12.2013, 17:29
Привет! Вот еще темы с ответами:

Перевести из Pascal в C++ - C++
Ребят, помогите пожалуйста перевести программы на С++! :( Задача №1 (Схема горнера) program labblablabla; var x,s,k:real; ...

Перевести с pascal на С++ - C++
const n=30; var c,a:array of integer; i,k,max:integer; begin {ввод массива c} for i:=1 to n do read(c); ...

Перевести на C++ из Pascal - C++
Буду очень рад тому, кто переведет из Pascal на C++ :) procedure ChangeToInc(var st:string); var f:boolean; begin f:=true;...

Перевести с Pascal на C++ - C++
Есть код на Паскале, хотел бы сам перевести его в С++, но подчистую забыл, что такое Паскаль. Помоги, люди добрые) procedure sort(var...


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

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

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