ВУЗ:
Составители:
Рубрика:
23
Пример 14 Формирование массива из матрицы
Требуется сформировать из матрицы А
размером n×m одномерный массив B,
каждый элемент которого равен количеству
четных чисел в каждом столбце матрицы.
Программа 10
Var n, m, i, k, s: byte;
A: array[1 . . 10, 1 . . 20] of integer;
B: array[1 . . 20] of byte;
Begin
repeat writeln('Ввод 1≤n≤10, 1≤m≤20');
read(n, m);
until (n<=10) AND (m<=20);
writeln('Ввод матрицы',n,' × ',m);
For i:=1 to n do
For k:=1 to m do read(A[ i, k ]);
writeln;
for i:=1 to n do begin
s:=0';
for k:=1 to m do
if A[ i, k ] mod 2=0 then
S:=S+1;
B[ k ]:=S;
Write(B[ k ]:2:0); end;
Writeln
End.
НАЧАЛО
КОНЕЦ
S:=S+1;
Печать
Ввод n ,m
k:=1, m
i:=1, n
Печать
Ввод A[ i, k]
Печать
Вывод B[ k]
S:=0;
A
[ i, k] mod2=0
B[ k]:=S;
Р
исунок 16. Блок-схема
программы №10
24
Задание. Обработка одномерных массивов
1. В массиве A 17 элементов. Заменить отрицательные элементы,
индексы которых не превышают 15 нулями. Вывести исходный и
полученный массивы.
2. В массиве B 20 элементов. Найти и напечатать:
a). Сумму элементов, имеющих нечетные номера;
b). Произведение элементов с четными индексами;
c). Изменить знак у всех положительных элементов на обратный;
d). Увеличить положительные элементы на 2, о
трицательные
элементы уменьшить на 1, а нулевые оставить без изменения;
e). Сформировать массив C из положительных элементов массива B;
f). Сформировать массив C из отрицательных элементов массива B;
g). Удалить из массива нулевые элементы;
h). Подсчитать число x, равное среднему арифметическому всех
элементов и разделить каждый элемент исходного массива на x;
i). Подсчитать к
оличество элементов массива. Кратных трем;
j). Сформировать массив A из отрицательных элементов исходного
массива B, а массив C из элементов исходного массива с четными
индексами;
k). Подсчитать количество элементов массива, принадлежащих
интервалу [–1, 2], и определить их сумму;
l). Выяснить, какой элемент встречается чаще в массиве –
положительный или отрицательный. Если все эле
менты равны
нулю, то сообщить об этом;
m). Инвертировать массив B, то есть изменить порядок следования
элементов на обратный, чтобы первым стал 20-й элемент, 19-й стал
вторым, …, а двадцатым стал бывший 1-й элемент.
3. У прилавка в магазине выстроилась очередь из n покупателей.
Время обслуживания продавцом первого покупателя равно t
i
(i
= 1, …, n). Пусть даны натуральное число n и действительные
числа t
1
, …, t
n
. Получить и напечатать значения c
1
, …, c
n
, где c
i
–
время пребывания i-го покупателя в очереди. Указать номер
Пример 14 Формирование массива из матрицы
Задание. Обработка одномерных массивов
НАЧАЛО Требуется сформировать из матрицы А
размером n×m одномерный массив B, 1. В массиве A 17 элементов. Заменить отрицательные элементы,
каждый элемент которого равен количеству индексы которых не превышают 15 нулями. Вывести исходный и
Печать
Ввод n ,m четных чисел в каждом столбце матрицы. полученный массивы.
Программа 10 2. В массиве B 20 элементов. Найти и напечатать:
Печать
Ввод A[ i, k] a). Сумму элементов, имеющих нечетные номера;
Var n, m, i, k, s: byte;
b). Произведение элементов с четными индексами;
k:=1, m A: array[1 . . 10, 1 . . 20] of integer;
c). Изменить знак у всех положительных элементов на обратный;
B: array[1 . . 20] of byte;
S:=0; d). Увеличить положительные элементы на 2, отрицательные
Begin
элементы уменьшить на 1, а нулевые оставить без изменения;
repeat writeln('Ввод 1≤n≤10, 1≤m≤20');
i:=1, n read(n, m); e). Сформировать массив C из положительных элементов массива B;
until (n<=10) AND (m<=20); f). Сформировать массив C из отрицательных элементов массива B;
A[ i, k] mod2=0 writeln('Ввод матрицы',n,' × ',m); g). Удалить из массива нулевые элементы;
For i:=1 to n do h). Подсчитать число x, равное среднему арифметическому всех
S:=S+1; элементов и разделить каждый элемент исходного массива на x;
For k:=1 to m do read(A[ i, k ]);
writeln; i). Подсчитать количество элементов массива. Кратных трем;
B[ k]:=S; j). Сформировать массив A из отрицательных элементов исходного
for i:=1 to n do begin
массива B, а массив C из элементов исходного массива с четными
Печать s:=0'; индексами;
Вывод B[ k]
for k:=1 to m do
k). Подсчитать количество элементов массива, принадлежащих
if A[ i, k ] mod 2=0 then интервалу [1, 2], и определить их сумму;
КОНЕЦ
S:=S+1; l). Выяснить, какой элемент встречается чаще в массиве
B[ k ]:=S; положительный или отрицательный. Если все элементы равны
Рисунок 16. Блок-схема нулю, то сообщить об этом;
Write(B[ k ]:2:0); end;
программы №10 m). Инвертировать массив B, то есть изменить порядок следования
Writeln элементов на обратный, чтобы первым стал 20-й элемент, 19-й стал
End. вторым, , а двадцатым стал бывший 1-й элемент.
3. У прилавка в магазине выстроилась очередь из n покупателей.
Время обслуживания продавцом первого покупателя равно ti
(i = 1, , n). Пусть даны натуральное число n и действительные
числа t1, , tn. Получить и напечатать значения c1, , cn, где ci
время пребывания i-го покупателя в очереди. Указать номер
23 24
Страницы
- « первая
- ‹ предыдущая
- …
- 10
- 11
- 12
- 13
- 14
- …
- следующая ›
- последняя »
