Лекции.Орг


Поиск:




Категории:

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

 

 

 

 


Действия над элементами массива




1. Инициализация массива (заключается в присвоении каждому элементу массива одного и того же значения)

 

§ одномерного

For i:=1 to N do

A[i]:=0;

 

§ двумерного

For i:=1 to N do

For j:=1 to M do

B[i,j]:=0;

 

2. Ввод элементов массива

 

§ одномерного

Write (‘Введите размерность массива N=’);

ReadLn (N);

WriteLn (‘Введите элементы массива’);

For i:=1 to N do

Begin

Write (‘A[‘,i,’]=’);

ReadLn (A[i]);

End;

 

§ двумерного

Write (‘Введите размерность массива N, M’);

ReadLn (N, M);

WriteLn (‘Введите элементы массива’);

For i:=1 to N do

For j:=1 to M do

Begin

Write (‘B[‘,i,’,’,j’]=’);

ReadLn (B[i,j]);

End;

 

3. Вывод элементов массива

 

§ одномерного

WriteLn (‘Вектор А:’);

For i:=1 to N do

Write (A[i]:5);

WriteLn;

§ двумерного

WriteLn (‘Матрица В:’);

For i:=1 to N do

Begin

For j:=1 to M do

Write (B[i,j]:5);

WriteLn;

End;

 

4. Поиск нулевых элементов в массиве

§ одномерном

k:=0;

For i:=1 to N do

If A[i]=0 then k:=k+1;

§ двумерном

k:=0;

For i:=1 to N do

For j:=1 to M do

If B[i,j]=0 then k:=k+1;

 

5. Нахождение минимального элемента массива и его места

§ одномерного

min:=A[1];

i_min:=1;

For i:=1 to N do

If A[i]<min then

Begin

min:=A[i];

i_min:=i;

End;

§ двумерного

min:=B[1,1];

i_min:=1;

j_min:=1;

For i:=1 to N do

For j:=1 to M do

If B[i,j]<min then

Begin

min:=B[i,j];

i_min:=i;

j_min:=j;

End;

 

6. Перестановка минимального и первого элементов в массиве

 

§ одномерном

r:=A[1];

A[1]:=A[i_min];

A[i_min]:=r;

§ двумерном

r:=B[1,1];

B[1,1]:=B[i_min,j_min];

B[i_min,j_min]:=r;

 

7. Нахождение суммы положительных элементов массива

§ одномерного

sum:=0;

For i:=1 to N do

If A[i]>0 then sum:=sum+A[i];

 

§ двумерного

sum:=0;

For i:=1 to N do

For j:=1 to M do

If B[i,j]>0 then sum:=sum+B[i,j];

 

8. Нахождение произведения нечетных элементов

§ одномерного

prod:=1;

For i:=1 to N do

If (A[i] mod 2) <> 0 Then

prod:=prod*A[i];

§ двумерного

prod:=1;

For i:=1 to N do {Функция Odd(X) возвращает значение}

For j:=1 to M do {ложно, если X нечетно }

If Odd(B[i,j]) Then

prod:=prod*B[i,j];

 

9. Нахождение суммы положительных элементов выше главной диа-гонали (включая элементы диагоналей).

Элементы на главной диагонали характеризуются тем, что индекс i=j. Для элементов побочной диагонали для любого i индекс столбца j=n-i+1. Элементы областей выше, ниже главной или побочной диагоналей можно задать или порядком изменения индексов или условиями, накладываемыми на индексы:

i=1,2,…,n; j=1,2,…,i i=1,2,…,n; j=i,i+1,…,n

или i>=j или i>=j

i=1,2,…,n; j=1,2,… n-i+1; i=1,2,…,n;j=n-i+1,…,n

или n-i-j+1>=0 или n-i-j+1<=0

sum:=0;

For i:=1 to n do

For j:=i to n do

If B[i,j]>=0 then sum:=sum+B[i,j];

 

10. Поменять местами максимальный элемент на главной диагонали и минимальный элемент ниже побочной.

Max:=B[1,1];

I_max:=1;

For i:=1 to n do

If B[i,i]> max then

Begin

Max:=B[i,i];

I_max:=i;

End;

Min:=B[1,n];

I_min:=1;

J_min:=n;

For i:=1 to n do

For j:=n-i+1 to n do

If B[i,j]< Min then

Begin

Min:=B[i,j];

I_min:=i;

J_min:=j;

End;

R:=B[I_max,I_max];

B[I_max,I_max]:=B[I_min,J_min];

B[I_min,J_min]:=R;

 

11. Дана квадратная матрица В размерности nxn. Построить вектор А, где аi – сумма положительных элементов i-ой строки матрицы.

For i:=1 to n do

Begin

S:=0;

For j:=1 to n do

If B[i,j]>0 then S:=S+B[i,j];

A[i]:=S;

End;

 

12. Дана квадратная матрица В размерности nxn. В каждом столбце оставить без изменения максимальный элемент столбца, остальные элементы заменить нулями.

For j:=1 to n do

Begin

Max:=B[1,j];

I_max:=1;

For i:=1 to n do

If B[i,j]> Max then

Begin

Max:=B[i,j]

I_max:=i;

End;

For i:=1 to n do

If i_max<>i then B[i,j]:=0;

End;

 

Пример: Дан целочисленный вектор A(n), поменять местами максимальный и минимальный элементы вектора. На печать выдавать исходный вектор, максимальный, минимальный элементы, полученный вектор.

 

Program Example_Vect;

Uses Crt;

Const

N_max=10;

Var

N,i,max,i_max,min,i_min,r:integer;

A:array [1..N_max] of integer;

Begin

Clrscr;

Write(‘Введите размерность массива N (<’,N_max,’)=’);

ReadLn (N);

WriteLn (‘Введите элементы массива’);

For i:=1 to N do { ввод элементов вектора}

Begin

Write (‘A[‘,i,’]=’);

ReadLn (A[i]);

End;

WriteLn (‘Исходный вектор А:’);

For i:=1 to N do { вывод вектора}

Write (A[i]:5);

WriteLn;

min:=A[1]; {нахождение минимального элемента}

i_min:=1; {и его индекса}

For i:=1 to N do

If A[i]<min then

Begin

min:=A[i];

i_min:=i;

End;

max:=A[1];

i_max:=1; {нахождение максимального элемента}

For i:=1 to N do {и его индекса}

If A[i]>max then

Begin

max:=A[i];

i_max:=i;

End;

WriteLn (‘Минимальный элемент A[‘,i_min,’]=’,min);

WriteLn (‘Максимальный элемент A[‘,i_max,’]=’,max);

r:=A[i_min]; {перестановка}

A[i_min]:=A[i_max];

A[i_max]:=r;

WriteLn (‘Полученный вектор А:’);

For i:=1 to N do {вывод полученного вектора}

Write (A[i]:5);

WriteLn;

End.

Порядок выполнения работы

1. Изучить описание лабораторной работы и ответить на контрольные вопросы.

2. Войти в режим редактирования и набрать текст программы (в соответствии с полученным вариантом задания).

3. Запустить программу на трансляцию и выполнение.

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


6. Варианты заданий

Примечание:

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

 

№ варианта Постановка задачи
   
  Составить одномерный массив из максимальных элементов строк матрицы [MxN]. Размерность массива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.
  Определить число элементов матрицы [MxN] кратных A. Размерность массива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.
  Задан двухмерный массив (матрица вещественных чисел). Найти наибольший и наименьший элементы массива. Размерность массива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.
  Перемножить 2 матрицы [MxN] и [NxK]. Размерность массива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.
  Задан двухмерный массив вещественных чисел размерности 3х3. Найти номер строки и номер столбца, в которых находится наименьший элемент. Массив описать как типизированную константу.
  Вывести все элементы двумерного массива [MxN] кратные A. Размерность массива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.

 

 

   
  Задан двухмерный массив вещественных чисел. Необходимо каждый элемент соответствующей строки разделить на сумму элементов этой строки. Размерность массива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.
  Найти сумму элементов матрицы [MxN], расположенных ниже побочной диагонали. Размерность массива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.
  Найти число отрицательных элементов матрицы [MxN], расположенных в столбцах с номером, кратным A. Размерность асссива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.
  Задан двухмерный массив вещественных чисел. Заменить все отрицательные элементы нулями и подсчитать сумму положительных элементов в каждом столбце. Размерность массива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.
  Найти произведение элементов матрицы [MxN], расположенных выше главной диагонали. Размерность массива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.
  Поменять местами элементы j и k столбцов матрицы [MxN]. Размерность массива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.
  Определить количество элементов матрицы [MxN] больших A и расположенных в четных строках и столбцах. Размерность асссива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.
  Найти минимальный элемент главной диагонали матрицы [MxN]. Размерность массива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.
  Составить одномерный массив из максимальных элементов строк матрицы [MxN]. Размерность массива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.
  Определить число элементов матрицы [MxN] кратных A. Размерность массива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.
  Составить одномерный массив из максимальных элементов строк матрицы [MxN]. Размерность массива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.

 

 

   
  Определить число элементов матрицы [MxN] кратных A. Размерность массива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.
  Задан двухмерный массив (матрица вещественных чисел). Найти наибольший и наименьший элементы массива. Размерность массива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.
  Перемножить 2 матрицы [MxN] и [NxK]. Размерность массива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.
  Задан двухмерный массив вещественных чисел размерности 3х3. Найти номер строки и номер столбца, в которых находится наименьший элемент. Массив описать как типизированную константу.
  Вывести все элементы двумерного массива [MxN] кратные A. Размерность массива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.
  Задан двухмерный массив вещественных чисел. Необходимо каждый элемент соответствующей строки разделить на сумму элементов этой строки. Размерность массива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.
  Найти сумму элементов матрицы [MxN], расположенных ниже побочной диагонали. Размерность массива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.
  Задан двухмерный массив вещественных чисел. Необходимо каждый элемент соответствующей строки разделить на сумму элементов этой строки. Размерность массива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.
  Найти сумму элементов матрицы [MxN], расположенных ниже побочной диагонали. Размерность массива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.
  Найти число отрицательных элементов матрицы [MxN], расположенных в столбцах с номером, кратным A. Размерность асссива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.
  Задан двухмерный массив вещественных чисел. Заменить все отрицательные элементы нулями и подсчитать сумму положительных элементов в каждом столбце. Размерность массива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.

 

 

   
  Найти произведение элементов матрицы [MxN], расположенных выше главной диагонали. Размерность массива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.
  Поменять местами элементы j и k столбцов матрицы [MxN]. Размерность массива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.
  Определить количество элементов матрицы [MxN] больших A и расположенных в четных строках и столбцах. Размерность массива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.
  Найти произведение элементов матрицы [MxN], расположенных выше главной диагонали. Размерность массива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.
  Поменять местами элементы j и k столбцов матрицы [MxN]. Размерность массива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.
  Определить количество элементов матрицы [MxN] больших A и расположенных в четных строках и столбцах. Размерность массива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры.
  Составить одномерный массив из максимальных элементов строк матрицы [MxN]. Размерность массива (число строк и (или) число столбцов) и значения его элементов ввести с клавиатуры

 

 

Контрольные вопросы

1. Каково назначение режимов Debug системы Turbo?

2. Какие команды имеются в режимах Debug?

3. Указать особенности программ, использующих массивы.

4. Какие операторы можно использовать для описания массивов?

5. В чем состоит особенность организации цикла при обработке массивов?

6. Указать особенности ввода и вывода массивов.





Поделиться с друзьями:


Дата добавления: 2016-12-04; Мы поможем в написании ваших работ!; просмотров: 621 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Большинство людей упускают появившуюся возможность, потому что она бывает одета в комбинезон и с виду напоминает работу © Томас Эдисон
==> читать все изречения...

2551 - | 2215 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.