Задача, Pascal, нужна помощь с решением
Pascal. Дан двумерный массив n x m. Упорядочить построчно элементы массива по возрастанию. Выдает ошибку: "неизвестное имя n".
Program Zadacha; Var a:array [1..n,1..m] of integer; i,j,k,t,n,m:integer; Begin for i:=1 to n do Begin for j:=1 to m do Begin a[i,j]:=random(40)-20; write(a[i,j]:4); end; writeln; end; writeln; for j:=1 to n do for i:=1 to n-1 do for k:=1 to n-i do if a[k,j>a[k+l,j]] then Begin t:=a[k,j]; a[k,j]:=a[k+l,j]: a[k+l,j]:t; end; writeln('Rezultat:'); for i:=1 to n do Begin for j:=1 to n do write(a[i,j]:4); writeln; end; readln end. |
Код:
Program Zadacha; |
Цитата:
Выход: Вариант 1: Если Вы знаете размерность массива, то ПЕРЕД разделом описания переменных соблаговолите эту размерность задать в виде констант, например: Код:
Const Вариант 2: Если Вы хотите сделать программу более "универсальной", то задайте максимально возможные значения размеров массива. Например, так: Код:
Const Код:
Var Код:
Begin |
const n=5;
m=6; Var a:array [1..n,1..m] of integer; i,j,k,t:integer; Begin for i:=1 to n do Begin for j:=1 to m do Begin a[i,j]:=random(40)-20; write(a[i,j]:4); end; writeln; end; writeln; t:=1; repeat for i := 1 to m - 1 do for j := 1 to m-i do if a[t, j] > a[t,j+1] then begin k:=a[t,j]; a[t,j]:=a[t,j+1]; a[t,j+1]:=k; end; Inc(t); until t>n; writeln('Rezultat:'); for i:=1 to n do Begin for j:=1 to m do write(a[i,j]:4); writeln; end; readln end. |
Часовой пояс GMT +4, время: 19:57. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.