Студопедия Главная Случайная страница Обратная связь

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

Алгоритмы действий над элементами двумерного массива





Задача 1. В течение недели измерялась температура три раза в день: утром, в обед и вечером. Показания записали в таблицу размерностью 7х3. Определить среднюю температуру за каждый день.

USES Crt;

VAR

T:ARRAY[0..7,0..3] OF INTEGER;

I,J:BYTE; S:INTEGER; ST:REAL; A:STRING[12];

BEGIN

ClrScr; WriteLn;

{ Заполнение таблицы }

FOR I:=1 TO 7 DO Begin

WriteLn(' Введите показания за ',I,' день');

FOR J:=1 TO 3 DO Begin

CASE J OF

1: A:=' Утром - ';

2: A:=' В обед - ';

3: A:=' Вечером - ';

End;

Write(A); ReadLn(T[I,J]);

End;

End; WriteLn;

{ Подсчет средней температуры за каждый день }

FOR I:=1 TO 7 DO Begin

S:=0;

FOR J:=1 TO 3 DO

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

ST:=S/3;

WriteLn('Средняя температура за ',I,' день = ',ST:4:1);

End;

END.

Задача 2. Группа из 10 учащихся сдавала экзамен по 4 предметам. Результаты экзаменов записали в таблицу размерностью 10х4. Определить средний балл по каждому предмету.

USES Crt;

VAR

E:ARRAY[0..10,0..4] OF INTEGER;

I,J:BYTE; S:INTEGER; SB:REAL; A:STRING[16];

BEGIN

ClrScr; WriteLn;

{ Заполнение таблицы }

FOR I:=1 TO 10 DO Begin

WriteLn(' Введите оценки ',I,' учащегося');

FOR J:=1 TO 4 DO Begin

CASE J OF

1: A:=' Математика - ';

2: A:=' Физика - ';

3: A:=' Химия - ';

4: A:=' Информатика - ';

End;

Write(A); ReadLn(E[I,J]);

End;

End; WriteLn;

{ Подсчет среднего балла по каждому предмету. Циклы меняются местами.' }

FOR J:=1 TO 4 DO Begin

S:=0;

FOR I:=1 TO 10 DO

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

SB:=S/10;

CASE J OF

1: A:=' математике - ';

2: A:=' физике - ';

3: A:=' химии - ';

4: A:=' информатике - ';

End;

WriteLn(' Средний балл по ',A,' = ',SB:4:1);

End;

END.

Задача 3. Поменять местами значения К-ого и Р-ого столбцов матрицы В, размерностью MхM, заполненную случайным образом.

USES Crt;

LABEL M1;

CONST M=8;

VAR

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

I,J,K,P:BYTE; PP:INTEGER;

BEGIN

ClrScr;

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

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

FOR I:=1 TO M DO Begin

FOR J:=1 TO M DO Begin

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

End; WriteLn;

End; WriteLn;

WriteLn(' Введите номера столбцов, которые необходимо поменять');

WriteLn(' Их значения не должны превышать ',M);

M1:ReadLn(K,P);

IF (K>M) OR (P>M) THEN GOTO M1;

{ Перестановка значений введенных столбцов }

FOR I:=1 TO M DO Begin

PP:=A[I,K]; A[I,K]:=A[I,P]; A[I,P]:=PP;

End;

WriteLn(' Измененный двумерный массив');

FOR I:=1 TO M DO Begin

FOR J:=1 TO M DO Begin

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

End; WriteLn;

End;

END.

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

USES Crt;

VAR

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

I,J,K:BYTE;

BEGIN

ClrScr; Randomize;

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

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

FOR I:=1 TO 6 DO Begin

FOR J:=1 TO 3 DO Begin

M[I,J]:=Random(23)-10; Write(M[I,J]:3);

End; WriteLn;

End; WriteLn; K:=0;

{ Подсчет количества строк, в которых первый элемент строки меньше 0 }

FOR I:=1 TO 6 DO

IF M[I,1]<0 THEN Inc(K);

Write(' Количество строк, в которых первый элемент строки меньше 0 = ',K);

END.

Задача 5. Дан двумерный массив размерностью Nх2N, заполненный целыми числами. Найти среднее арифметическое элементов, имеющие четные номера строк.

USES Crt;

CONST N=5;

VAR

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

I,J,K:BYTE; S:LongInt; SA:REAL;

BEGIN

ClrScr; Randomize;

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

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

FOR I:=1 TO N DO Begin

FOR J:=1 TO 2*N DO Begin

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

End; WriteLn;

End; WriteLn;

{ Нахождение суммы значений элементов, имеющих четные номера строк }

I:=2; K:=0;

WHILE I<=N DO Begin

FOR J:=1 TO 2*N DO Begin

S:=S+H[I,J]; Inc(K);

End; I:=I+2;

End;

SA:=S/K;

Write(' Среднее арифметическое элементов, имеющих четные номера строк =',SA:4:1);

END.

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

USES Crt;

CONST N=6; M=8;

VAR

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

I,J,KO,KP,FL:BYTE;

BEGIN

ClrScr; Randomize;

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

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

FOR I:=1 TO N DO Begin

FOR J:=1 TO M DO Begin

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

End; WriteLn;

End; WriteLn;

FOR J:=1 TO M DO Begin

KP:=0; KO:=0;

FOR I:=1 TO N DO Begin

IF A[I,J]>0 THEN Inc(KP);

IF A[I,J]<0 THEN Inc(KO);

End;

IF KP=KO THEN Begin

WriteLn(' В ',J,' столбце равное количество положительных и отрицательных элементов'); FL:=1;

End;

End;

IF FL=0 THEN WriteLn(' Нет столбцов, в которых равное количество положительных и отрицательных элементов');

END.

Задача 7. Дан двумерный массив размерностью NхM, заполненный случайным образом. Определить, есть ли в данном массиве строка, в которой ровно два отрицательных элемента.

USES Crt;

CONST N=6; M=8;

VAR

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

I,J,K,FL:BYTE;

BEGIN

ClrScr; Randomize;

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

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

FOR I:=1 TO N DO Begin

FOR J:=1 TO M DO Begin

A[I,J]:=Random(40)-15; Write(A[I,J]:3);

End; WriteLn;

End; WriteLn; FL:=0;

{ Определение строк, в которых ровно два отрицательных элемента }

FOR I:=1 TO N DO Begin

K:=0;

FOR J:=1 TO M DO

IF A[I,J]<0 THEN Inc(K);

IF K=2 THEN Begin WriteLn('В ',I,' строке ровно два отрицательных элемента');FL:=1; End;

End;

IF FL=0 THEN Writeln(' Нет строк, в которых ровно два отрицательных элемента');

END.

Задача 8. Дан двумерный массив размерностью 4х6 и величина N. Подсчитать количество строк, в которых есть элемент равный N.

USES Crt;

LABEL M1;

VAR

M:ARRAY[0..4,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

M[I,J]:=Random(50); Write(M[I,J]:3);

End; WriteLn;

End; WriteLn;

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

K:=0;

{ Нахождение строк, в которых имеется величина N }

FOR I:=1 TO 4 DO Begin

FOR J:=1 TO 6 DO

IF M[I,J]=N THEN Begin K:=K+1; GOTO M1; End;

M1: End;

WriteLn(' Количество строк, в которых есть элемент равный ',N,' = ',K);

END.

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

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

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

1. Найти произведение элементов К-го и Р-го столбцов квадратной матрицы, размерностью 6х6.

2. Дан двумерный массив размерностью 5х3, заполненный целыми числами. Найти произведение элементов нечетных строк матрицы.

3. Дан двумерный массив размерностью 5х6, заполненный целыми числами и величина К. Найти количество элементов, равных К и их сумму.

4. Дан двумерный массив размерностью NхM, заполненный целыми числами. Определить, есть ли в данном массиве столбец, в котором имеются одинаковые элементы.







Дата добавления: 2015-09-19; просмотров: 448. Нарушение авторских прав; Мы поможем в написании вашей работы!




Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...


Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...


Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Примеры решения типовых задач. Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2   Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2. Найдите константу диссоциации кислоты и значение рК. Решение. Подставим данные задачи в уравнение закона разбавления К = a2См/(1 –a) =...

Экспертная оценка как метод психологического исследования Экспертная оценка – диагностический метод измерения, с помощью которого качественные особенности психических явлений получают свое числовое выражение в форме количественных оценок...

В теории государства и права выделяют два пути возникновения государства: восточный и западный Восточный путь возникновения государства представляет собой плавный переход, перерастание первобытного общества в государство...

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

Тактика действий нарядов полиции по предупреждению и пресечению правонарушений при проведении массовых мероприятий К особенностям проведения массовых мероприятий и факторам, влияющим на охрану общественного порядка и обеспечение общественной безопасности, можно отнести значительное количество субъектов, принимающих участие в их подготовке и проведении...

Тактические действия нарядов полиции по предупреждению и пресечению групповых нарушений общественного порядка и массовых беспорядков В целях предупреждения разрастания групповых нарушений общественного порядка (далееГНОП) в массовые беспорядки подразделения (наряды) полиции осуществляют следующие мероприятия...

Studopedia.info - Студопедия - 2014-2025 год . (0.01 сек.) русская версия | украинская версия