2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Массивы. Turbo Pascal 7.0
Сообщение13.12.2013, 21:31 
Аватара пользователя
Задание:Найти элементы двумерного массива А={$a_{ij}$}, где i = 1,…,5; j = 1,…,5 по правилу $a_{ij}$ = $\frac{e^{cos(i^2j)}}{2 }$ . Упорядочить массив А по возрастанию элементов дробной части первой строки. Вывести на печать исходный и отсортированный массивы.
Моя программа:
Program 2;
Type
Matrix=array [1..5,1..5] of real;
Var
a: Matrix;
R: Real;
k,i,j: integer;
Begin
for i:=1 to 5 do
for j:=1 to 5 do
a[i,j]:=0.5*Exp(Cos(i*i*j)); {Вычисляем элементы массива}
{Печатаем массив в виде таблицы}
Writeln('Матрица A');
for i:=1 to 5 do begin
for j:=1 to 5 do
write(a[i,j]:6:3,' '); {Вывод на экран массива А}
Writeln;
end;
Writeln; {Пропуск пустой строки}
for i:=2 to 5 do
for j:= 4 downto i do
if int(a[j+1,4])<int(a[j,4]) then
for k:= 1 to 5 do {Перестановка строк}
begin R:=a[j-1,k];
a[j-1,k]:=A[j,k];
a[j,k]:=R;
end;
Writeln('Отсортированная матрица А имеет вид');
for i:=1 to 5 do
for j:=1 to 5 do begin
write(a[i,j]:6:3,' '); {Вывод на экран отсортированного массива А}
writeln;
end;
End.
То что получилось:
Изображение
Почему массив не в виде таблицы и не упорядочился?

 
 
 
 Re: Массивы. Turbo Pascal 7.0
Сообщение13.12.2013, 22:00 
Как двухмерный массив не печатается, потому что writeln у Вас стоит внутри цикла по j, а надо после него - внутри цикла по i.

 
 
 
 Re: Массивы. Turbo Pascal 7.0
Сообщение13.12.2013, 23:01 
Аватара пользователя
Все, понял, спасибо!

 
 
 [ Сообщений: 3 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group