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

Помогите, пожалуйста, перевести код с Паскаля на С++ - C++

Восстановить пароль Регистрация
 
AlexNY
Сообщений: n/a
12.04.2012, 12:56     Помогите, пожалуйста, перевести код с Паскаля на С++ #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
152
153
154
155
156
157
158
159
160
161
162
163
program Virazhenie;
//uses crt;
type
  tmatr = array[1..4, 1..3] of real;
 
var
  F, Q, A1, A2, A3, A4, A5, x, y, z, x1: real;
  i, j: integer;
  g: boolean;
  a, b, c, d: array [1..4] of real;
  matr: tmatr;
  matr1: array[1..5] of real;
  rez: array[1..4, 1..4] of string;
  str1: string;
 
procedure vvod(var b: boolean);
var
  f: text;
  s, s1, s2: string;
  err1, err2, err, i: integer;
begin
  assign(f, 'input.txt');
  if FileExists('input.txt') then begin
    reset(f);
    b := true;
    i := 1;
    while b and not seekeof(f) and (i <= 5) do 
    begin
      readln(f, s1);
      readln(f, s);
      val(s, matr1[i], err);
      b := (err = 0);
      inc(i);
    end;
    if not b then 
    begin
      writeln('Некорректные данные');
    end   
    else begin
      readln(f, s);
      readln(f, s1);
      val(s1, x, err);
      b := (err = 0);
      if b then begin
        i := 1;
        while not seekeof(f) and b and (i <= 4) do 
        begin
          readln(f, s);
          readln(f, s1);
          val(s1, a[i], err);
          b := (err = 0);  
          inc(i);
        end;
        i := 1;
        while not seekeof(f) and b and (i <= 4) do 
        begin
          readln(f, s);
          readln(f, s1); 
          val(s1, matr[i, 1], err);
          b := (err = 0);
          readln(f, s1);
          val(s1, matr[i, 2], err1);
          readln(f, s1);
          val(s1, matr[i, 3], err2);
          b := ((err = 0) and (err1 = 0) and (err2 = 0));
          inc(i);
        end;
      end
                              else 
      begin
        writeln('Некорректные данные');
      end;        
      if not b then 
      begin
        writeln('Некорректные данные');
      end;        
    end; 
    close(f);
  end
    else 
  begin
    writeln('Такого файла не существует');
  end;         
end;
 
function primer(y, z: real): real;
begin
  F := (sqrt(Q) + sin(z / 180 * pi) / cos(z / 180 * pi)) * (cos(y * y) / sin(y * y) - exp(sin(z / 180 * pi) / cos(z / 180 * pi)));
end;
 
procedure vivod;
var
  i, j: integer;
  f: text;
begin
  assign(f, 'output.txt');
  rewrite(f);
  writeln('                Таблица результатов':44);
  writeln('-----------------------------------------------------------------------------');
  writeln('|':5, 'z1':10, '|':8, 'z2':10, '|':8, 'z3':10, '|':8, 'z4':10, '|':8);
  writeln('----|-----------------|-----------------|-----------------|-----------------|');
  for i := 1 to 4 do 
  begin
    write('y':2, i, ' |');
    for j := 1 to 4 do
      write(rez[i, j]:14, '|':4);
    writeln;
    write('----|-----------------|-----------------|-----------------|-----------------|');
    writeln;
  end;     
  writeln(f, '                Таблица результатов':44);
  writeln(f, '-----------------------------------------------------------------------------');
  writeln(f, '|':5, 'z1':10, '|':8, 'z2':10, '|':8, 'z3':10, '|':8, 'z4':10, '|':8);
  writeln(f, '----|-----------------|-----------------|-----------------|-----------------|');
  for i := 1 to 4 do 
  begin
    write(f, 'y':2, i, ' |');
    for j := 1 to 4 do
      write(f, rez[i, j]:14, '|':4);
    writeln(f);
    write(f, '----|-----------------|-----------------|-----------------|-----------------|');
    writeln(f);
  end;
  close(f);
end;
 
begin
  vvod(g);
  if g then begin
    for i := 1 to 4 do 
      for j := 3 downto 2 do 
        if matr[i, j] >= 60 then begin
          matr[i, j] := matr[i, j] - 60;
          matr[i, j - 1] := matr[i, j - 1] + 1;
        end;
    x1 := 1;
    for i := 1 to 5 do 
    begin
      q := q + matr1[i] * x1;
      x1 := x1 * x
    end;
    for i := 1 to 4 do
      matr[i, 1] := matr[i, 1] + matr[i, 2] / 60 + matr[i, 3] / 3600;
    for i := 1 to 4 do
      for j := 1 to 4 do
      begin
        y := a[i];
        z := matr[j, 1];
        if sin(y) <> 0 then
          if cos(z / 180 * pi) > 0.00000000000001 then
            if Q >= 0 then begin
              primer(y, z);
              str(f, str1);
              rez[i, j] := copy(str1, 1, pos('.', str1) + 5);                                                                   
            end 
            else rez[i, j] := 'решений нет'    
          else rez[i, j] := ' решений нет'
        else rez[i, j] := 'решений нет';
      end;
    vivod;
  end;
  readln;
end.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2012, 12:56     Помогите, пожалуйста, перевести код с Паскаля на С++
Посмотрите здесь:

C++ Перевести код с Паскаля на С++
C++ Перевести код паскаля в с++
Перевести код программы Паскаля в код С++ C++
C++ помогите перевести программу с паскаля на С++
C++ Перевести код с паскаля на C++
C++ Перевести код из Паскаля в С++
C++ Перевести код с Паскаля на С++
Необходимо перевести код с паскаля на С++ C++

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

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

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