Написать функцию с параметрами, обеспечивающую перестановку 2-ух задан-ных строк матрицы.
Написать функцию с параметрами, обеспечивающую перестановку двух задан-
ных строк матрицы. Паскаль
Карина Роженская
наверное многие до сих пор посиживают на турбопаскале.
Олег Кильдишев
Замкнутый круг выходит. Тем кому занимательно программить - небудет прописывать каждый чих, когда есть возможность сходу делать что-то занимательное. А тем кому неинтересно - то тем более вникать не будет. Грустно.
Леша
Расписал все досконально, как когда-то в школе :) Но конечно во всех языках на которых работал - везде есть полный набор способов работы с массивами\
Вадим Ахыев
универсальности окончательно-же нет. Только алгоритм и "сахар" для приятного представления
1 ответ
Юрий Англичанов
процедуру с параметрами, обеспечивающую перестановку 2-ух данных строк матрицы
написан на PascalABC.NET
но обязано работать в TurboPascal
PROGRAM A5;
const
rows = 5;
cols = 8;
type
matrix = array [1..rows,1..cols] of integer;
var
AR : matrix;// рабочая матрица
i,j:byte;// счетчики
k1,k2:byte;// номера строк
// размен строк матрицы местами
procedure SwapRows(row1:byte; row2:byte; var m:matrix);
var i,j:byte;
ax:integer;
begin
for i:=1 to cols do begin
ax := m[row1,i];
m[row1,i] := m[row2,i];
m[row2,i] := ax;
end;
end;
// выравнивание по правому краю - пробелы перед числом
function trailSpace(num:byte; len:byte):string;
var s:string;
i:byte;
begin
s := ''+num;
i := s.Length;
while (ilt;len) do begin
s := ' ' + s;
i := i+1;
end;
trailSpace := s;
end;
// вывод матрицы на экран
procedure displayMatrix(var m:matrix);
var i,j:byte;
begin
for i:=1 to rows do begin
write('Строчка ', i, ': ');
for j:=1 to cols do begin
write();
write(trailSpace(AR[i,j], 4) );
end;
writeln(' ');
end;
end;
BEGIN
// наполнение массива и вывод его на экран
randomize();
for i:=1 to rows do
for j:=1 to cols do
AR[i,j] := random(256);
writeln('Начальный массив');
displayMatrix(AR);
// ввод данных
writeln(' ');
write('введите номер строк которые следует поменять местами: ');
readln(k1, k2);
if (k1lt;=rows) and (k2lt;=rows) then begin
SwapRows(k1, k2, AR);
writeln('Итог');
displayMatrix(AR);
end else
writeln('Номера строк должны быть меньше ', rows);
END.
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
Облако тегов