0 / 0 / 1
Регистрация: 23.10.2013
Сообщений: 50

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

17.03.2014, 16:46. Показов 1406. Ответов 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)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.03.2014, 16:46
Ответы с готовыми решениями:

перевод из С в паскаль.
есть код в с++, его надо в паскаль переделать, а мне паскаль как-то уж очень чужой... помогите, пожалуйста. #include &lt;iostream.h&gt; ...

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

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

4
CAPITAL OF ROCK!
 Аватар для JokeR.BY
1281 / 708 / 982
Регистрация: 03.03.2010
Сообщений: 2,286
17.03.2014, 19:40
Лучший ответ Сообщение было отмечено 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  [ТС]
а можешь дописать ввод из файла и вывод в файл к этой программе? пожалуйста
0
CAPITAL OF ROCK!
 Аватар для JokeR.BY
1281 / 708 / 982
Регистрация: 03.03.2010
Сообщений: 2,286
18.03.2014, 00:08
Цитата Сообщение от Pringls Посмотреть сообщение
ввод из файла и вывод в файл
что именно из файла вводится, что именно выводится в файл?
0
0 / 0 / 1
Регистрация: 23.10.2013
Сообщений: 50
18.03.2014, 19:50  [ТС]
из файла вводится размерность матрицы, расширенная матрица, кол-во итераций, а выводится ответ,
и еще вопрос можно чтобы программа сама выводила за сколько итераций получен ответ
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.03.2014, 19:50
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
RabbitMQ как шина данных в интеграционных решениях на C# (с MassTransit)
stackOverflow 18.04.2025
Современный бизнес опирается на множество специализированных программных систем, каждая из которых заточена под решение конкретных задач. CRM управляет отношениями с клиентами, ERP контролирует. . .
Типы в TypeScript
run.dev 18.04.2025
TypeScript представляет собой мощное расширение JavaScript, которое добавляет статическую типизацию в этот динамический язык. В JavaScript, где переменная может свободно менять тип в процессе. . .
Погружение в Kafka: Концепции и примеры на C# с ASP.NET Core
stackOverflow 18.04.2025
Apache Kafka изменила подход к обработке данных в распределенных системах. Эта платформа потоковой передачи данных выходит далеко за рамки обычной шины сообщений, предлагая мощные возможности,. . .
Коммуникация в реальном времени с SignalR в C# на примере создания чата
UnmanagedCoder 17.04.2025
Современный веб стремительно эволюционирует от статичных страниц к динамичным приложениям, где пользователи ожидают мгновенной реакции на свои действия. Представим, что вы отправляете сообщение. . .
Реализация CQRS с MediatR на C# .NET
stackOverflow 17.04.2025
Современная разработка программного обеспечения постоянно ищет пути повышения эффективности организации кода. Архитектурные паттерны появляются, эволюционируют, и те, что проявляют свою. . .
Verilog и интеллектуальная собственность - "глазами" обученной LM модели.
Hrethgir 17.04.2025
В сети встречаются участники, заявляющие что код на Verilog ни о чём не говорит. Но вот патентная практика на самом деле показывает обратное ими утверждаемому. То-есть код на Verilog включают в. . .
Свап-файл дополнительно к разделу (если вдруг не хватает или не создан)
jigi33 17.04.2025
ПОДКЛЮЧЕНИЕ ДОПОЛНИТЕЛЬНОГО SWAP ПРОСТРАНСТВА, Т. О. , РАСШИРЕНИЕ ЕГО РАЗМЕРА В Linux можно использовать как раздел подкачки (swap), так и файл подкачки (swap-файл). Чтобы создать swap-файл вместо. . .
Указатели в Swift: Небезопасные, буферные, необработанные и управляемые указатели
mobDevWorks 16.04.2025
Указатели относятся к наиболее сложным и мощным инструментам языка Swift. В своей сути указатель — это переменная, которая хранит адрес участка памяти, где расположены данные, а не сами данные. . . .
Жизненный цикл HTTP-запросов в ASP.NET Core MVC
UnmanagedCoder 16.04.2025
Разработка веб-приложений на ASP. NET MVC часто выглядит как простой процесс: получили запрос, обработали его в контроллере, отрендерили представление и отправили ответ пользователю. Однако за этой. . .
Введение в Django: Создаём приложение портфолио
py-thonny 16.04.2025
Django – один из самых мощных веб-фреймворков на Python, который позволяет быстро создавать сложные веб-приложения. В отличие от других фреймворков, Django предоставляет богатый набор встроенных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru