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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Пошаговые инструкции для решения поставленных задач. Нужен общий алгоритм. http://www.cyberforum.ru/cpp-beginners/thread545906.html
Пошаговые инструкции для решения поставленных задач. Онлайн сервис. Проект пока открытый. На добровольных началах. Интересует создание веб клиента или серверное приложение по автоматическому созданию пошаговых инструкций и рекомендаций, алгоритма действия для решения поставленной задачи. Нужна команда для создания такого сервиса. Приглашаю заинтересованных принять участие в проекте. С...
C++ Builder Проверить, все ли элементы столбца матрицы нулевые Задана матрица размером NxM. Получить массив B, присвоив его k-му элементу значение 0, если все элементы k-го столбца матрицы нулевые, и значение 1 в противном случае. //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1mass.h" //--------------------------------------------------------------------------- #pragma... http://www.cyberforum.ru/cpp-beginners/thread545904.html
Вывести на экран символами трегольник, указанной высоты C++
Помогите пожалуйста решить задачу по программированию.Пустой прямоугольный треугольник. Размер катетов – n.
C++ Нужна помощь в структуре поезд!
В файле содержится информация о железнодорожном расписании (номер поезда, время прибытия на станция, время отправления название станции ). Разработать структуру поезд, соответствующую формата файла. Создать массив структур. Найти поезда проходящий через макс число станций. Помогите сделать!
C++ Чтение из файла в символьный массив, изменение и запись массива в файл http://www.cyberforum.ru/cpp-beginners/thread545899.html
Есть файл input.txt ---------- Vanya Misha Kolya ... Sasha Должно получиться такое
C++ Генератор случайных чисел,классы памяти Написать программу бросания игральной кости с применением генератора случайных чисел (функция rand( ) ) подробнее

Показать сообщение отдельно
AlexNY
Сообщений: n/a
12.04.2012, 12:56     Помогите, пожалуйста, перевести код с Паскаля на С++
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.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru