Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2010, 17:57   #1
Pascaler
Пользователь
 
Регистрация: 08.04.2010
Сообщений: 45
По умолчанию Нужен перевод с паскаля в фортран.

Нужно написать программу, написанную в Паскале, на Fortrane
Дело в том, что я Фортран вообще не изучал, решил обратиться к вам.
Код:
program proga;
type arr = array [1..10,1..10] of integer;
var a:arr; {исходный массив}
j,i,m,n:integer;
min: integer; {номер строки с минимальным приращением}
max: integer; {номер строки с максимальным приращением}
procedure readmatr(var a:arr);
var j,i:integer;
f: text;
begin
assign (f, 'c:\1.txt');
reset(f);
for i:=1 to n do begin
for j:=1 to m do begin
read(f,a[i,j]);
end;
end;
close(f);
end;
procedure vichmin(a:arr; var min:integer);
var jj,i,g,t:integer;
x: array[1..10] of integer;
k:array[1..10] of integer;
begin
{вычисление значения приращения}
for i:=1 to n do begin
for j:=1 to m-1 do begin
x[j]:=a[i,j]-a[i,j+1];
end;
for jj:=1 to m-2 do begin
if x[jj]<x[jj+1] then
t:=x[jj]
else
t:=x[jj+1]
end;
 
{запись значения приращения в массив}
k[i]:=k[i]+t;
end;
{нахождение и вывод минимального значения приращения}
for i:=1 to n-1 do begin
if k[i]<k[i+1] then
min:=i
else
min:=i+1
end;
writeln ('минимальное значение приращения в строке №:',min);
for i:=1 to n do begin
write(a[min,i],' ')
end;
end;
 
procedure vichmax(a:arr; var max:integer);
var ii,i,g,t:integer;
x: array[1..10] of integer;
o:array[1..10]of integer; {массив с значениями максимального приращения каждой строки}
begin
{вычисление значения приращения}
for i:=1 to n do begin
for j:=1 to m-1 do begin
x[j]:=a[i,j]-a[i,j+1];
end;
for ii:=1 to m-2 do begin
if x[ii]>x[ii+1] then
t:=x[ii]
else
t:=x[ii+1]
end;
{запись наибольшего значения приращения в массив}
o[i]:=o[i]+t;
end;
{нахождение и вывод максимального значения приращения}
for i:=1 to n-1 do begin
if o[i]>o[i+1] then
max:=i
else
max:=i+1
end;
writeln ('максимального значение приращения в строке №:',max);
for i:=1 to n do begin
write(a[max,i],' ')
end;
end;
begin
writeln ('введите кол-во строк');
readln(n) ;
writeln ('введите кол-во столбцов');
readln(m);
readmatr(a);
vichmin(a,min);
writeln;
vichmax(a,max);
end.
Pascaler вне форума Ответить с цитированием
Старый 04.06.2010, 19:32   #2
Pascaler
Пользователь
 
Регистрация: 08.04.2010
Сообщений: 45
По умолчанию

Тут никто фортран не знает чтоли?
Pascaler вне форума Ответить с цитированием
Старый 04.06.2010, 20:34   #3
Serebro
FORTRAN programmer
Форумчанин
 
Регистрация: 08.12.2009
Сообщений: 153
По умолчанию

Цитата:
Сообщение от Pascaler Посмотреть сообщение
Тут никто фортран не знает чтоли?
Намного проще было бы написать, что требуется, чем разбираться в коде программы.
Serebro вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод с Паскаля на Дельфи!. HAMMAN Помощь студентам 10 18.01.2012 11:20
Перевод с Паскаля на С RamilFaz Общие вопросы C/C++ 3 08.04.2010 14:40
Перевод из Паскаля в Дельфи eldarik Помощь студентам 8 18.01.2010 19:29
Перевод с Паскаля на С++ MrJenika Помощь студентам 2 20.11.2009 20:42
Перевод из Паскаля в Делфи Родион Общие вопросы Delphi 2 28.08.2008 16:52