Программа обработки двухмерных массивов (матриц)
Федеральное агентство связи
ФГОБУ ВПО
Сибирский государственный университет
телекоммуникаций и информатики
Кафедра информатики и вычислительной
техники
КУРСОВАЯ РАБОТА
по информатике
на тему: «Программа обработки
двухмерных массивов (матриц)»
Выполнил:
ст-т гр. АВ-41
Герасимова
Анна
Проверил:
Моренкова О. И.
Новосибирск 2014г.
1.
Задача для курсовой работы
ВАРИАНТ 2
Сформировать произвольного размера исходную квадратную матрицу А.
Сформировать массив В из элементов матрицы А, расположенных левее главной
и побочной диагоналей, и вычислить произведение тех элементов этого массива,
которые больше числа, расположенного на пересечении диагоналей исходной
матрицы. Найти минимум в исходной матрице.
.
Краткая теория
Ма́трица - математический объект, записываемый в виде
прямоугольной таблицы чисел и допускающий алгебраические
<#"866217.files/image001.gif">
Вычитание матрицA − B определяется аналогично сложению, это
операция нахождения матрицы C, элементы которой
cij = aij - bij
Существует
нулевая матрица
<#"866217.files/image003.gif">) - есть
операция вычисления матрицы C, элементы которой равны сумме произведений
элементов в соответствующей строке первого множителя и столбце второго.
В первом множителе должно быть столько же столбцов, сколько строк во
втором. Если матрица A имеет размерность , B - , то размерность их произведения AB =
C есть .
Возводить в степень можно только квадратные матрицы.
Транспонирование
матрицы
<#"866217.files/image011.gif">
Если
A - матрица размера , то AT - матрица размера .
матрица файл массив программирование
3.
Блок- схема разработанной функции
4. Программная реализация
#include"stdafx.h"
#include<stdio.h>
#include"conio.h"
#include<stdlib.h>
#include<locale.h>
#include<time.h>_tmain(intargc,
_TCHAR* argv[])
{N=11; //размерность матрицы АM=0; //размерность
вектора В
int A[11][11];B[15];*fp;k=0;P=1;min;(0,"Rus");(inti=0;i<N;i++)
A[i][j]=0;
};("\nВыберите способ задания матрицы:\n1.Задать
матрицу из файла \n2.Ввод матрицы с клавиатуры \n3.Заполнение матрицы
случайными числами \nВыбор: ");
scanf("%d",&k);(k)
{1:
{=fopen("input.txt",
"r");(fp,"%d",&N);(N!=1 && N%2==1)(inti=0;
i<N; i++)(int j=0; j<N; j++)(fp,"%d",&A[i][j]);
elseprintf("Ошибка: размерность матрицы должна быть
нечетной");(fp);;
}2:
{("\nВведите размерность матрицы: \n");
scanf("%d",&N);(N!=1
&& N%2==1)
{("\nВведите элементы матрицы: \n");
for (inti=0; i<N; i++)(int j=0; j<N;
j++)
scanf("%d",&A[i][j]);
}("Ошибка: размерность матрицы должна быть
нечетной");;
}3:
{("\nВведите размерность матрицы: \n");
scanf("%d",&N);(N!=1
&& N%2==1)(inti=0; i<N; i++)
{(int j=0; j<N; j++)
{[i][j] = rand()%100 - 50;("%d ",
A[i][j]);
}("\n");
}("Ошибка: размерность матрицы должна быть
нечетной\n");;
}p=N/2; //середина матрицы
//заполнение массива В=0;
for (inti=1;i<N;i++)
for (int j=0;j<p &&i!=j
&&i+j<N-1;j++)
{[k]=A[i][j];++;++;
};
//произведение
for
(inti=0;i<M;i++)(B[i]>A[p][p])=P*B[i];
//нахождение минимума матрицы=A[0][0];
for (inti=0;i<N;i++)(int
j=0;j<N;j++)(A[i][j]<min)=A[i][j];
//проверка(N!=1 && N%2==1)
{("Элементы массива B: \n");
for (k=0;k<M;k++)("%d \t",
B[k]);
printf ("\nЦентральный элемент матрицы:
%d\n\n", A[p][p]);("Результат умножения:
%d\n\n",P);("Минимальный элемент матрицы: %d\n\n", min);
};();
}
5.
Результат расчетов
5.1 Формирование матрицы из файла
Данные файла
5.2
Ввод матрицы с клавиатуры
.3 Заполнение матрицы случайными числами
.
Вывод
В результате выполнения данного задания я научился различными способами
формировать двухмерные массивы в среде программирования С++, искать центральный
элемент матрицы, минимум матрицы и произведение определенных элементов матрицы.