program Matr;
uses
Crt;
const
N = 5;
S: array[1..N, 1..N] of Integer = (
(5, 6, 8, 7, 5),
(2, 4, 8, 1, 4),
(6, 9, 8, 7, 5),
(5, 4, 7, 8, 9),
(2, 1, 6, 8, 7));
var
D: array[1..N, 1..N] of Integer;
E: array[1..N*N] of Integer;
i, j, NumE, X, Y, Direct: Integer;
begin
ClrScr;
for i := 1 to N do begin
for j := 1 to N do
Write(S[i, j]:4);
WriteLn;
end;
NumE := 0;
for i := 1 to N do
for j := 1 to N do
if not Odd(S[i, j]) then begin
Inc(NumE);
E[NumE] := S[i, j];
end;
for i := NumE + 1 to N * N do
E := 0;
X := 1;
Y := N;
Direct := 1;
for i := 1 to NumE do begin
D[Y, X] := E;
case Direct of
1: if Y > 1 then begin
Dec(Y);
Direct := 2;
end else begin
Inc(X);
Direct := 4;
end;
2: if Y < N then begin
Inc(X);
Inc(Y);
end else
if X < N then begin
Inc(X);
Direct := 3;
end else begin
Dec(Y);
Direct := 5;
end;
3: if X > 1 then begin
Dec(X);
Dec(Y);
end else
if Y > 1 then begin
Dec(Y);
Direct := 2;
end else begin
Inc(X);
Direct := 4;
end;
4: if X < N then begin
Inc(X);
Inc(Y);
end else
if Y < N then begin
Dec(Y);
Direct := 5;
end;
5: if Y > 1 then begin
Dec(X);
Dec(Y);
end else begin
Inc(X);
Direct := 4;
end;
end;
end;
WriteLn;
for i := 1 to N do begin
for j := 1 to N do
Write(D[i, j]:4);
WriteLn;
end;
end.
Пожалуйста!!! Помогите решить задачу по программированию на Паскале!!!
Задача:В матрице A(N,N) уплотнить все четные элементы в направлении указанном на рисунке. Остальные элементы сделать равными нулю.
Цитата:
Originally posted by Trener
Здравствуйте!!! У меня большая проблема, мне нужно срочно решить одну задачу по программированию на Паскале... Если сможите помогите, пожалуйста!!!
Задача:В матрице A(N,N) уплотнить все четные элементы в направлении указанном на рисунке. Остальные элементы сделать равными нулю.
Здравствуйте!!! У меня большая проблема, мне нужно срочно решить одну задачу по программированию на Паскале... Если сможите помогите, пожалуйста!!!
Задача:В матрице A(N,N) уплотнить все четные элементы в направлении указанном на рисунке. Остальные элементы сделать равными нулю.
Вот ресунок...
Цитата:
Originally posted by Trener
Вот ресунок...
Вот ресунок...
Покажи на конкретном примере, как это должно происходить. Исходная матрица и результирующая.
Цитата:
Originally posted by sp999
Покажи на конкретном примере, как это должно происходить. Исходная матрица и результирующая.
Покажи на конкретном примере, как это должно происходить. Исходная матрица и результирующая.
Исходная:
5 6 8 7 5
2 4 8 1 4
6 9 8 7 5
5 4 7 8 9
2 1 6 8 7
Результирующая:
0 0 0 0 0
6 0 0 0 0
4 8 8 0 0
8 8 4 6 0
6 2 4 8 2
Т.е. программа в исходной матрице определяет четные числа(эллементы)и в результирующей матрице выставляет их согласно рисунку (т.е. первое четное число идет в нижний левый угол и т.д.), и когда она выстроит все четные эллементы то в остальных ячейках матрицы поставит нули.
P.S. Как смог, так объяснил... если кто может, помогите пожалуйста!!!
Цитата:
Originally posted by Trener
Исходная:
5 6 8 7 5
2 4 8 1 4
6 9 8 7 5
5 4 7 8 9
2 1 6 8 7
Результирующая:
0 0 0 0 0
6 0 0 0 0
4 8 8 0 0
8 8 4 6 0
6 2 4 8 2
Т.е. программа в исходной матрице определяет четные числа(эллементы)и в результирующей матрице выставляет их согласно рисунку (т.е. первое четное число идет в нижний левый угол и т.д.), и когда она выстроит все четные эллементы то в остальных ячейках матрицы поставит нули.
P.S. Как смог, так объяснил... если кто может, помогите пожалуйста!!!
Исходная:
5 6 8 7 5
2 4 8 1 4
6 9 8 7 5
5 4 7 8 9
2 1 6 8 7
Результирующая:
0 0 0 0 0
6 0 0 0 0
4 8 8 0 0
8 8 4 6 0
6 2 4 8 2
Т.е. программа в исходной матрице определяет четные числа(эллементы)и в результирующей матрице выставляет их согласно рисунку (т.е. первое четное число идет в нижний левый угол и т.д.), и когда она выстроит все четные эллементы то в остальных ячейках матрицы поставит нули.
P.S. Как смог, так объяснил... если кто может, помогите пожалуйста!!!
Вот прога (ремарки писАть некогда):
Код: