Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace Лаба_5
- {
- public class chetireug //класс четырехугольников
- {
- public static Random rand = new Random();
- public double ax = rand.Next(1, 4), ay = rand.Next(1, 4), bx = rand.Next(1, 4), by = rand.Next(1, 4), cx = rand.Next(1, 4), cy = rand.Next(1, 4), dx = rand.Next(1, 4), dy = rand.Next(1, 4);
- public double AB, BC, CD, DA;
- public double s, p;
- public double AC, BD;
- public int check;
- public chetireug() //нахождение длин сторон
- {
- AB = Math.Sqrt(Math.Pow(Math.Abs(by - ay), 2) + Math.Pow(Math.Abs(bx - ax), 2));
- BC = Math.Sqrt(Math.Pow(Math.Abs(cy - by), 2) + Math.Pow(Math.Abs(cx - bx), 2));
- CD = Math.Sqrt(Math.Pow(Math.Abs(dy - cy), 2) + Math.Pow(Math.Abs(dx - cx), 2));
- DA = Math.Sqrt(Math.Pow(Math.Abs(ay - dy), 2) + Math.Pow(Math.Abs(ax - dx), 2));
- }
- public void checkchetireug()//проверка на существование четырехугольника
- {
- if ((AB < (BC + CD + DA)) && (BC < (AB + CD + DA)) && (CD < (AB + BC + DA)) && (DA < (AB + BC + CD)) && (AB != 0) && (BC != 0) && (CD != 0) && (DA != 0))
- {
- Console.WriteLine("Четырёхугольник существует");
- check = 1;
- }
- else
- {
- Console.WriteLine("Четырёхугольник не существует");
- check = 0;
- }
- }
- public double perimetr() //поиск периметра четырехугольника
- {
- p = AB + BC + CD + DA;
- return p;
- }
- public double square() //поиск площади четырехугольника
- {
- double pp = 0;
- pp = (AB + BC + CD + DA) / 2;
- s = Math.Sqrt((pp - AB) * (pp - BC) * (pp - CD) * (pp - DA));
- return s;
- }
- public double diag1() //поиск первой диагонали четырехугольника
- {
- AC = Math.Sqrt(Math.Pow(Math.Abs(cy - ay), 2) + Math.Pow(Math.Abs(cx - ax), 2));
- return AC;
- }
- public double diag2()//поиск второй диагонали четырехугольника
- {
- BD = Math.Sqrt(Math.Pow(Math.Abs(dy - by), 2) + Math.Pow(Math.Abs(dx - bx), 2));
- return BD;
- }
- public void print_info()//вывод на экран информации о четырехугольнике
- {
- Console.WriteLine("Длины сторон четырёхугольника: ");
- Console.WriteLine("AB = " + AB + "\nBC = " + BC + "\nCD = " + CD + "\nDA = " + DA);
- Console.WriteLine("Периметр четырёхугольника = " + p);
- Console.WriteLine("Площадь четырёхугольника = " + s);
- Console.WriteLine("Диагонали четырёхугольника: ");
- Console.WriteLine("AC = " + AC + "\nBD = " + BD);
- }
- }
- public class paralelogram : chetireug//класс паралелограммов
- {
- public double maxsquare = 0;
- public double minsquare = 0;
- public paralelogram()//поиск сторон параллелограмма
- {
- ax = rand.Next(1, 8); ay = rand.Next(1, 8); bx = rand.Next(1, 8); by = rand.Next(1, 8); cx = rand.Next(1, 8); cy = rand.Next(1, 8);
- AB = Math.Sqrt(Math.Pow(Math.Abs(by - ay), 2) + Math.Pow(Math.Abs(bx - ax), 2));
- BC = Math.Sqrt(Math.Pow(Math.Abs(cy - by), 2) + Math.Pow(Math.Abs(cx - bx), 2));
- CD = AB;
- DA = BC;
- }
- public void checkparalelogram()//проверка на существование параллелограмма
- {
- if ((AB == CD) && (BC == DA))
- {
- Console.WriteLine("Фигура - параллелограмм");
- check = 1;
- }
- else if ((AB < BC + CD + DA) || (BC < AB + CD + DA) || (CD < AB + BC + DA) || (DA < AB + BC + CD))
- {
- Console.WriteLine("Фигура - четырехугольник");
- check = 1;
- }
- else
- {
- Console.WriteLine("Фигура - не четырехугольник");
- check = 0;
- }
- }
- public double squarenm()//поиск площади параллелограмма
- {
- double pp = 0;
- pp = (AB + BC + CD + DA) / 2;
- s = Math.Sqrt((pp - AB) * (pp - BC) * (pp - CD) * (pp - DA));
- return s;
- }
- public void print()
- {
- Console.WriteLine("Площадь параллелограмма = " + s);
- }
- }
- public class okruzhnost : paralelogram //класс окружности
- {
- private double radius;
- public double s, l;
- public okruzhnost(double radius)
- {
- this.radius = radius;
- }
- public double get_radius()//геттер для закрытой переменной радиуса
- {
- return radius;
- }
- public double set_radius(double r)//сеттер для закрытой переменной радиуса
- {
- radius = r;
- return radius;
- }
- public double square(double radius)//поиск площади окружности
- {
- s = 3.141592 * Math.Pow(radius, 2);
- return s;
- }
- public double lenghtokr(double radius)//поиск длины окружности
- {
- l = 2 * 3.141592 * radius;
- return l;
- }
- public void printinfo()//вывод информации об окружности
- {
- Console.WriteLine("Радиус r = " + radius);
- Console.WriteLine("Площадь окружности = " + square(radius) );
- Console.WriteLine("Длина окружности = " + lenghtokr(radius) + "\n\n");
- }
- }
- public class paralell : paralelogram//класс параллелепипеда
- {
- double v;
- new public double perimetr()//поиск периметра параллелепипеда
- {
- p = (AB + BC + CD + DA) * 4;
- return p;
- }
- public double volume()//поиск обьема параллелепипеда
- {
- double h = (Math.Sqrt(3) / 2) * AB;
- v = h * s;
- return v;
- }
- public void print_info1()//вывод информации о параллелепипеде
- {
- Console.WriteLine("Длины сторон:");
- Console.WriteLine("AB = " + AB + "\nBC = " + BC + "\nCD = " + CD + "\nDA = " + DA);
- Console.WriteLine("Периметр = " + p);
- Console.WriteLine("Объём параллелепипеда = " + v);
- }
- new public void print_info()//подробный вывод информации о параллелепипеде
- {
- Console.WriteLine("Длины сторон :");
- Console.WriteLine("AB = " + AB + "\nBC = " + BC + "\nCD = " + CD + "\nDA = " + DA);
- Console.WriteLine("Периметр = " + p);
- Console.WriteLine("Объём параллелепипеда = " + v);
- }
- }
- class programm
- {
- static void Main()
- {
- int N = 3, M = 2;
- double sumsquare = 0, summator = 0;
- chetireug[] chetireug = new chetireug[N];//выделение памяти на класс четырехугольников
- paralelogram[] paralelogram = new paralelogram[M];//выделение памяти на класс параллелограммов
- paralell[] paralell = new paralell[M];//выделение памяти на класс параллелепипеда
- for (int i = 0; i < N; i++)//работа с четырехугольником
- {
- Console.WriteLine("Четырёхугoльник № " + (i + 1));
- chetireug[i] = new chetireug();
- chetireug[i].checkchetireug();
- if (chetireug[i].check == 1)
- {
- chetireug[i].perimetr();
- summator = chetireug[i].square();
- sumsquare += summator;
- chetireug[i].diag1();
- chetireug[i].diag2();
- chetireug[i].print_info();
- }
- Console.WriteLine("\n");
- }
- double mediumsquare = sumsquare / N;//вычисление средней площади
- Console.WriteLine("Средняя площадь четырёхугольников = " + mediumsquare);
- Console.WriteLine("\n");
- double maxsquare = 0;
- double minsquare = 10;
- double squaretor = 0;
- for (int i = 0; i < M; i++)//работа с параллелограммом
- {
- Console.WriteLine("Параллелограмм № " + (i + 1));
- paralelogram[i] = new paralelogram();
- paralelogram[i].checkparalelogram();
- if (chetireug[i].check == 1)
- {
- paralelogram[i].perimetr();
- squaretor = paralelogram[i].square();
- if (squaretor > maxsquare) { maxsquare = squaretor; };//поиск наибольшей площади
- if ((squaretor < minsquare) && (squaretor > 0)) { minsquare = squaretor; };//поиск наименьшей площади
- paralelogram[i].squarenm();
- paralelogram[i].print();
- }
- Console.WriteLine("\n");
- }
- Console.WriteLine("Наибольшее значение площади среди параллелограммов = " + maxsquare);
- Console.WriteLine("Наименьшее значение площади среди параллелограммов = " + minsquare);
- Console.WriteLine("\n");
- okruzhnost okr = new okruzhnost(1.2);
- okr.printinfo();
- for (int i = 0; i < M; i++)//работа с параллелепипедом
- {
- Console.WriteLine("Параллелепипед № " + (i + 1));
- paralell[i] = new paralell();
- paralell[i].perimetr();
- paralell[i].square();
- paralell[i].volume();
- paralell[i].print_info();
- Console.WriteLine("\n");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement