ВУЗ:
Составители:
Рубрика:
179
В случае использования этой схемы перебора при n=3 и m=2, получаем
следующий порядок ввода элементов: a[1,1], a[1,2], a[2,1], a[2,2], a[3,1], a[3,2].
Такой порядок ввода элементов называется вводом по строкам. Для ввода по
столбцам поменяем местами индексы i и j в операторе ввода. Получаем ввод
элементов по столбцам: a[1,1], a[2,1], a[3,1], a[2,1], a[2,2], a[2,3], a[3,1], a[3,2], a[3,3].
for i:=1 to n do
for j:=1 to n do
read(a[j,i]).
Упражнения:
1. Приведите другие схемы перебора, осуществляющие ввод элементов
двумерного массива по столбцам.
2. Как будут вводиться элементы двумерного массива, если в программе будут
использованы следующие операторы:
a) for i:=n downto 1 do
for j:=m downto 1 do read(a[i,j]);
б) for i:=n downto 1 do
for j:=m downto 1 do read(a[j,i]) ;
в) for i:=1 to n do
for j:=m downto 1 do read(a[i,j]);
г) for i:=n downto 1 do
for j:=1 to m do read(a[i,j]).
Рассмотрим задачу печати элементов двумерного массива по строкам и
столбцам. Задача состоит в печати стольких строк, сколько их в двумерном
массиве
. Это реализуется арифметическим циклом по количеству строк в
двумерном массиве. В теле этого цикла выполняются следующие работы: переход
к следующей печатаемой строке и вывод элементов строки (их столько сколько
столбцов). Вывод элементов строки реализуется арифметическим циклом по
количеству столбцов. Соответствующий фрагмент программы приведен ниже:
for i:=1 to n do {перебираем строки}
begin writeln;
for j:=1 to m do write(a[i,j],' ') { перебираем столбцы, каждый
элемент
отделяем от другого пробелом }
end.
Упражнения:
1. Будут ли выдавать одинаковые результаты ранее рассмотренный фрагмент
вывода двумерного массива и фрагмент, приведенный ниже? Если «да», то в каких
случаях? Если «нет», то почему?
for i:=1 to n do
begin for j:=1 to m do write(a[i,j],' ');
writeln
end.
2. Можно ли вывести двумерный массив на печать, перебирая элементы по
столбцам и сохраняя вид массива?
3. Можно ли решить задачу из упражнения 2 при выводе элементов
на экран?
Какие дополнительные операторы, отсутствующие обычно в алгоритмических
языках, нужны для решения этой задачи?
179
В случае использования этой схемы перебора при n=3 и m=2, получаем
следующий порядок ввода элементов: a[1,1], a[1,2], a[2,1], a[2,2], a[3,1], a[3,2].
Такой порядок ввода элементов называется вводом по строкам. Для ввода по
столбцам поменяем местами индексы i и j в операторе ввода. Получаем ввод
элементов по столбцам: a[1,1], a[2,1], a[3,1], a[2,1], a[2,2], a[2,3], a[3,1], a[3,2], a[3,3].
for i:=1 to n do
for j:=1 to n do
read(a[j,i]).
Упражнения:
1. Приведите другие схемы перебора, осуществляющие ввод элементов
двумерного массива по столбцам.
2. Как будут вводиться элементы двумерного массива, если в программе будут
использованы следующие операторы:
a) for i:=n downto 1 do
for j:=m downto 1 do read(a[i,j]);
б) for i:=n downto 1 do
for j:=m downto 1 do read(a[j,i]) ;
в) for i:=1 to n do
for j:=m downto 1 do read(a[i,j]);
г) for i:=n downto 1 do
for j:=1 to m do read(a[i,j]).
Рассмотрим задачу печати элементов двумерного массива по строкам и
столбцам. Задача состоит в печати стольких строк, сколько их в двумерном
массиве. Это реализуется арифметическим циклом по количеству строк в
двумерном массиве. В теле этого цикла выполняются следующие работы: переход
к следующей печатаемой строке и вывод элементов строки (их столько сколько
столбцов). Вывод элементов строки реализуется арифметическим циклом по
количеству столбцов. Соответствующий фрагмент программы приведен ниже:
for i:=1 to n do {перебираем строки}
begin writeln;
for j:=1 to m do write(a[i,j],' ') { перебираем столбцы, каждый элемент
отделяем от другого пробелом }
end.
Упражнения:
1. Будут ли выдавать одинаковые результаты ранее рассмотренный фрагмент
вывода двумерного массива и фрагмент, приведенный ниже? Если «да», то в каких
случаях? Если «нет», то почему?
for i:=1 to n do
begin for j:=1 to m do write(a[i,j],' ');
writeln
end.
2. Можно ли вывести двумерный массив на печать, перебирая элементы по
столбцам и сохраняя вид массива?
3. Можно ли решить задачу из упражнения 2 при выводе элементов на экран?
Какие дополнительные операторы, отсутствующие обычно в алгоритмических
языках, нужны для решения этой задачи?
Страницы
- « первая
- ‹ предыдущая
- …
- 175
- 176
- 177
- 178
- 179
- …
- следующая ›
- последняя »
