ВУЗ:
Составители:
Рубрика:
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
- …
- следующая ›
- последняя »