Технология программирования Зертханалық жұмыс №2 Тақырып: gdi+ Қолдана отырып windows-қосымшасын дайындау


Результат: Индивидуальные задания для СРС



бет2/2
Дата04.10.2022
өлшемі184,21 Kb.
#41365
1   2
Результат:


Индивидуальные задания для СРС:
2.3.11Создать свой граф не менее 10 вершин, узлы которого соответствуют некоторой электронной схеме без активных элементов. Графически
отобразить предлагаемую схему и напечатать спецификацию ее элементов.
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int[,] a = new int[10, 10]
{
{0,9,1000,1000,1000,14,1000,1000,1000,9},
{ 1000,0,9,1000,1000,1000,14,1000,1000,1000},
{ 1000,1000,0,14,1000,1000,1000,1000,1000,1000},
{ 1000,1000,1000,9,1000,1000,1000,1000,1000,1000},
{ 1000,1000,1000,1000,0,1000,1000,1000,1000,1000},
{ 1000,1000,1000,1000,1000,0,9,1000,1000,1000},
{ 1000,1000,1000,1000,1000,1000,0,10,1000,1000},
{ 1000,1000,1000,1000,1000,1000,1000,0,15,1000},
{ 1000,1000,1000,1000,1000,1000,1000,1000,0,1000},
{ 1000,1000,1000,1000,1000,1000,0,9,1000,1000},
};
int[,] V = new int[10, 2]
{
{ 420,220},
{ 360,160},
{ 300,100},
{ 460,160},
{ 540,100},
{ 600,200},
{ 660,260},
{ 600,340},
{ 420,420},
{480,280 },
};
private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
String st;
int i, j;
int xc, yc;
e.Graphics.Clear(Color.Bisque);
Pen myPen = new Pen(Color.Black, 3);
for (i = 0; i < 10; i++)
for (j = 0; j < 10; j++)
if ((a[i, j] == 9))
{
g.DrawLine(myPen, V[i, 0], V[i, 1], V[j, 0], V[j, 1]);
xc = (int)(V[i, 0] + V[j, 0]) / 2;
yc = (int)(V[i, 1] + V[j, 1]) / 2;
st = Convert.ToString(a[i, j]);
g.DrawString(st, new Font("Times new Roman", 14), Brushes.Blue, xc - 5, yc + 5);
}
for (i = 0; i < 10; i++)
for (j = 0; j < 10; j++)
if ((a[i, j] != 1000) && (a[i, j] != 0) && (a[i, j] != 9))
{
g.DrawLine(myPen, V[i, 0], V[i, 1], V[j, 0], V[j, 1]);
xc = (int)(V[i, 0] + V[j, 0]) / 2;
yc = (int)(V[i, 1] + V[j, 1]) / 2;
st = Convert.ToString(a[i, j]);
g.DrawString(st, new Font("Times new Roman", 14), Brushes.Blue, xc + 5, yc + 10);
}
for (i = 0; i < 10; i++)
{
if (i == 0)
{
g.FillEllipse(Brushes.Navy, V[i, 0] - 12, V[i, 1] - 12, 30, 30);
}
}
for (i = 0; i < 10; i++)
{
if (i != 0)
{
g.FillEllipse(Brushes.Lime, V[i, 0] - 12, V[i, 1] - 12, 25, 25);
st = Convert.ToString(i);
g.DrawString("0", new Font("Lucida Console", 14), Brushes.Green, V[0, 0] - 35, V[0, 1] - 5);
g.DrawString("1", new Font("Lucida Console", 14), Brushes.Green, V[1, 0] - 35, V[1, 1] - 5);
g.DrawString("2", new Font("Lucida Console", 14), Brushes.Green, V[2, 0] - 35, V[2, 1] - 5);
g.DrawString("5", new Font("Lucida Console", 14), Brushes.Green, V[5, 0] + 25, V[5, 1] - 5);
}
if (i != 0 && i != 1 && i != 2 && i != 5)
{
st = Convert.ToString(i);
g.DrawString(st, new Font("Lucida Console", 14), Brushes.Green, V[i, 0] + 10, V[i, 1] + 15);
}
}
}
int k = 0;
}
}



Результат:


Достарыңызбен бөлісу:
1   2




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет