Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Лабораторная работа. Массивы и их обработка

Поиск

Цель: получить практические навыки работы с массивами и представления о способах их обработки.

 

Общие сведения

Массив — это упорядоченный набор элемен­тов одинакового типа, имеющих общее имя. Все эле­менты массива пронумерованы. Порядковый номер элемента в массиве называется индексом. Массивы должны быть обязательно описа­ны перед использованием в программе. Различают одномерные (векторы), двумерные (матрицы) и многомерные массивы, однако на практике массивы размерностью свыше трех исполь­зуются крайне редко. Общий вид объявления массива:

тип_элементов имя_массива [N1][N2]...[Nk];

Количество индексов [N1][N2]...[Nk] опре­деляет размерность массива. При объявлении массива указыва­ется общее число элементов массива. Индексация элементов массива в С++ по умолчанию начинается с нуля. Размер массива может задаваться константой или константным выражением. Нельзя задать массив переменного размера, для этой цели используется отдельный механизм - динамическое выделение памяти. В языке C++ возможна инициализация массива при его объяв­лении.

К элементам массива применимы две операции: присваива­ние и выборка. Для выборки элементов массива и их обработки чаще всего используются циклы.

 

Задание к лабораторной работе

Решить задачу, соответствующую варианту, выбранному по таблице 3.1. Построить блок-схему программы и организовать ввод данных, если это необходимо, с помощью генератора случайных чисел.

 

Таблица 3.1 – Варианты заданий

Вариант Задание
  Дана целочисленная прямоугольная матрица. Определить: количество строк, не содержащих ни одного нулевого элемента; максимальное из чисел, встречающихся в заданной матрице более одного раза.
  Дана целочисленная прямоугольная матрица, содержащая элементы, равные 1. Определить количество столбцов, не содержащих ни одного элемента равного 1; среднее геометрическое элементов строки, содержащей минимальный элемент побочной диагонали.
  Дана целочисленная прямоугольная матрица. Определить: количество столбцов, содержащих хотя бы один нулевой элемент; номер строки, в которой находится самая длинная серия одинаковых элементов.
  Дана целочисленная прямоугольная матрица. Определить: произведение элементов в тех строках, которые не содержат отрицательных элементов; максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы.
  Дана целочисленная прямоугольная матрица. Определить: сумму элементов в тех столбцах, которые не содержат положительных элементов; минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы.
  Дана целочисленная прямоугольная матрица. Матрица А имеет седловую точку Аij,, если A ij является минимальным элементом в i–той строке и максимальным в j-столбце. Определить: сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент.
  Для заданной матрицы размером 10х10 найти такие k, что k-я строка совпадает с k-м столбцом. Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент.
  Характеристикой столбца целочисленной матрицы назовем сумму модулей его отрицательных нечетных элементов. Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик.
  Элемент матрицы называется локальным минимумом, если он строго меньше всех имеющихся у него соседей. Подсчитать количество локальных минимумов заданной матрицы размером 10х10.
  Характеристикой столбца целочисленной матрицы назовем сумму модулей его отрицательных нечетных элементов. Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик.
  Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нулями. Найти номер первой из строк, содержащих хотя бы один положительный элемент.
  Переставить элементы квадратной целой матрицы так, чтобы ее минимальный элемент находился в левом верхнем углу, следующий по величине - (1,1), следующий по величине – в позиции (2,2) и т.д., заполнив всю главную диагональ.
  Переставить элементы квадратной вещественной матрицы так, чтобы ее максимальный элемент находился в левом верхнем углу, следующий по величине - (1,1), следующий по величине – в позиции (2,2) и т.д., заполнив всю главную диагональ.
  Дана целочисленная квадратная матрица. Определить: среднее арифметическое элементов в тех строках, которые не содержат отрицательных элементов. Результат переписать в вектор.
  Дан двумерный массив размерностью 4х7, заполненный целыми числами. Сформировать одномерный массив, каждый элемент которого равен наибольшему по модулю элементу соответствующего столбца.
  Найти среднее геометрическое элементов, расположенных выше побочной диагонали вещественной матрицы 10х10. Переписать элементы, расположенные после минимального элемента в вектор.
  Дан двумерный массив размерностью 6х5, заполненный целыми числами. Сформировать одномерный массив, каждый элемент которого равен количеству отрицательных элементов, кратных 2 или 4, соответствующей строки.
  Элемент матрицы называется локальным максимумом, если он строго больше всех имеющихся у него соседей. Подсчитать количество локальных максимумов заданной матрицы размером 12х12.
  Дан двумерный массив размерностью 6х5, заполненный целыми числами. Сформировать одномерный массив, каждый элемент которого равен первому четному элементу соответствующего столбца. Если такого нет, то он равен нулю.
  Характеристикой строки целочисленной матрицы А 10х8 назовем сумму ее положительных четных элементов. Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик.
  Дана целочисленная прямоугольная матрица. Матрица А имеет седловую точку Аij,, если A ij является минимальным элементом в i–той строке и максимальным в j-столбце. Определить: произведение элементов в тех строках, которые содержат хотя бы один положительный элемент.
  Дан двумерный массив размерностью 9х5, заполненный целыми числами. Сформировать одномерный массив, каждый элемент которого равен наименьшему по модулю элементу соответствующего столбца.
  Найти сумму элементов целочисленной матрицы 10х8 в тех столбцах, которые содержат хотя бы один отрицательный элемент. Переписать их в одномерный массив.
  Найти среднее геометрическое модулей элементов целочисленной матрицы, расположенных на побочной диагонали. Определить максимальный элемент в матрице и его местоположение.
  Дана целочисленная квадратная матрица. Определить минимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы. Суммы переписать в одномерный массив.
  Найти номер первой из строк вещественной матрицы, не содержащих ни одного отрицательного элемента. Определить максимальную сумму в столбцах матрицы.
  Найти номер первого из столбцов целочисленной матрицы, не содержащих ни одного положительного элемента. Определить минимальное произведение в строках матрицы.
  Найти сумму модулей элементов, расположенных выше главной диагонали целочисленной матрицы 10х10. Переписать элементы, расположенные после максимального элемента в вектор.
  Найти произведение элементов в тех столбцах целочисленной матрицы, которые содержат хотя бы один положительный элемент. Переписать элементы, расположенные до минимального элемента в одномерный массив.
  Дана целочисленная квадратная матрица. Определить: среднее геометрическое элементов в тех строках, которые не содержат отрицательных элементов. Максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы.

 

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

3.3.1 Что представляет собой массив элементов?

3.3.2 Какой максимальной размерности может быть многомерный массив?

3.3.3 Как объявляется массив?

3.3.4 С какой целью используется механизм выделения динамической памяти?

3.3.5 Как инициализируются элементы массива?

3.3.6 Как можно сформировать случайным образом массив элементов?

3.3.7 Какие способами ввода элементов массива существуют в С++?

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

3.3.9 Каковы особенности обработки квадратной матрицы?

3.3.10 Как организовать обработку матрицы произвольной размерности по столбцам (по строкам)?

 



Поделиться:


Последнее изменение этой страницы: 2016-09-20; просмотров: 852; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.129.42.198 (0.007 с.)