![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
DmP |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 8 Пол: Мужской Репутация: ![]() ![]() ![]() |
Помогите, бьюсь уже дня два... <_<
Имеется матрица с числами, к примеру 50x50, а также пустая матрица 500x500. Надо первую матрицу "растянуть" в N раз (все значения), и заполнить этими значениями вторую, т.е имеется : 0033001100 0011001100 0011001100 0011001100 0022001100 надо : 00003333000011110000 00003333000011110000 00001111000011110000 00001111000011110000 00001111000011110000 00001111000011110000 00001111000011110000 00001111000011110000 00002222000011110000 00002222000011110000 и т.д... Надеюсь понятно... ![]() |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Вот так будет выглядеть консольное приложение:
Код 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. |
![]() ![]() |
![]() |
Текстовая версия | 20.06.2025 22:20 |