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

перевести с Pascal на C++ - C++

Восстановить пароль Регистрация
 
shukaka
4 / 4 / 2
Регистрация: 09.03.2014
Сообщений: 184
29.03.2014, 19:22     перевести с Pascal на C++ #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
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
program lab_7;
uses crt;
var a:array [-1000..1000] of integer;
    b:array [-1000..1000] of integer;
    r:array [-1000..1000] of integer;
    s,z,x:array [-1000..1000] of integer;
    sign1, sign2,n1,n2,i,k,n,m,j,zn,zn1,zn0,t,t1,q:integer;
label l1,l2,l3,p1,p2,p3,h1,h2,h3,lo1,lo3,lo2;
begin
n:=0;
writeln('Введите знак первого РЛ числа:');
readln(zn); //знак первого РЛ-числа
write('Введите количество значущих цыфр, а потом - значащие цифры первого РЛ числа: ');
 
readln(n1);  //количество значущих цыфр первого РЛ-числа
for i:=n1 downto 1 do
begin
readln(a[i]);  //значащие цыфры первого РЛ-числа
end;
writeln('Введите знак 2-го РЛ числа:');
readln(zn1);  //знак второго РЛ-числа
write('Введите количество значущих цыфр, а потом - значащие цифры первого РЛ числа: ');
 
readln(n2);    //количество значущих цыфр второго РЛ-числа
for i:=n2 downto 1 do
begin
readln(b[i]);  //значащие цыфры второго РЛ-числа
end;
 
for i:=n1+n2 downto n1+1 do  //сравнивание 2-х РЛ-чисел
begin
if a[i-n2]<>b[i-n1] then
begin
if a[i-n2]>b[i-n1] then zn0:=zn else zn0:=zn1;  //выбираем знак большого числа
goto p1;
end;
end;
  p1:writeln();  //объединение 2-х РЛ-чисел
for i:=n1+n2 downto 1 do
begin
  r[i]:=a[i]+b[i-n1];  //новое объединенное РЛ-число
end;
l1:for i:=1 to n1+n2-1 do  //сортировка
if r[i]<r[i+1] then
begin //сортировка методом пузырька
    k:=r[i];
    r[i]:=r[i+1];
    r[i+1]:=k;
goto l1;
end;
  m:=n1+n2;
l2:for i:=m downto 2+n do  //преведение подобных в РЛ-числе
begin
if r[i]=r[i-1] then
begin
    r[i]:=r[i]+1;
for j:=i-1 downto 2+n do
    r[j]:=r[j-1];
    n:=n+1;
    l3: for j:=1+n to m-1 do
if r[j]<r[j+1] then   //сортировка методом пузырька
begin
        k:=r[j];
        r[j]:=r[j+1];
        r[j+1]:=k;
goto l3;
end;
goto l2;
end;
end;
 
t:=0;
for i:=n+1 to m do begin  //вывод результата сложения
t:=t+1;
end;
write('Сумма 2-х РЛ-чисел = ',zn0,'.',t,'.');
 
 //Операция вычитания
 
for i:=n+1 to m do
write(r[i],'.');
 
writeln();
k:=1;
for i:=a[n1]-b[1]+1 downto 2 do //разложение чисел для сокращения подобных в двух РЛ-числах
begin
  z[i]:=a[n1]-k;
  k:=k+1;
end;
z[1]:=z[2];
m:=0;
h2:for i:=a[n1]-b[1]+1 downto 1+m do
for j:=n2 downto 1+m do
begin
if z[i]=b[j] then
begin
  k:=i;
  n:=j;
  m:=m+1;
goto h1;
end;
end;
goto h3;
h1: for i:=k downto 1+m do
    z[i]:=z[i-1];
for j:=n downto 1+m do
    b[j]:=b[j-1];
goto h2;
   h3:
for i:=1 to n1-1 do //конечный результат вычитания
begin
   x[i]:=a[i];
end;
for i:=n1 to (a[n1]-b[1]+1-(m+1)+n1) do
begin
   x[i]:=z[m+1+(i-n1)];
end;
 n:=0;    //приведение подобных в РЛ-числе
lo1:for i:=1 to a[n1]-b[1]+1-(m+1)+n1-1 do
if x[i]<x[i+1] then
begin
    k:=x[i];
    x[i]:=x[i+1];
    x[i+1]:=k;
goto lo1;
end;
  q:=a[n1]-b[1]+1-(m+1)+n1;
lo2:for i:=q downto 2+n do
begin
if x[i]=x[i-1] then
begin
    x[i]:=x[i]+1;
for j:=i-1 downto 2+n do
    x[j]:=x[j-1];
    n:=n+1;
    lo3: for j:=1+n to q-1 do
if x[j]<x[j+1] then    //сортировка методом пузырька
begin
        k:=x[j];
        x[j]:=x[j+1];
        x[j+1]:=k;
goto lo3;
end;
goto lo2;
end;
end;  //вывод результата вычитания
write('Вычитание 2-х РЛ-числе = ',zn0,'.',q-n,'.');
for i:=n+1 to q do
write(x[i],'.');
 
end.
помогите плиз перевести
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2014, 19:22     перевести с Pascal на C++
Посмотрите здесь:

C++ Перевести из Pascal в С++
Перевести с pascal C++
Перевести из Pascal в C++ C++
Перевести c Pascal в C++ C++
C++ Перевести с Pascal на C++
Перевести с pascal на c++ C++
Перевести с Pascal на С++ C++
Перевести с Pascal на C++ C++

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

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

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