Другие языки программирования и технологии
помогите склась програму в паскале:переписать в массив Y[4x4] елементы масива X[4x4] в порядку возростання.
прошу помогите
В TurboPascale можно вот так:
type A : array [1..4, 1..4] of Integer;
var X, Y : A;
L : array [1..16] of Integer absolute Y;
Row, Col : Byte; T : Integer;
begin
WriteLn('Массив X:'); Randomize; for Row := 1 to 4 do begin for Col := 1 to 4 do begin X[Row, Col] := Random(100); Write(X[Row, Col]:3); Y[Row, Col] := X[Row, Col]; end; WriteLn; end;
for Row := 1 to 15 do for Col := Row + 1 to 16 do if L[Row] > L[Col] then begin T := L[Row]; L[Row] := L[Col]; L[Col] := T; end;
WriteLn('Массив Y:'); for Row := 1 to 4 do begin for Col := 1 to 4 do Write(Y[Row, Col]:3); WriteLn; end;
end.
В других может не работать из за оператора absolute.
type A : array [1..4, 1..4] of Integer;
var X, Y : A;
L : array [1..16] of Integer absolute Y;
Row, Col : Byte; T : Integer;
begin
WriteLn('Массив X:'); Randomize; for Row := 1 to 4 do begin for Col := 1 to 4 do begin X[Row, Col] := Random(100); Write(X[Row, Col]:3); Y[Row, Col] := X[Row, Col]; end; WriteLn; end;
for Row := 1 to 15 do for Col := Row + 1 to 16 do if L[Row] > L[Col] then begin T := L[Row]; L[Row] := L[Col]; L[Col] := T; end;
WriteLn('Массив Y:'); for Row := 1 to 4 do begin for Col := 1 to 4 do Write(Y[Row, Col]:3); WriteLn; end;
end.
В других может не работать из за оператора absolute.
Элементарная сортировка
pr:=true;
znac:= 1; - максимум
znac:=-1; - минимум
while pr do
begin
pr:=false;
for i:=1 to n do
for j:=1 to m-1 do
begin
if mas1[i,j]*znac > mas1[i,j+1]*znac then begin
cop:=mas1[i,j];
mas1[i,j]:= mas1[i,j+1];
mas1[i,j+1]:=cop;
pr:=true;
end;
if j=m and i<n then if mas1[i,j]*znac > mas1[i,j+1]*znac then begin
cop:=mas1[i,j];
mas1[i,j]:= mas1[i+1,1];
mas1[i+1,1]:=cop;
pr:=true;
end;
end;
end;
Ну как то так.. .
Паскаль мой первый язык) )
дублируй массив и сортируй новую копию и все.. .
pr:=true;
znac:= 1; - максимум
znac:=-1; - минимум
while pr do
begin
pr:=false;
for i:=1 to n do
for j:=1 to m-1 do
begin
if mas1[i,j]*znac > mas1[i,j+1]*znac then begin
cop:=mas1[i,j];
mas1[i,j]:= mas1[i,j+1];
mas1[i,j+1]:=cop;
pr:=true;
end;
if j=m and i<n then if mas1[i,j]*znac > mas1[i,j+1]*znac then begin
cop:=mas1[i,j];
mas1[i,j]:= mas1[i+1,1];
mas1[i+1,1]:=cop;
pr:=true;
end;
end;
end;
Ну как то так.. .
Паскаль мой первый язык) )
дублируй массив и сортируй новую копию и все.. .
Похожие вопросы
- Помогите решить задачу по паскалю на двумерные массивы.
- помогите написать програму в паскале. Задано натуральное число х. вывести все двознначные числа ,сума которых меньше х.
- помогите написать програму в Паскале по задаче
- Помогите решить задачку в паскале на циклы. Вычисоить: y=cos(1+cos(2+...+cos(39+cos40)...))
- Задан массив Z(N).Переписать его в массив Y. С++
- Помогите пожалуйста написать програмы в Паскале кто что может(решаетса зачот) я просто не успеваю
- помогите. паскаль. приведите пример програмы в паскале,любую program P1 var и т.д.
- помогите решить...на языке паскаль...с массивами
- Помогите с информатикой!!! Кто понимает? Нужно преобразовать массив. (написать программу на паскале).
- Написать програму в Паскале