Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Алгоритмы формирования одномерного массива






Задача 1. Дан двумерный массив размерностью 5х6, заполненный целыми числами. Сформировать одномерный массив, каждый элемент которого соответственно равен сумме элементов строк. Оба массива вывести на экран.

USES Crt;

VAR

H: ARRAY[0..5, 0..6] OF INTEGER; K: ARRAY[0..5] OF INTEGER;

I, J: BYTE; S: INTEGER;

BEGIN

ClrScr; Randomize;

{ Заполнение двумерного массива случайным образом и вывод в виде прямоугольной матрицы }

WriteLn(' Значения двумерного массива');

FOR I: =1 TO 5 DO Begin

FOR J: =1 TO 6 DO Begin

H[I, J]: =Random(23); Write(H[I, J]: 3);

End; WriteLn;

End; WriteLn;

{ Нахождение суммы элементов строк и заполнение одномерного массива }

WriteLn(' Значения одномерного массива');

FOR I: =1 TO 5 DO Begin

S: =0;

FOR J: =1 TO 6 DO

S: =S+H[I, J];

K[I]: =S; Write(K[I]: 4);

End;

END.

Задача 2. Дана квадратная матрица порядка n, заполненная целыми числами. Получить одномерный массив, элементами которого являются первый положительный элемент соответствующей строки матрицы.

USES Crt;

LABEL M1;

CONST N=5;

VAR

H: ARRAY[0..N, 0..N] OF INTEGER; B: ARRAY[0..N] OF INTEGER;

I, J: BYTE;

BEGIN

ClrScr; Randomize;

{ Заполнение двумерного массива случайным образом и вывод в виде прямоугольной матрицы }

WriteLn(' Значения элементов двумерного массива');

WriteLn;

FOR I: =1 TO N DO Begin

FOR J: =1 TO N DO Begin

H[I, J]: =Random(25)-10; Write(H[I, J]: 3);

End; WriteLn;

End; WriteLn;

WriteLn(' Значения первых положительных элементов соответствующих строк');

WriteLn;

FOR I: =1 TO N DO Begin

FOR J: =1 TO N DO

IF H[I, J]> 0 THEN Begin B[I]: =H[I, J]; GOTO M1; End;

M1: Write(B[I]: 3);

End;

END.

Задача 3. Дан двумерный массив размерностью NхM, заполненная целыми числами. Получить одномерный массив, элементами которого являются сумма первого и последнего элементов соответствующих строк двумерного массива.

USES Crt;

CONST N=5; M=7;

VAR

A: ARRAY[0..N, 0..M] OF INTEGER; B: ARRAY[0..N] OF INTEGER;

I, J: BYTE;

BEGIN

ClrScr; Randomize;

{ Заполнение двумерного массива случайным образом и вывод в виде прямоугольной матрицы }

WriteLn(' Значения элементов двумерного массива');

WriteLn;

FOR I: =1 TO N DO Begin

FOR J: =1 TO M DO Begin

A[I, J]: =Random(30); Write(A[I, J]: 3);

End; WriteLn;

End; WriteLn;

WriteLn(' Cумма первого и последнего элементов соответствующих строк');

WriteLn;

FOR I: =1 TO N DO Begin

B[I]: =A[I, 1]+A[I, M]; Write(B[I]: 3);

End;

END.

Задача 4. Дан двумерный массив размерностью 5х6, заполненный целыми числами. Сформировать одномерный массив каждый элемент которого равен произведению четных положительных элементов соответствующего столбца.

USES Crt;

VAR

M: ARRAY[0..5, 0..6] OF INTEGER; F: ARRAY[0..6] OF INTEGER;

I, J: BYTE; P: LongInt;

BEGIN

ClrScr; Randomize;

{ Заполнение двумерного массива случайным образом и вывод в виде прямоугольной матрицы }

WriteLn(' Значения элементов двумерного массива');

FOR I: =1 TO 5 DO Begin

FOR J: =1 TO 6 DO Begin

M[I, J]: =Random(20)-5; Write(M[I, J]: 3);

End; WriteLn;

End; WriteLn;

{ Формирование одномерного массива}

WriteLn(' Значения элементов одномерного массива');

FOR J: =1 TO 6 DO Begin

P: =1;

FOR I: =1 TO 5 DO

IF (M[I, J]> 0) AND (M[I, J] mod 2 =0) THEN P: =P*M[I, J];

IF P=1 THEN F[J]: =0 ELSE F[J]: =P;

Write(F[J]: 4);

End;

END.

Задача 5. Дан двумерный массив размерностью 4х6, заполненный целыми числами. Сформировать одномерный массив, каждый элемент которого равен количеству элементов соответствующей строки, больших данного числа N.

USES Crt;

VAR

A: ARRAY[0..4, 0..6] OF INTEGER; G: ARRAY[0..6] OF INTEGER;

I, J, K: BYTE; N: INTEGER;

BEGIN

ClrScr; Randomize;

{ Заполнение двумерного массива случайным образом и вывод в виде прямоугольной матрицы }

WriteLn(' Значения элементов двумерного массива');

FOR I: =1 TO 4 DO Begin

FOR J: =1 TO 6 DO Begin

A[I, J]: =Random(45); Write(A[I, J]: 3);

End; WriteLn;

End; WriteLn;

Write(' Введите значение числа '); ReadLn(N);

{ Формирование одномерного массива}

WriteLn(' Значения элементов одномерного массива');

FOR I: =1 TO 4 DO Begin

K: =0;

FOR J: =1 TO 6 DO

IF A[I, J] > N THEN K: =K+1;

G[I]: =K; Write(G[I]: 2);

End;

END.

Задача 6. Дан двумерный массив размерностью 4х5, заполненный целыми числами. Сформировать одномерный массив, каждый элемент которого равен количеству отрицательных элементов, кратных 3 или 5, соответствующей строки.

USES Crt;

VAR

A: ARRAY[0..4, 0..5] OF INTEGER; G: ARRAY[0..6] OF INTEGER;

I, J, K: BYTE;

BEGIN

ClrScr; Randomize;

{ Заполнение двумерного массива случайным образом и вывод в виде прямоугольной матрицы }

WriteLn(' Значения элементов двумерного массива');

FOR I: =1 TO 4 DO Begin

FOR J: =1 TO 5 DO Begin

A[I, J]: =Random(45)-20; Write(A[I, J]: 3);

End; WriteLn;

End; WriteLn;

{ Формирование одномерного массива}

WriteLn(' Значения элементов одномерного массива');

FOR I: =1 TO 4 DO Begin

K: =0;

FOR J: =1 TO 5 DO

IF (A[I, J] < 0) AND ((A[I, J] mod 3=0) OR (A[I, J] mod 5 =0)) THEN K: =K+1;

G[I]: =K; Write(G[I]: 2);

End;

END.

.....................................................................................................................................

Практические задания

.....................................................................................................................................

1. Дан двумерный массив размерностью 6х5, заполненный целыми числами, введенными с клавиатуры. Сформировать одномерный массив, каждый элемент которого равен первому четному элементу соответствующего столбца, если такого нет, то равен нулю.

2. Дан двумерный массив размерностью 5х6, заполненный целыми числами. Сформировать одномерный массив, каждый элемент которого равен произведению четных положительных элементов соответствующего столбца.

3. Дана квадратная матрица размерностью NхN, заполненная целыми числами и величина А. Сформировать одномерный массив, каждый элемент которого равен элементу, расположенному на главной диагонали, умноженному на величину А.

4. Дан двумерный массив размерностью 6х8, заполненный целыми числами, введенными с клавиатуры. Сформировать одномерный массив, каждый элемент которого равен количеству элементов соответствующих строк матрицы, значения которых находятся в интервале(-2, 10).

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.