Помощь - Поиск - Пользователи - Календарь
Полная версия: Матрица
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
DmP
Помогите, бьюсь уже дня два... <_<

Имеется матрица с числами, к примеру 50x50, а также пустая матрица 500x500.
Надо первую матрицу "растянуть" в N раз (все значения), и заполнить этими значениями вторую, т.е

имеется :

0033001100
0011001100
0011001100
0011001100
0022001100

надо :

00003333000011110000
00003333000011110000
00001111000011110000
00001111000011110000
00001111000011110000
00001111000011110000
00001111000011110000
00001111000011110000
00002222000011110000
00002222000011110000

и т.д...

Надеюсь понятно... smile.gif
volvo
Вот так будет выглядеть консольное приложение:

Код
uses ...
const
 size_row = 5;
 size_col = 10;

 n = 2;

 m1: array[1 .. size_row, 1 .. size_col] of byte =
 ((0,0,3,3,0,0,1,1,0,0),
  (0,0,1,1,0,0,1,1,0,0),
  (0,0,1,1,0,0,1,1,0,0),
  (0,0,1,1,0,0,1,1,0,0),
  (0,0,2,2,0,0,1,1,0,0));

var
 m2: array[1 .. n*size_row, 1 .. n*size_col] of byte;

 i,j: integer;
 T, jj, ii: byte;
 new_row, new_col: integer;
begin
 writeln('before:');
 for i := 1 to 2*size_row do
   begin
     for j := 1 to 2* size_col do
       write(m2[i, j]: 3);
     writeln
   end;

 new_row := 1; new_col := 1;
 for i := 1 to size_row do
   for ii := 1 to n do begin
     new_col := 1;

     for j := 1 to size_col do
       begin
         T := m1[i, j];
         for jj := 1 to n do
           begin
             m2[new_row, new_col] := T; inc(new_col);
           end;
       end;
     inc(new_row);
   end;
 writeln('after:');
 for i := 1 to 2*size_row do
   begin
     for j := 1 to 2* size_col do
       write(m2[i, j]: 3);
     writeln
   end;
end.
Guest
народ, помогите!Срочно нужно точное оприделение "матрица"!
Altair
матрица - прямоугольная сетка чисел, вида:
Код
a11, a12, a13, ... , a1n
a21, a22, a23, ... , a2n
a31, a32, a33, ... , a3n
...
am1, am2, am3, ... , amn



В Паскале, матрица - двумерный массив.

и нечего поднимать темы полугодовалой давности! mad.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.