Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
33
Добавлен:
02.05.2014
Размер:
57.86 Кб
Скачать

Уфимский государственный авиационный технический университет

Кафедра АПрИС

Отчёт по лабораторной работе №1 по программированию.

функции

Уфа 2007

Цель работы:

Изучить работу с функциями

Постановка задачи:

Заданы квадратные матрицы A,B,C,D. Вычислить матрицу E=A*B+C*D .

Процедуры: 1.Вычисление суммы двух матриц. 2.Вычисление произведения двух матриц

Блок-схема:

Листинг программы

#include<conio.h>

#include<stdio.h>

#include<stdlib.h>

const n=3;

int e[n][n],f[n][n],g[n][n];

int a[n][n]={{1,2,3},{4,5,6},{7,8,9}};

int b[n][n]={{1,0,1},{0,1,0},{0,0,1}};

int c[n][n]={{0,0,1},{0,1,0},{1,0,1}};

int d[n][n]={{0,5,1},{2,1,0},{1,4,1}};

void multiple(int a1[n][n],int b1[n][n], int c1[n][n]){

int i,j;

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

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

c1[i][j]=0;

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

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

for (int k=0;k<n;k++)

c1[i][j]+=a1[i][k]*b1[k][j];

}

void add(int a1[n][n],int b1[n][n], int c1[n][n])

{

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

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

c1[i][j]=a1[i][j]+b1[i][j];

}

void printm(int a[n][n]){

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

{

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

printf("%2i ",a[i][j]);

printf("\n");

}

printf("\n");

getch();

}

void main()

{

clrscr();

multiple(a,b,e);

multiple(c,d,f);

add(e,f,g);

printf("matrix A:\n");

printm(a);

printf("matrix B:\n");

printm(b);

printf("matrix A*B:\n");

printm(e);

printf("matrix C:\n");

printm(c);

printf("matrix D:\n");

printm(d);

printf("matrix C*D:\n");

printm(f);

printf("matrix E=A*B+C*D:\n");

printm(g);

}

Тестирование программы

Вывод

В результате данной работы были освоены навыки создания и использования функций.

Соседние файлы в папке Лабораторная работа №11