что же курил составитель условия, наверно кубики
Добавлено через 3 часа 56 минут
Составитель задания и правда идиот. А ТС мог бы и картинку показать, с картинкой сразу стало все понятно и на прогу ушло 2 минуту и 15 строчек кода.
Цитата:
На следующем рисунке продемонстрировано, как выглядит расположение кубиков в коробке до и после одного поворота на 90 градусов.
|
Консольная прога на Delphi(под паскаль переделывается за 30 сек)
Код:
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
vektor: array [1 .. 10] of integer;
matrix: array [1 .. 10] of array [1 .. 10] of integer;
i, j, l, n, k: integer;
begin
writeln('VVEDITE RAZMERNOST KOROBKI "N"');
readln(n);
writeln('VVEDITE CHISLO POVOROTOV "K"');
readln(k);
writeln('VVEDITE KOL-VO KUBIKOV V KAZDOM STOLBCHE');
for i := 1 to n do begin
readln(vektor[i]);
end;
for l := 1 to k do // выполняем цикл столько раз сколько переворотов
begin
// Обнуляем матрицу
for i := 1 to 10 do
for j := 1 to 10 do
matrix[i][j] := 0;
// Заполняем матрицу кубиками
for i := n downto 1 do
for j := 10 downto 11 - vektor[i] do
matrix[j][i] := 1;
// Обнуляем вектор
for i := 1 to 10 do
vektor[i] := 0;
// Условно переворачиваем матрицу(коробку) и заполняем новый вектор(результат)
for i := 1 to 10 do
for j := 1 to 10 do
vektor[11 - i] := vektor[11 - i] + matrix[i][j];
end;
writeln('');
writeln('ITOGOVOE POLOZHENIE KUBIKOV');
for i := 1 to n do
Write(vektor[i]);
readln;
end.