|
Задача 27.
Условие задачи Алгоритм работы Листинг программы Набор тестов
Условие задачи
Представьте требуемое преобразование в матричном виде (стандартный вид и однородная матричная запись). Напишите программу для реализации этих преобразований. Напишите программу, которая по заданной матице инцидентности строит рисунок графа (в виде матрицы).
Задание:
Условие задачи Алгоритм работы Листинг программы Набор тестов
Алгоритм работы
Описываем требуемые в задание преобразования в матричном виде и реализуем их. Описываем необходимые математические операции в программе. Строим матрицу инцидентности.
Условие задачи Алгоритм работы Листинг программы Набор тестов
Листинг программы
-
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
void GetMt(int M[10][10], int n);
void Pech(int M[10][10], int n);
void Umn(int MtA[10][10], int MtB[10][10], int MtC[10][10], int n);
void Slog(int MtA[10][10], int MtB[10][10], int MtC[10][10], int n);
void Trnsp(int MtA[10][10], int MtB[10][10], int n);
int main()
{
int ch,i,j,m,n,imx;
int MtA[10][10],MtB[10][10],MtC[10][10];
int MtD[10][10],MtE[10][10],MtH[10][10];
cout<<"n: ";
cin>>n;
randomize();
GetMt(MtA,n);
Pech(MtA,n);
GetMt(MtB,n);
Pech(MtB,n);
GetMt(MtC,n);
Pech(MtC,n);
cout<<"Enter-<"<<endl;
ch=getch();
Trnsp(MtB,MtD,n);
Pech(MtD,n);
Umn(MtD,MtA,MtE,n);
Pech(MtE,n);
Umn(MtE,MtC,MtH,n);
Pech(MtH,n);
ch=getch();
}
void GetMt(int M[10][10], int n)
{int i,j;
for (i=0;i<n;i++)
{for (j=0;j<n;j++)
M[i][j]=random(10);
}
}
void Pech(int M[10][10], int n)
{ int i,j;
for (i=0;i<n;i++)
{for (j=0;j<n;j++)
cout<<M[i][j]<<" ";
cout<<endl;
}
cout<<endl;
}
void Umn(int MtA[10][10], int MtB[10][10], int MtC[10][10], int n)
{int i,j,k,rz;
for (i=0;i<n;i++)
for (k=0;k<n;k++)
{MtC[i][k]=0;
for (j=0;j<n;j++)
MtC[i][k]=MtC[i][k]+MtA[i][j]*MtB[j][k];
}
}
void Slog(int MtA[10][10], int MtB[10][10], int MtC[10][10], int n)
{int i,j;
for (i=0;i<n;i++)
for (j=0;j<n;j++)
MtC[i][j]=MtA[i][j]+MtB[i][j];
}
void Trnsp(int MtA[10][10], int MtB[10][10], int n)
{int i,j;
for (i=0;i<n;i++)
for (j=0;j<n;j++)
MtB[j][i]=MtA[i][j];
}
|
-
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
void GetMt(int M[10][10], int n);
void Pech(int M[10][10], int n);
void Umn(int MtA[10][10], int MtB[10][10], int MtC[10][10], int n, int i, int k);
void Slog(int MtA[10][10], int MtB[10][10], int MtC[10][10], int n, int i, int j);
void Trnsp(int MtA[10][10], int MtB[10][10], int n, int i, int j);
int main()
{
int ch,i,j,m,n,imx;
int MtA[10][10],MtB[10][10],MtC[10][10];
int MtD[10][10],MtE[10][10],MtH[10][10];
cout<<"n: ";
cin>>n;
randomize();
GetMt(MtA,n);
Pech(MtA,n);
GetMt(MtB,n);
Pech(MtB,n);
GetMt(MtC,n);
Pech(MtC,n);
cout<<"Enter-<"<<endl;
ch=getch();
Trnsp(MtB,MtD,n,0,0);
Pech(MtD,n);
Umn(MtD,MtA,MtH,n,0,0);
Pech(MtH,n);
Umn(MtH,MtC,MtE,n,0,0);
Pech(MtE,n);
ch=getch();
}
void GetMt(int M[10][10], int n)
{int i,j;
for (i=0;i<n;i++)
{for (j=0;j<n;j++)
M[i][j]=random(10);
}
}
void Pech(int M[10][10], int n)
{ int i,j;
for (i=0;i<n;i++)
{for (j=0;j<n;j++)
cout<<M[i][j]<<" ";
cout<<endl;
}
cout<<endl;
}
void Umn(int MtA[10][10], int MtB[10][10], int MtC[10][10], int n, int i, int k)
{int j;
if (i<n)
{ MtC[i][k]=0;
for (j=0;j<n;j++)
MtC[i][k]=MtC[i][k]+MtA[i][j]*MtB[j][k];
k++; if (k==n) {k=0; i++;}
Umn(MtA,MtB,MtC,n,i,k);}
}
void Slog(int MtA[10][10], int MtB[10][10], int MtC[10][10], int n, int i, int j)
{
if (i<n)
{
MtC[i][j]=MtA[i][j]+MtB[i][j];
j++; if (j==n) {j=0; i++;}
Slog(MtA,MtB,MtC,n,i,j);
}
}
void Trnsp(int MtA[10][10], int MtB[10][10], int n, int i, int j)
{
if (i<n)
{
MtB[j][i]=MtA[i][j];
j++; if (j==n) {j=0; i++;}
Trnsp(MtA,MtB,n,i,j);
}
}
|
Условие задачи Алгоритм работы Листинг программы Набор тестов
Набор тестов к программе
n: 3
5 2 8
8 6 9
5 9 7
2 8 6
6 2 6
6 6 3
3 8 4
4 4 6
1 3 5
Enter-<
2 6 6
8 2 6
6 6 3
88 94 112
86 82 124
93 75 123
752 1416 1476
710 1388 1456
702 1413 1437
n: 3
5 0 3
9 5 9
8 4 1
9 1 6
2 1 5
7 7 1
0 2 7
1 1 1
7 2 8
Enter-<
9 2 7
1 1 7
6 5 1
119 38 52
70 33 19
83 29 64
402 380 1287
166 211 675
477 323 1122
Автор решения: Давыдов Артём
группа: 121Ми
год: 2008
Автор задачи: Гладков В.П. Курс лабораторных работ по программированию: Учебное пособие для специальностей электротехнического факультета ПГТУ/ Перм.гос.техн.ун-т.-Пермь,1998.-153с.
|