Задача Двумерные массивы

Дана матрица NхМ, состоящая из натуральных чисел. Отыскать в ней меньший элемент и опреде­лить его положение. Если таких частей несколько, то вывести на экран положение каж­дого из их.

Эту задачку Задача Двумерные массивы можно решить несколькими методами. К примеру, пользуясь тем, что к элементам массива осуществляется параллельный доступ и вероятен неоднократный просмотр, можно организовать два просмотра матрицы. За один просмотр находим малый элемент, и Задача Двумерные массивы если таких частей несколько, то за 2-ой просмотр определяем их положение.

PROGRAM PG5_1;

CONST

T = 100;

S = 100;

VAR A : ARRAY[1..T, 1..S] OF INTEGER;

N, M, IM, JM, I, J, MIN, К : INTEGER;

BEGIN

WRITE('BBEДИTE Задача Двумерные массивы КОЛИЧЕСТВО СТРОК N = ');

READLN(N);

WRITE('BBEДИTE КОЛИЧЕСТВО СТОЛБЦОВ М = ');

READLN(M);

FOR I := 1 TO N DO BEGIN

WRITELN('BBЕДИTE ЧЕРЕЗ ПРОБЕЛ ', M, ' ЧИСЕЛ');

FOR J := 1 ТО М DO

READ(A[I, J])

END Задача Двумерные массивы;

MIN :=A[1, 1];

IM := 1;

JM := 1;

K := 0;

FOR I := 1 TO N DO

FOR J := 1 TO M DO

IF MIN>A[I, J] THEN

BEGIN

K:= 1;

IM:=I;

JM:=J;

MIN := A[l, J]

END

ELSE

IF MIN = A[l, J] THEN

К Задача Двумерные массивы := K+1;

IF К = 1 THEN

BEGIN

WRITELN('B МАТРИЦЕ ОДИН Малый ЭЛЕМЕНТ MIN =', MIN);

WRITELN('B ', IM, 'СТРОКЕ, В ', JM, ' СТОЛБЦЕ')

END

ELSE

BEGIN

WRITELN('B МАТРИЦЕ ', К, 'Малых Частей MIN = ', MIN);

FOR I := IM Задача Двумерные массивы TO N DO

FOR J := 1 TO M DO

IF MIN = A[l, J] THEN

WRITELN('B СТРОКЕ ', I, ' В СТОЛБЦЕ ', J)

END

END.

Для решения задачки:

- формируем тело программки и описываем переменные;

- вводим размеры массива А Задача Двумерные массивы и значения его частей;

- просматриваем элементы массива, ищем малое значение и запоминаем значение индексов;

- считаем количество малых частей;

- зависимо от К или выводим информацию о единственном наименьшем элементе, или организуем повторный просмотр массива Задача Двумерные массивы А для вывода инфы о всех малых элементах.

Переменные:

А - двумерный массив;

N, М - количество строк и столбцов массива;

I, J - переменные цикла;

К - количество малых частей;

IM, JM - строчка и столбец Задача Двумерные массивы малого элемента;

MIN - текущий минимум.

2-ой метод решения:

Дана матрица NхМ, состоящая из натуральных чисел. Отыскать в ней меньший элемент и опреде­лить его положение. Если таких частей несколько, то вывести Задача Двумерные массивы на экран положение каж­дого из их.

Задачку можно решить за один просмотр матрицы. Но в данном случае нужно ввести вспомогательный двумерный массив, в который заносятся значения строк и столбцов Задача Двумерные массивы малых частей.

PROGRAM PG5_1A;

CONST T= 100;

S = 100;

VAR A : ARRAY[1..T, 1..S] OF INTEGER;

В : ARRAY[1..T*S, 1..2] OF INTEGER;

N, M, IM, JM, I, J, MIN, К : INTEGER;

BEGIN

WRITE('BBEДИTE КОЛИЧЕСТВО Задача Двумерные массивы СТРОК N = ');

READLN(N);

WRITE('BBEДИTE КОЛИЧЕСТВО СТОЛБЦОВ М = ');

READLN(M);

FOR I := 1 TO N DO

BEGIN

WRITELN('BBЕДИТE ', M, ' ЧИСЕЛ');

FOR J := 1 TO M DO

READ(A[I, J])

END;

MIN := A[1, 1];

К := 0;

FOR I Задача Двумерные массивы := 1 TO N DO

FOR J := 1 TO M DO

IF MIN>A[I, J] THEN

BEGIN

К := 1;

B[1, 1] := I;

B[1, 2] := J;

MIN := A[l, J]

END ELSE

IF MIN = A[l, J] THEN

BEGIN

K:=K+1;

B[K, 1] := I Задача Двумерные массивы;

B[K, 2] := J

END;

IF К = 1 THEN BEGIN

WRITELN('EДИHHCTBEHHЫЙ МИНИМУМ MIN = ', MIN);

WRITELN('CTPOKA ', IM, ' СТОЛБЕЦ ', JM)

END ELSE

BEGIN

WRITELN('B МАТРИЦЕ', К, 'МИНИМУМОВ MIN =', MIN);

FOR I := 1 TO К DO

WRITELN('CTPOKA', B[l Задача Двумерные массивы, 1], 'СТОЛБЕЦ', B[l, 2])

END

END.

Для решения задачки:

- формируем тело программки и описываем переменные;

- вводим размеры массива А и значения его частей;

- просматриваем элементы массива, ищем малое значение и запоминаем значение индексов в Задача Двумерные массивы вспомогательном массиве В;

- считаем количество малых частей;

- зависимо от К или выводим информацию о единственном наименьшем элементе, или организуем вывод инфы о всех малых элементах из массива В.

Переменные:

А - двумерный массив Задача Двумерные массивы;

В - вспомогательный массив;

N, М - количество строк и столбцов массива;

I, J - переменные цикла;

К - количество малых частей;

IM, JM - строчка и столбец малого элемента;

MIN - текущий минимум.


zadacha-obespechenie-dostojnogo-urovnya-vzaimodejstviya-s-zayavitelyami-17.html
zadacha-obrabotki-reshetki-stranica-2.html
zadacha-ocenka-dvuh-raspredelenij-i-ih-razlichiya-vliyanie-kakogo-to-faktora.html