Консультация № 195620
15.05.2019, 17:08
0.00 руб.
0 3 1
Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос: Написать программу в Pascal ABC
Описать процедуру SwapRow(A,M,N,K1,K2),осуществляющую перемену местами строк вещественной матрицы A размера M на N с номерами K1 и K2.Матрица A является входным и выходным параметром;если K1 или К2 больше М,то матрица не изменяется.Используя эту процедуру,упорядочить строки матрицы А по возрастанию 1-го элемента строки.

Обсуждение

давно
Студент
402651
154
15.05.2019, 17:59
общий
16.05.2019, 09:13
это ответ
Здравствуйте, tanya.hryanina!
Вот код:
[code lang=pascal h=300]uses crt;
type
matrix = array[1..100, 1..100] of real;//вещественный тип

var
a: matrix;
i, j, m, n, max: byte;

procedure SwapRow(m, n, k1, k2: byte; var a: matrix);// сома процедура
var
j: byte;
sub: real;
begin
for j := 1 to n do
begin
sub := a[k1, j];
a[k1, j] := a[k2, j];
a[k2, j] := sub;
end;
end;

procedure ToPrint(m, n: byte; a: matrix);
var
i, j: byte;
begin
for i := 1 to m do
begin
for j := 1 to n do write(a[i, j]:6:1);
writeln;
end;
writeln;
end;

begin
clrscr;
write('M: ');
readln(m);
write('N: ');
readln(n);
for i := 1 to m do
for j := 1 to n do
a[i, j] := random(101) - 50.0 + random(10) div 10;
ToPrint(m, n, a);
for i := m downto 2 do
begin
max := 1;
for j := 2 to i do
if a[j, 1] > a[max, 1] then max := j;
SwapRow(m, n, max, i, a);
end;
ToPrint(m, n, a);
readkey
end.[/code]

Ну, как - то так...
3
давно
Старший Модератор
31795
6196
16.05.2019, 09:35
общий
Адресаты:
Супер!
Два замечания:
1)Обратите внимание:
Цитата: chernov_m99
SwapRow(A,M,N,K1,K2)

и
Цитата: Gluck
SwapRow(m, n, k1, k2: byte; var a: matrix)

Это две большие разницы.

2)Пользуйтесь тегом CODE
, выбираете ЯВУ и размер отображаемого кода, вставляете код и добавляете его в ответ.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Старший Модератор
31795
6196
16.05.2019, 11:51
общий
Адресаты:
Цитата: Gluck
Это Паскаль...
И, Вы - не в JAVA, C++, PARI, GO и т.д.

Спасибо, что на помнили мне, что я администрирую.
Создание программ на языках Pascal, Delphi и Lazarus.
[администратор рассылки: Зенченко Константин Николаевич (Старший модератор)]

Нажав на кнопку с двумя А, в фигурных скобках, Вы получаете следующее.
Прикрепленные файлы:
ebf1495be0710d657f43b41f459e1779.jpg
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Форма ответа