Получить матрицу заданного вида - PascalABC.NET
Формулировка задачи:
Помогите пожалуйста,немного переписать программу, чтобы получилась такая матрица
11110000
22220000
33330000
00005678
00005678
00005678
Решение задачи: «Получить матрицу заданного вида»
textual
Листинг программы
Var i,j,N,M:byte; A:array[1..100,1..100]of integer; BEGIN writeln('Введите N'); readln(N); // 8, число столбцов writeln('Введите M'); readln(M); // 6, число строк for i := 1 to m div 2 do for j := 1 to n div 2 do begin a[i, j] := i; a[i + m div 2, j + n div 2] := 4 + j; end; for i := 1 to M do begin for j := 1 to N do write(A[i,j],' '); writeln; end; END.
Объяснение кода листинга программы
- Ввод данных:
- Введенные данные сохраняются в переменных N и M типа byte.
- Значения переменных N и M равны 8 и 6 соответственно.
- Создание матрицы:
- Создается матрица типа array[1..100,1..100] of integer с помощью ключевого слова array.
- Размеры матрицы заданы в 100 строк и 100 столбцов.
- Адрес матрицы сохранен в переменной a.
- Заполнение матрицы:
- Используются два вложенных цикла for для заполнения матрицы.
- Внешний цикл for выполняется для i от 1 до M div 2 (то есть для i от 1 до 3, так как M = 6 и M div 2 = 3).
- Внутренний цикл for выполняется для j от 1 до N div 2 (то есть для j от 1 до 4, так как N = 8 и N div 2 = 4).
- Значения i и j используются для индексации элементов матрицы a[i, j] и a[i + m div 2, j + n div 2].
- Значение a[i, j] устанавливается равным i, а значение a[i + m div 2, j + n div 2] устанавливается равным 4 + j.
- Вывод матрицы:
- Используется вложенный цикл for для вывода элементов матрицы.
- Внешний цикл for выполняется для i от 1 до M (то есть для i от 1 до 6).
- Внутренний цикл for выполняется для j от 1 до N (то есть для j от 1 до 8).
- Значение элемента матрицы a[i, j] выводится на экран с помощью функции write.
- После завершения внутреннего цикла for выводится символ новой строки с помощью функции writeln.
- После завершения внешнего цикла for выводится символ новой строки с помощью функции writeln.