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

Перевод готовой программы с Pascal на С++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти растояние http://www.cyberforum.ru/cpp-beginners/thread141340.html
Не могу понять с чего начать... Найти расстояние между двумя заданными множествами точек на плоскости.
C++ не работает. Функция должна выбирать из массива указателей-на-char самую большую, и вывести её на экран. Прога сообщает: cannot convert `char**' to `char*' for argument `1' to `void largest(char*, int)' void largest(char arr, int i) { int size=0; for (int k=0;i<k;k++) { if (sizeof(arr)>=size) { size=sizeof(arr); }; } for (int l=0;i<l;l++) http://www.cyberforum.ru/cpp-beginners/thread141318.html
C++ WinAPI Синхронизация потоков средствами WinAPI
В MFC для синхронизации потоков есть 3 вида объектов: критические секции, мютексы, семафоры. Первые из них - самые простые, но этого, в принципе, достаточно. А если не хочу использовать MFC, тогда как? (Надо "залочить" некоторую область адресного пространства, чтобы доступ к ней имел только текущий поток - есть ли такая возможность у WinAPI?)
C++ Доступ к защищенным данным
Возникла следующая проблема: мне необходимо обеспечить доступ к скрытым членам класса всем производным другого класса, при этом объявлять множественое наследование мне не хочется, а обьявление классов дружественными не работает на потомков.
C++ Много вопросов http://www.cyberforum.ru/cpp-beginners/thread141301.html
ребят подскажите как зделать Panel прозрачной а текст который в ней есть осталься видимым
C++ Сумма побочной диагонали помогите пожалуйста! напишите код суммы побочной диагонали в С++ подробнее

Показать сообщение отдельно
knights1989
Сообщений: n/a
05.06.2010, 20:46     Перевод готовой программы с Pascal на С++
Здравствуйте. Помогите пожалуйста перевести задачу с Pascal на С++ (вообще не понимаю этот язык)
Если что сама задача: Даны файлы f и g, компоненты которых являются целыми
числами,упорядоченные по невозрастанию. Получить в файле h все числа
файлов f и g. Файл h должен быть упорядочен по
убыванию. Результаты отображать на экране.

Вот я её на пасакле сделал.
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
uses crt,dos;
const n=10;
type
   fil=file of integer;
var
   f,g,h,h1:fil;
   x,y,i,j:integer;
 
procedure sozd;
begin
      assign(f,'c:\temp\461\f.txt');
      assign(h,'c:\temp\461\h.txt');
      assign(g,'c:\temp\461\g.txt');
      rewrite(f);rewrite(h);rewrite(g);
      for i:=1 to n do
begin
    x:=random(n);
    y:=random(n);
    write(f,x);
    write(h,x);
    write(g,y);
    write(h,y);
end;
      close(f);close(g);close(h);
end;
 
procedure printf(var f:fil);
var
   x:integer;
 
begin
   reset(f);
   while not eof(f) do
      begin
read(f,x);
write(x:4);
      end;
   close(f);
   readln;
end;
 
procedure obf(var f:fil);
var
  x,y:integer;
begin
  reset(f);
  for i:=n-1 downto 1 do
   for j:=1 to i do
      begin
seek(f,j-1);read(f,x);seek(f,j);read(f,y);
if x<y then
    begin
       seek(f,j-1);write(f,y);
       seek(f,j);write(f,x);
    end;
      end;
  close(f);
end;
 
procedure ob(var h:fil);
var
  x,y:integer;
begin
  reset(h);
  for i:=2*n-1 downto 1 do
    for j:=1 to i do
      begin
seek(h,j-1);read(h,x);seek(h,j);read(h,y);
if x<y then
    begin
       seek(h,j-1);write(h,y);
       seek(h,j);write(h,x);
    end;
      end;
  close(h);
end;
 
begin clrscr;
      randomize;
      assign(f,'a.txt');
      assign(g,'a1.txt');
      assign(h,'a2.txt');
      assign(h1,'a3.txt');
      sozd;
      obf(f);
      writeln('файл f:');
      printf(f);
      obf(g);
      writeln('файл g:');
      printf(g);
      reset(h);reset(f);reset(g); 
   while not eof(f) do
      begin
read(f,x);
write(h,x);
      end;
   while not eof(g) do
      begin
read(g,x);
write(h,x);
      end;
   close(f);close(g);close(h);
   ob(h);
   assign(h1,'c:\temp\461\h1.txt');
   rewrite(h1);reset(h);
   read(h,y);
   while not eof(h) do
      begin
read(h,x);
if x<>y then
    begin
       write(h1,x);
       y:=x;
    end;
      end;
   close(h);close(h1);
   writeln('файл h:');
   printf(h1);  
   ob(h);printf(h);
end.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru