Задачи поиска, замены и суммирования элементов двумерного массива

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

Пример 4. Найдем максимальный элемент главной диагонали двумерного целочисленного массива размерностью n´n, заданном случайными числами на промежутке [-100; 100).

/*Описание функции поиска максимального элемента главной диагонали*/

int maxim (int str,int slb, int m[max_x][max_y]) {

int i,j, e_max=m[0][0];

for (i=0;i<str;i++)

for (j=0;j<slb;j++)

if ((i==j) && (m[i][j]>e_max))

e_max=m[i][j];

return e_max;

}

 

Пример 5. Найдите сумму элементов столбца двумерного массива, номер которого задается с клавиатуры.

/*Описание функции суммирования элементов заданного номера столбца матрицы*/

int summa (int str,int slb, int nom, int m[max_x][max_y]){

int i,j, sum=0;

for (i=0;i<str;i++)

for (j=0;j<slb;j++)

if (j==nom-1)

sum+=m[i][j];

return sum;

}

Пример 6. Дан двумерный вещественный массив размерностью n´n, заданный случайными числами на промежутке [-100; 100). Замените все элементы выше главной диагонали на 0.0 и ниже ее на 1.1.

//Описание функции замены

void zamena (int str,int slb, double m[max_x][max_y]) {

int i,j;

for (i=0;i<str;i++)

for (j=0;j<slb;j++) {

if (i>j) m[i][j]=0.0;

if (i<j) m[i][j]=1.1;

}

}

Задания

1.Наберите коды программ из Примеров 1, 2 и 3 . Выполните компиляцию и запуск программ.

2.Объявите двумерный целочисленный массив, в котором 10 строк по 7 элементов. Выполните генерацию массива случайными целыми числами количеством n ´ m (n ≤10, m ≤7) из промежутка [a; b). Выведите массив на экран в виде таблицы. Оформите генерацию и ввод массива с помощью функций.

3.Объявите двумерный вещественный массив, в котором n ´ m элементов. Заполните его числами, полученными по закономерности: Распечатайте его в виде таблицы с точностью до 4 знаков после запятой. Найдите в каждом столбце наибольший элемент. Распечатайте найденные элементы под соответствующим столбцом.

4.Объявите двумерный целочисленный массив, в котором n ´ m элементов. Выполните генерацию массива случайными целыми числами из промежутка [a; b). Распечатайте массив в виде таблицы. Найдите суммы элементов массива по строкам. Распечатайте найденные суммы по образцу:

Сумма элементов 0-й строки равна …

Сумма элементов 1-й строки равна ….

Домашние задания

1.На основе предложенных функций в Примерах 4, 5 и 6 разработайте коды программ. Выполните компиляцию и запуск программ.

2.Объявите двумерный вещественный массив, в котором n ´ m элементов. Заполните его числами, полученными по закономерности: . Распечатайте его в виде таблицы с точностью до 3 знаков после запятой. Найдите в каждом столбце среднее арифметическое элементов. Распечатайте найденные средние арифметические под соответствующим столбцом с той же точностью.

3.Объявите двумерный целочисленный массив, в котором n ´ m элементов. Выполните генерацию массива случайными целыми числами из промежутка [a; b). Замените в массиве максимальные элементы каждой строки произведением их цифр. Распечатайте массив в виде таблицы дважды: до и после замены.

4.Объявите двумерный целочисленный массив, в котором n ´ n элементов. Выполните транспонирование полученной квадратной матрицы. Распечатайте массив в виде таблицы дважды: до и после транспонирования.









Дата добавления: 2015-02-16; просмотров: 1180;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

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

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.