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

Переделать с паскаля на с++ - C++

Восстановить пароль Регистрация
 
 
Жасулан
1 / 1 / 0
Регистрация: 22.10.2013
Сообщений: 68
22.10.2013, 10:04     Переделать с паскаля на с++ #1
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
Procedure tree (a, n);
    -------- 
    begin
        a[1,3]:=0; a[1,4]:=0; a[1,5]:=0;
        for i:=2 to n do 
        begin k:=1 ;
        L: if a[i,1]<a[k,1] then j:=3 else j:=4;
             s:=a[k,j];
             if sп‚№0 then begin k:=s; goto L; end;
             a[k,j]:=i; a[i,3]:=a[i,4]:=0; a[i,5]:=k;
        end;
    end;

Задание 2.§2.5.10 : перепишите программу tree ,но без оператора go to.Выполните вычислительный эксперимент со случайными данными.
Указание : организуйте цикл while по переменной s.Ответьте на вопросы: что означает, что переменная j приняла значение j=3 или j=4 ?,что означает ,что переменная s=0 ?
буду рад если программа решится на с++

Добавлено через 2 минуты
если есть светлые головы которые решают на с++ помогите с программкой. жду експертов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11811 / 6790 / 767
Регистрация: 27.09.2012
Сообщений: 16,840
Записей в блоге: 2
Завершенные тесты: 1
22.10.2013, 10:37     Переделать с паскаля на с++ #2
Цитата Сообщение от Жасулан Посмотреть сообщение
жду експертов
зачем они Вам?

P.S. Дублируя темы Вы ничего не добьетесь!
Жасулан
1 / 1 / 0
Регистрация: 22.10.2013
Сообщений: 68
22.10.2013, 10:38  [ТС]     Переделать с паскаля на с++ #3
чтобы помогли решить задачку
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5547 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
22.10.2013, 11:50     Переделать с паскаля на с++ #4
Цитата Сообщение от Croessmah Посмотреть сообщение
P.S. Дублируя темы Вы ничего не добьетесь!
Еще как добьется. Карточки.

 Комментарий модератора 
Жасулан, настоятельно советую почитать Правила форума. В частности весь четвертый пункт.

Цитата Сообщение от Жасулан Посмотреть сообщение
чтобы помогли решить задачку
Или ждите манны небесной или сами впрягайтесь в собственное образование.
Жасулан
1 / 1 / 0
Регистрация: 22.10.2013
Сообщений: 68
22.10.2013, 12:06  [ТС]     Переделать с паскаля на с++ #5
спасибо что не помогли

Добавлено через 29 секунд
наберусь литературы сам решу как нибудь
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5547 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
22.10.2013, 12:13     Переделать с паскаля на с++ #6
Цитата Сообщение от Жасулан Посмотреть сообщение
наберусь литературы сам решу как нибудь
Вот это другой подход! Именно в этом наша и цель. Желаю удачи.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,399
22.10.2013, 12:15     Переделать с паскаля на с++ #7
Я всегда думал что эксперты занимаются серьезными задачами, а они оказывается годны лишь код с паскаля переводить. Надо бы паскаль поучить, сразу экспертом стану в С++.

Цитата Сообщение от Жасулан Посмотреть сообщение
наберусь литературы сам решу как нибудь
пожалуй самая неоценимая помощь форума в вашем развитии
Советую начать с Дейтелов, "Как программировать на С++"
Жасулан
1 / 1 / 0
Регистрация: 22.10.2013
Сообщений: 68
23.10.2013, 07:19  [ТС]     Переделать с паскаля на с++ #8
спасибо мистер Глюк!) надеюсь в процессе учебы у меня не будет всяких глюков,явление сатаны и тому подобных пакранормальных явлении...
Folko
 Аватар для Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
23.10.2013, 08:14     Переделать с паскаля на с++ #9
Жасулан, не обижайтеь, но это форум добровольной помощи. Есть раздел фриланса, там бы вам за небольшую плату сделали все в лучшем виде. Уверен, если бы вы нам выложили недопереведенную программу на с++ и попросили помочь с окончательным переводом, вам бы помогли гораздо охотнее. Это намек на будущие вопросы) успехов в освоении с++!
p.s. и дублировать темы тоже не гуд)
Жасулан
1 / 1 / 0
Регистрация: 22.10.2013
Сообщений: 68
23.10.2013, 08:19  [ТС]     Переделать с паскаля на с++ #10


Добавлено через 2 минуты
вот это по человечески!!!)) а каую литературу вы бы посоветовали бы мне?

Добавлено через 25 секунд
желательно в электронном виде
Folko
 Аватар для Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
23.10.2013, 08:22     Переделать с паскаля на с++ #11
Жасулан, я бы статьи в интернете посоветовал. Хотите о чем то узнать, например про работу со строками, забиваете в поиск и находите подходящий контент. И насчет ответов на форуме - кликайте на ник пользователя, которому хотите ответить, и его ник в тегах появится в сообщении. Так гораздо удобнее, потому что он увидит у себя оповещение)
Жасулан
1 / 1 / 0
Регистрация: 22.10.2013
Сообщений: 68
23.10.2013, 08:28  [ТС]     Переделать с паскаля на с++ #12
Folko, нет интернет не вариант потому что большинство времени я провожу без интернета... лучше книга
Folko
 Аватар для Folko
265 / 253 / 7
Регистрация: 27.09.2013
Сообщений: 877
Записей в блоге: 1
23.10.2013, 08:39     Переделать с паскаля на с++ #13
Жасулан, тогда вопрос не ко мне) могу только посоветовать например вот такую ссылку. Ознакомьтесь
[cut]
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5547 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
23.10.2013, 09:24     Переделать с паскаля на с++ #14
Жасулан, вот здесь представлен целый перечень прекрасной литературы по C++, упорядоченный по категориям: Литература C++

Добавлено через 666 минут
Цитата Сообщение от Жасулан Посмотреть сообщение
перепишите программу tree ,но без оператора go to
Цитата Сообщение от Жасулан Посмотреть сообщение
организуйте цикл while по переменной s.
Машинный перевод:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void tree (int *a, int n)
{
  a[1][3] = 0; a[1][4] = 0; a[1][5] = 0;
  for(int i=2; i<n; i++)
    {
    k = 1;
    while( sп‚№0 )
      {
      if( a[i][1] < a[k][1] )
        j = 3;
      else 
        j = 4;
      s = a[k][j];
 
      k = s;
      }
    a[k][j] = i; a[i][3] = 0; a[i][4] = 0; a[i][5] = k;
    }
}
Но без контекста непонятно откуда берутся коэффициенты и чего вообще происходит.
Особенно непонятно что такое
Код
s0
Так что запустить эту хреновину у меня не получится. Это к разговору про
Цитата Сообщение от Жасулан Посмотреть сообщение
Выполните вычислительный эксперимент со случайными данными.
Далее.
Цитата Сообщение от Жасулан Посмотреть сообщение
Ответьте на вопросы: что означает, что переменная j приняла значение j=3 или j=4 ?
Это значит, что переменная с именем j содержит в себе цифру три или цифру четыре. Соответственно, если в любом последующем месте программы обратиться к этой переменной, то ее имя заменится содержащимся в ней значением.

Цитата Сообщение от Жасулан Посмотреть сообщение
что означает ,что переменная s=0 ?
То же, что и с j, только ноль.

Не по теме:

Цитата Сообщение от Жасулан Посмотреть сообщение
если есть светлые головы
Я темная.

Жасулан
1 / 1 / 0
Регистрация: 22.10.2013
Сообщений: 68
23.10.2013, 10:08  [ТС]     Переделать с паскаля на с++ #15
даааааа.... понимаю я сам задал не корректный вопрос за что и извиняюсь и прошу прощения у мистера САТАНА...

в общем нам дали задание точнее отрывок из программы и эта программа должна построить бинарное дерево для данного массива, так как я новичок я и написал задание как есть,поискав в интернете я нашел данную программу но на паскале но там вычисляется несколько алгоритмов и мне нужен только алгоритм "трееЭ,если вы можете помочь то я могу выложить этот полный код
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5547 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
23.10.2013, 10:18     Переделать с паскаля на с++ #16
Ага. Итак.
Цитата Сообщение от Жасулан Посмотреть сообщение
программа должна построить бинарное дерево
таких примеров на C++ по форуму много. Вот воспользуйтесь поиском, обязательно найдете себе по вкусу - Поиск по форуму. Может даже не придется ничего переделывать.
Цитата Сообщение от Жасулан Посмотреть сообщение
я нашел данную программу но на паскале но там вычисляется несколько алгоритмов и мне нужен только алгоритм "трееЭ,если вы можете помочь то я могу выложить этот полный код
Выкладывайте конечно. Что-то выбросить обычно легче, чем что-то дописать. )
Жасулан
1 / 1 / 0
Регистрация: 22.10.2013
Сообщений: 68
23.10.2013, 10:42  [ТС]     Переделать с паскаля на с++ #17
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
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
Program Fariza_Kurs;
 
uses crt;
 
type
 
mas= array [1..1024] of integer;
 
mas2= array [1..1024, 1..5] of integer;
 
var n,i,j,x: integer;
 
a: mas;
 
b,b1: mas2;
 
f, f1: text;
 
Procedure Vvod(n: integer; Var a: mas);
 
var i: integer;
 
begin
 
if n<=16 then
 
begin
 
writeln(Vvedite elementy massiva);
 
for i:=1 to n do read(A[i]);
 
end
 
else
 
for i:=1 to n do
 
A[i]:=random(1000);
 
writeln(f,Ishodnii masssiv);
 
for i:=1 to n do write(f,a[i]:4);
 
end;
 
Procedure Vivod(n: integer; a: mas);
 
var i: integer;
 
begin
 
for i:=1 to n do write(a[i], );
 
end;
 
{zapis v fail}
 
Procedure Save_To_File(var f:text; n: integer; a: mas; m:integer);
 
var i1: integer;
 
begin
 
if n<=16 then
 
begin
 
writeln(f,m,-yi shag:);
 
for i1:=1 to n do
 
write(f,A[i1]:4);
 
writeln(f);
 
end;
 
if (n>16) and (m mod 10=0) then
 
begin
 
writeln(f,m,-yi shag:);
 
for i1:=1 to n do
 
write(f,A[i1]:4);
 
writeln(f);
 
end;
 
end;
 
{metod lineinogo poiska}
 
Procedure Lin_Poisk(n: integer; a: mas; x: integer);
 
var i,k: integer;
 
begin
 
writeln(Metod lineinogo poiska:);
 
k:=0;
 
for i:=1 to n do
 
if a[i]=x then begin k:=i; break;
 
end;
 
if k<>0 then Writeln(Element naiden. Sravnenii - ,k)
 
else writeln(Element ne naiden);
 
end;
 
{========metod dvoichnogo poiska ================}
 
procedure Dv_Poisk(n:integer;a:mas; x:integer);
 
var k,ni,vi, sri:integer;
 
f:boolean;
 
begin
 
writeln(Metod dvoichnogo poiska:);
 
vi:=N;
 
ni:=1;
 
k:=0;
 
f:=FALSE;
 
repeat
 
sri:=( (ni+vi) div 2);
 
k:=k+1;
 
if a[sri] = X then f:=TRUE
 
else if X > a[sri] then ni:=sri else vi:=sri;
 
until (k>trunc(ln(n)/ln(2))) or (f=true);
 
if f=true then writeln(Element naiden, Index= , sri,. Sravnenii ,k)
 
else writeln(Element ne naiden);
 
end;
 
{predstavlenie massiva A v vide dereva}
 
Procedure Tree(a:mas; n: integer; var b: mas2 );
 
label l;
 
var i,j,s,k: integer;
 
begin
 
b[1,3]:=0;
 
b[1,4]:=0;
 
b[1,5]:=0;
 
for i:=1 to n do begin
 
b[i,1]:=a[i];
 
b[i,2]:=a[i];
 
end;
 
for i:=2 to n do
 
begin
 
k:=1;
 
l: if b[i,1]<b[k,1] then j:=3 else j:=4;
 
s:=b[k,j];
 
if s<>0 then begin
 
k:=s;
 
goto l;
 
end;
 
b[k,j]:=i;
 
b[i,3]:=0;
 
b[i,4]:=0;
 
b[i,5]:=k;
 
end;
 
end;
 
{sortirovka derevom}
 
procedure Tree_Sort(b: mas2; var b1: mas2; n: integer);
 
label l1,l2,l3;
 
var k,m,i1: integer;
 
begin m:=0;
 
for i:=1 to n do
 
for j:=1 to 5 do
 
b1[i,j]:=b[i,j];
 
i:=1;
 
k:=0;
 
l1:
 
if b[i,3]<>0 then
 
begin
 
i:= b[i,3];
 
goto ll;
 
end;
 
m:=m+1;
 
for i1:=1 to n do A[i1]:=b1[i1,1];
 
savetofile(f1,n,a,m);
 
l2:
 
k:=k+1;
 
b1[k,1]:=b[i,1];
 
b1[k,2]:=b[i,2];
 
if b[i,4]<>0 then
 
begin
 
i:=b[i,4];
 
goto ll;
 
end;
 
m:=m+1;
 
for i1:=1 to n do A[i1]:=b1[i1,1];
 
savetofile(f1,n,a,m);
 
l3:
 
j:=i;
 
i:=b[i,5];
 
if i<>0 then
 
begin
 
if b[i,1]> b[j,1] then goto lm else goto ln;
 
end;
 
m:=m+1;
 
for i1:=1 to n do A[i1]:=b1[i1,1];
 
savetofile(f1,n,a,m);
 
writeln(Otsortirovanii massiv);
 
Vivod(n,a);
 
readln;
 
writeln(Kolichestvo perestanovok=,m);
 
end;
 
BEGIN
 
writeln( VVedite 4islo elementov massiva N<=1024);
 
readln(n);
 
assign (f, d:\dan.txt);
 
rewrite(f);
 
Vvod(n,a);
 
close(f);
 
writeln(Ishodnii massiv:);
 
Vivod(n,a);
 
{====================lineinii poisk===============}
 
writeln;
 
writeln(Vvedite element dla poiska);
 
readln(x);
 
LinPoisk(n,a,x);
 
{========sortirovka============}
 
assign (f1, d:\res.txt);
 
rewrite(f1);
 
tree(a,n,b);
 
Treesort(b,b1,n);
 
writeln(f1, Otsortirovannyi massiv:);
 
for i:=1 to n do write(f1, A[i]:4);
 
close(f1);
 
{========dvoichnii poisk===========}
 
DvPoisk(n,a,x);
 
end.
Folko
23.10.2013, 10:48
  #18

Не по теме:

SatanaXIII, побуду занудой, но в правилах есть "Не отсылайте других пользователей в поиск и избегайте ссылок на поисковые системы (Google, Yandex и др.).". Выкладывайте сразу найденные результаты

Жасулан
1 / 1 / 0
Регистрация: 22.10.2013
Сообщений: 68
23.10.2013, 11:44  [ТС]     Переделать с паскаля на с++ #19
SatanaXIII, на этом все?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.10.2013, 12:12     Переделать с паскаля на с++
Еще ссылки по теме:

Переделать с Паскаля на С++ C++
Как переделать код из паскаля в с++ C++
C++ Переделать код программы с паскаля на с++

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

Или воспользуйтесь поиском по форуму:
Жанерке
 Аватар для Жанерке
34 / 34 / 2
Регистрация: 22.09.2013
Сообщений: 170
23.10.2013, 12:12     Переделать с паскаля на с++ #20
я лично читала эти книги
и даж хорошо помогли ))


конешно builder но все ж
Вложения
Тип файла: pdf Builder_1.pdf (993.3 Кб, 4 просмотров)
Тип файла: pdf Builder_2.pdf (654.7 Кб, 2 просмотров)
Yandex
Объявления
23.10.2013, 12:12     Переделать с паскаля на с++
Ответ Создать тему
Опции темы

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