
Домашние задания: Информатика
ИНФОРМАТИКА СРОЧНО ПСКАЛЬ!!!!!!!!!!!!!!!!!!!!

Вот работающий вариант:
Примеры:
Здесь делается проверка по неубыванию (= возрастанию).
Чтобы развернуть в обратную сторону, в двух циклах сравнение > меняем на < (остальное оставляем, как есть).
Индексация в массивах - с единицы.
program CheckOrder;
var
n, m, i, j, k, l: integer;
a: array[1..1000, 1..1000] of integer;
u, v: boolean;
begin
write('Размерность массива (не менее 2x2 и не более 1000x1000) через пробел: ');
readln(n, m);
if (n < 2) or (n > 1000) or (m < 2) or (m > 1000) then begin
writeln('Неправильная размерность массива');
exit
end;
write('Элементы массива (', n, ' строк по ', m, ' на строке через пробел: ');
for i := 1 to n do
for j := 1 to m do
read(a[i, j]);
write('Строка и столбец для проверки: ');
readln(k, l);
if (k < 1) or (k > n) or (l < 1) or (l > m) then begin
writeln('Неправильный номер строки или столбца');
exit
end;
u := true;
for j := 1 to m - 1 do begin
if u and (a[k, j] > a[k, j + 1]) then begin
writeln('Строка ', k, ' не упорядочена, индекс нарушителя: ', j + 1);
u := false
end
end;
if u then
writeln('Строка ', k, ' упорядочена');
v := true;
for i := 1 to n - 1 do begin
if v and (a[i, l] > a[i + 1, l]) then begin
writeln('Столбец ', l, ' не упорядочен, индекс нарушителя: ', i + 1);
v := false
end
end;
if v then
writeln('Столбец ', l, ' упорядочен')
end.
Примеры:
Размерность массива (не менее 2x2 и не более 1000x1000) через пробел: 2 2
Элементы массива (2 строк по 2 на строке через пробел: 1 2 4 3
Строка и столбец для проверки: 2 2
Строка 2 не упорядочена, индекс нарушителя: 2
Столбец 2 упорядочен
Размерность массива (не менее 2x2 и не более 1000x1000) через пробел: 3 4
Элементы массива (3 строк по 4 на строке через пробел: 5 6 7 8 5 6 8 8 5 6 8 7
Строка и столбец для проверки: 2 3
Строка 2 упорядочена
Столбец 3 упорядочен
Здесь делается проверка по неубыванию (= возрастанию).
Чтобы развернуть в обратную сторону, в двух циклах сравнение > меняем на < (остальное оставляем, как есть).
if u and (a[k, j] < a[k, j + 1])
if v and (a[i, l] < a[i + 1, l])
Индексация в массивах - с единицы.
не знаю работает ли это
const
N = 10;
M = 10;
var
a: array[1..N,1..M] of Integer;
i, j: Integer;
function CheckRowAscending(row: Integer): Boolean;
var
i: Integer;
begin
CheckRowAscending := true;
for i := 2 to M do
if a[row, i-1] > a[row, i] then
begin
CheckRowAscending := false;
Exit;
end;
end;
function CheckColumnDescending(column: Integer): Boolean;
var
i: Integer;
begin
CheckColumnDescending := true;
for i := 2 to N do
if a[i-1, column] < a[i, column] then
begin
CheckColumnDescending := false;
Exit;
end;
end;
begin
{initialize the array with some values}
for i := 1 to N do
for j := 1 to M do
a[i, j] := Random(10);
{check if the row is sorted in ascending order}
for i := 1 to N do
if not CheckRowAscending(i) then
begin
Writeln('Row ', i, ' is not sorted in ascending order');
Writeln('First element to break sequence is at (', i, ',', j, ')');
Exit;
end;
{check if the column is sorted in descending order}
for j := 1 to M do
if not CheckColumnDescending(j) then
begin
Writeln('Column ', j, ' is not sorted in descending order');
Writeln('First element to break sequence is at (', i, ',', j, ')');
Exit;
end;
end.
const
N = 10;
M = 10;
var
a: array[1..N,1..M] of Integer;
i, j: Integer;
function CheckRowAscending(row: Integer): Boolean;
var
i: Integer;
begin
CheckRowAscending := true;
for i := 2 to M do
if a[row, i-1] > a[row, i] then
begin
CheckRowAscending := false;
Exit;
end;
end;
function CheckColumnDescending(column: Integer): Boolean;
var
i: Integer;
begin
CheckColumnDescending := true;
for i := 2 to N do
if a[i-1, column] < a[i, column] then
begin
CheckColumnDescending := false;
Exit;
end;
end;
begin
{initialize the array with some values}
for i := 1 to N do
for j := 1 to M do
a[i, j] := Random(10);
{check if the row is sorted in ascending order}
for i := 1 to N do
if not CheckRowAscending(i) then
begin
Writeln('Row ', i, ' is not sorted in ascending order');
Writeln('First element to break sequence is at (', i, ',', j, ')');
Exit;
end;
{check if the column is sorted in descending order}
for j := 1 to M do
if not CheckColumnDescending(j) then
begin
Writeln('Column ', j, ' is not sorted in descending order');
Writeln('First element to break sequence is at (', i, ',', j, ')');
Exit;
end;
end.
Даурен С
ЭТО ЭТО К КАКОМУ А ИЛИ Б
Даурен С
а пон так это к какой задаче? тут одна программа просто, а мне надо 2
Катя Гладун
Да уж, программа... Ни массива не покажет, не ответит на вопросы.... Короче - СПАМ!!!
Похожие вопросы
- Информатика СРОЧНО!!! спасибо
- Помогите с информатикой СРОЧНО
- ПОМОГИТЕ !!!!ИНФОРМАТИКА СРОЧНО!!! ПАСКАЛЬ
- Помогите с информатикой срочно
- Пожалуйста помогите с информатикой, срочно
- Помогите пожалуйста с заданием по информатике, срочно надо
- Помогите с информатикой срочно! блок схемы, паскаль
- Пожалуйста помогите с информатикой срочно!!!!!!
- ИНФОРМАТИКА СРОЧНО ПОМОГИТЕ ?
- Срочно ,помогите решить пожалуйста ,тест по информатике