Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 1
Регистрация: 23.10.2013
Сообщений: 50
1

Перевод из С++ в Паскаль

17.03.2014, 16:46. Показов 1346. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, помогите перевести из С++ с Паскаль
C++
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
#include<iostream.h>
#include<math.h>
 
int maximal(int n,double R0[]);
 
void main(){
int i,j,n,f,k,iter;
double S,det;
cout<<"Введите размерность матрицы(матрица должна быть квадратной)= ";cin>>n;
double *x=new double [n];
double **b=new double *[n];
for(i=0;i<n;i++)
  b[i]=new double[n+1];
double **a=new double *[n];
for(i=0;i<n;i++)
  a[i]=new double[n+1];
cout<<"Введите количество итераций:";
cin>>iter;
cout<<"Введите расширенную матрицу:\n";
for(i=0;i<n;i++){
    for(j=0;j<=n;j++)
        cin>>b[i][j];
}
cout<<"Подготавливаю матрицу к релаксации...\n";
for(i=0;i<n;i++){
    for(j=0;j<n;j++)
      a[i][j]=-b[i][j]/b[i][i];
    a[i][n]=b[i][n]/b[i][i];
}
for(i=0;i<n;i++){
    for(j=0;j<n+1;j++)
        cout<<"  "<<a[i][j]<<" || ";
cout<<"\n";
}
double *x0=new double [n];
for(i=0;i<n;i++)
  x[i]=0.0;
double *R0=new double [n];
cout<<"Введите значения начальных приближений:\n";
for(i=0;i<n;i++)
    cin>>x0[i];
S=0.0;
for(i=0;i<n;i++){
    for(j=0;j<n;j++)
      S=S+a[i][j]*x0[i];
}
for(i=0;i<n;i++){
    R0[i]=a[i][n]-x0[i]+S;
    cout<<"R("<<i<<")="<<R0[i]<<" | ";
}
f=maximal(n,R0);
det=R0[f];
for(k=0;k<iter;k++){
cout<<"det{"<<k<<"}="<<det<<"\n";
 for(i=0;i<n;i++){
    if(i!=f) R0[i]=R0[i]+a[i][f]*det;
     else R0[i]=R0[i]-det;
 }
 for(i=0;i<n;i++)
        cout<<"R["<<i+1<<"]="<<R0[i]<<"    ";
x[f]=x[f]+det;
f=maximal(n,R0);
det=R0[f];
}
cout<<"\n";
for(i=0;i<n;i++)
  cout<<"X{"<<i+1<<"}="<<x[i]<<"\n";
delete []x;
delete []R0;
delete []x0;
delete []a;
}
 
int maximal(int n,double R0[]){
int i,f;
f=0.0;
for(i=0;i<n-1;i++){
  if(R0[i+1]>R0[i]) f=i+1;
}
return f;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.03.2014, 16:46
Ответы с готовыми решениями:

перевод из С в паскаль.
есть код в с++, его надо в паскаль переделать, а мне паскаль как-то уж очень чужой... помогите,...

Перевод из с++ в паскаль
помогите пожалуйста перевести // Создать счетчики. // data-сортируемый массив, counters-массив...

Перевод с c++ на паскаль.
Всем форумчанам Добрый вечер! Начну по-порядку. Сегодня в школе к нам пришла олимпиада по...

Перевод из С++ в Паскаль
Помогите перевести в Паскаль. #include &lt;vector&gt; #include &lt;algorithm&gt;* using namespace std;...

4
CAPITAL OF ROCK!
1281 / 708 / 982
Регистрация: 03.03.2010
Сообщений: 2,286
17.03.2014, 19:40 2
Лучший ответ Сообщение было отмечено ildwine как решение

Решение

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
program parampampam;
 
uses
  crt;
const
  nmax = 255;
type
  Tmatr_od = array[0..nmax] of Double;
  Tmatr_dv = array[0..nmax, 0..nmax] of Double;
var
  i, j, n, f, k, iter : Byte;
  S, det : Double;
  a, b : Tmatr_dv;
  x0, R0, x : Tmatr_od;
function maxim(n : Byte; const mass : Tmatr_od):Byte;
var
  ii, index : Byte;
begin
  index := 0;
  for ii := 0 to n do
  begin
    if (mass[ii]>mass[index]) then
      index := ii;
  end;
  maxim := index;
end;
begin
  clrscr;
  Write('Введите размерность матрицы (матрица должна быть квадратной) = '); Readln(n); Dec(n);
  Write('Введите количество итераций = '); Readln(iter);
  Writeln('Введите расширенную матрицу');
  for i := 0 to n do
    begin
      x[i] := 0;
      for j := 0 to n do
      begin
        Write('b[', i+1, '][', j+1, ']: '); Readln(b[i, j]);
      end;
    end;
  for i := 0 to  n do
    for j := 0 to  n do
    begin
      a[i, j] := - b[i, j] / b[i, i];
      a[i, n] := b[i, n] / b[i, i];
    end;
  for i := 0 to  n do
    for j := 0 to  n do
      Writeln('a[', (i+1), '][', (j+1), '] = ', a[i, j]:3:2);
  Writeln; Writeln;
  Writeln('Введите значения начальных приближений');
  for i := 0 to n do
  begin
    Write('x0[', i+1, ']: '); Readln(x0[i]);
  end;
  S := 0;
  for i := 0 to  n do
    for j := 0 to  n do
      S := S + a[i,j]*x0[i];
  Writeln; Writeln;
  for i := 0 to n do
  begin
    R0[i] := a[i, n] - x0[i] + S;
    Writeln('R0[', i+1, ']: ', R0[i]:3:3);
  end;
  f := maxim(n, R0);
  det := R0[f];
  for k := 0 to iter-1 do
  begin
    for i := 0 to n do
      begin
        if (i <> f)
        then
          R0[i] := R0[i] + a[i,f]*det
        else
          R0[i] := R0[i] - det;
        Writeln('R0[', i+1, ']: ', R0[i]:3:3);
      end;
    x[f] := x[f] + det;
    f := maxim(n, R0);
    det := R0[f];
  end;
  Writeln; Writeln;
  for i := 0 to n do
    Writeln('x[', i+1, ']: ', R0[i]:3:3);
  Readln;
end.

вроде так, хотя мог и запутаться где-то...
1
0 / 0 / 1
Регистрация: 23.10.2013
Сообщений: 50
17.03.2014, 22:25  [ТС] 3
а можешь дописать ввод из файла и вывод в файл к этой программе? пожалуйста
0
CAPITAL OF ROCK!
1281 / 708 / 982
Регистрация: 03.03.2010
Сообщений: 2,286
18.03.2014, 00:08 4
Цитата Сообщение от Pringls Посмотреть сообщение
ввод из файла и вывод в файл
что именно из файла вводится, что именно выводится в файл?
0
0 / 0 / 1
Регистрация: 23.10.2013
Сообщений: 50
18.03.2014, 19:50  [ТС] 5
из файла вводится размерность матрицы, расширенная матрица, кол-во итераций, а выводится ответ,
и еще вопрос можно чтобы программа сама выводила за сколько итераций получен ответ
0
18.03.2014, 19:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.03.2014, 19:50
Помогаю со студенческими работами здесь

Перевод с С++ в ПАскаль
ПОмогите перевести с С++: Задача по номеру месяца определяет пору года. #include &lt;iostream.h&gt;...

Перевод С на паскаль!
Есть программа на C, надо перевести на Паскаль. Помогите пожалуйста! #include &lt;stdio.h&gt; #include...

перевод в паскаль
#include &lt;iostream&gt; void main() { int n, i, j; std::cin&gt;&gt;n; //создаем матрицу int...

Перевод кода из си в паскаль
Здравствуйте.Помогите пожалуйста. Я написал программу на си,нужно этот код перевести на паскаль.Я...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru