Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика 1 курс / метод указания / Информатика. Основы программирования на С++. Учебное пособие.doc
Скачиваний:
142
Добавлен:
08.06.2015
Размер:
2.15 Mб
Скачать

Результат выполнения программы

Матрица a:

....5.83 ....7.96 ...10.09 ...12.22 ...14.35 ...16.48 ...18.61

..-7.788 ..-8.943 ..-8.918 ..-8.473 ..-7.832 ..-7.083 ..-6.268

..-1.958 .-0.9834 ...1.172 ...3.747 ...6.518 ...9.397 ...12.34

..-9.746 ..-9.927 ..-7.746 ..-4.726 ..-1.314 ...2.315 ...6.074

...-11.7 ..-10.91 ..-6.573 .-0.9794 ...5.204 ...11.71 ...18.42

..-21.45 ..-20.84 ..-14.32 ..-5.706 ...3.891 ...14.03 ...24.49

..-33.15 ..-31.75 ..-20.89 ..-6.685 ...9.095 ...25.74 ...42.91

Число элементов в четных столбцах матрицы a,

не принадлежащих интервалу (5,10):

k=19

Произведение отрицательных элементов в 7 строке

нечетных столбцов матрицы a:

p=692.6

!! Проанализируйте программу. Создав новый файл проекта с именем mass_1.ide, наберите в нем текст данной программы, откомпилируйте ее и произведите запуск программы на выполнение.

Пример 2. Дана целочисленная матрица А(4,3). Получить матрицу В(4,3) по правилу , (i=1,…,4;j=1,…,3).

В матрице А найти произведение элементов, стоящих ниже первой строки, а во втором столбце матрицы В определить количество единичных элементов.

Программа для решения данной задачи приведена в лист. 5.2.

Листинг 5.2. mass_2.сpp

#include <iostream.h>

#include <math.h>

#include <iomanip.h> //Подключение заголовочного файла, включающего

//модификатор setw (установка ширины вывода)

void main()

{

long b[4][3],a[4][3]={{ 1,-2 , 3 }, //Инициализация матрицы a

{4 , 5 , -6},

{-7, -8 , 9 },

{10,11,12}};

//Получение матрицы b

for(int i=0;i<4;i++)

for(int j=0;j<3;j++)

b[i][j]=(a[i][j]<0)? 0:1;

//Вывод матриц a и b

cout<<"Матрица a:"<<"\n";

for(int i=0;i<4;i++)

for(int j=0;j<3;j++)

{cout<<" "<<setw(4)<<a[i][j]; //Фоматирование вывода

if(j==2)cout<<"\n"; //Формирование строки

}

cout<<"Матрица b:"<<"\n";

for(int i=0;i<4;i++)

for(int j=0;j<3;j++)

{cout<<" "<<setw(4)<<b[i][j];

if(j==2)cout<<"\n";

}

//Определение произведения элементов матрицы a,

//стоящих ниже первой строки

long p=1;

for(int i=1;i<4;i++)

for(int j=0;j<3;j++)

p*=a[i][j];

cout<<"p="<<p<<endl;

//Определение количества единичных элементов

//во втором столбце матрицы b

int s=0;

for(int i=0,j=1;i<4;i++)

if (b[i][j]==1) s++;

cout<<"s="<<s<<endl;

}

Результат выполнения программы

Матрица a:

1 -2 3

4 5 -6

-7 -8 9

10 11 12

Матрица b:

1 0 1

1 1 0

0 0 1

1 1 1

p=-79833600

s=2

!! Проанализируйте программу. Создав новый файл проекта с именем mass_2.ide, наберите в нем текст данной программы, откомпилируйте ее и произведите запуск программы на выполнение.

Упражнения

Составить и отладить программу преобразования двумерных массивов согласно приведенным в табл. 5.2 вариантам заданий.

Таблица 5.2

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

1

Дана вещественная матрица А(3,3). Получить матрицу В(3,3), каждый элемент которой вычисляется по формуле

Сформировать матрицу C(3,3), являющуюся суммой матриц А и В: сij = aij + bij; (i=1,…,3; j=1,…,3)

2

Вещественную матрицу А(3,4) преобразовать в матрицу В(3,4) по правилу (i=1,…,3; j=1,…,4).

Найти количество нулевых элементов матрицы А и сумму отрицательных элементов второго столбца матрицы В

Окончание табл. 5.2

3

Даны целочисленные матрицы В(4,4) и С(4,4). Построить матрицу А(4,4), каждый элемент которой вычисляется по формуле , (i=1,…,4; j=1,…,4).

В матрице А найти произведение элементов, стоящих выше главной диагонали, а в матрице В – максимальный элемент в третьей строке

4

Дана целочисленная матрица А(4,6). Получить матрицу В(4,6), каждый элемент которой вычисляется по формуле

(i=1,…,4; j=1,…,6). В матрице А найти количество отрицательных элементов в четных столбцах. Найти минимальный элемент в четвертом столбце матрицы В и его индекс (номер строки)

5

Получить матрицу А(5,5), для которой ,

(i=1,…,5; j=1,…,5).

Вычислить Z=S/K, где S – сумма элементов побочной диагонали матрицы А; К – количество положительных элементов матрицы А. Построить матрицу В(5,5) по правилу

6

Получить матрицу А(4,4), для которой

(i=1,…,4; j=1,…,4).

Найти сумму элементов, стоящих правее второго столбца. В третьей строке определить количество отрицательных элементов

7

Дана целочисленная матрица А(5,3). Найти аmax – максимальный элемент в ее нечетных строках. Сформировать матрицу В(5,3) по правилу: , (i=1,…,5; j=1,…,3).

Определить среднее арифметическое элементов второй строки матрицы В