Среда программирования:
Visual Studio 2017
Статья по теме:
Введите координаты и нажмите кнопку посчитать
Код программы:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApp11 { public partial class Form1 : Form { Bitmap myBitmap; Graphics g; string[] koord; public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { myBitmap = new Bitmap(pictureBox1.Width, pictureBox1.Height); g = Graphics.FromImage(myBitmap); pictureBox1.Image = myBitmap; koord = textBox1.Text.Split(',');//записываем все координаты массив, разбивая через запятую int n = koord.Length; int[] x = new int[n/2]; int[] y = new int[n/2]; for (int i = 0; i < n; i++) { if (i % 2 == 0) x[i / 2] = Convert.ToInt32(koord[i]); //преобразовываем координаты x в тип int else y[i / 2] = Convert.ToInt32(koord[i]);//преобразовываем координаты y в тип int } Pen pen = new Pen(Color.Black, 2); double square = 0; for (int i = 0; i < n/2-1; i++) //в этом цикле рисуем многоугольник { g.DrawLine(pen,x[i],y[i],x[i+1],y[i+1]); square += x[i] * y[i + 1] - y[i] * x[i + 1]; // cчитаем площадь } g.DrawLine(pen, x[n / 2 - 1], y[n / 2 - 1], x[0], y[0]); square += x[n / 2 - 1] * y[0] - y[n / 2 - 1] * x[0]; square /= 2; if (square < 0) square *= -1; label2.Text = square.ToString(); //выводим площадь на экран } } }
Прикрепленный файл | Размер |
---|---|
Pasternak_example_Square_3.zip | 37.58 кб |