Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Microsoft .NET

  Все выпуски  

RFpro.ru: Microsoft .NET


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты по данной тематике

CradleA
Статус: Бакалавр
Рейтинг: 2620
∙ повысить рейтинг »
Micren
Статус: Профессор
Рейтинг: 1819
∙ повысить рейтинг »
Andrew Kovalchuk
Статус: Профессионал
Рейтинг: 735
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / Microsoft .NET : C#

Номер выпуска:227
Дата выхода:23.01.2012, 23:30
Администратор рассылки:Асмик (Академик)
Подписчиков / экспертов:124 / 47
Вопросов / ответов:1 / 1

Консультация # 185222: Уважаемые эксперты! Пожалуйста, ответьте на вопрос:код по строчно помогите пожалуйста описать

Код :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Program2
{
    class Program
    {
 
...

Консультация # 185222:

Уважаемые эксперты! Пожалуйста, ответьте на вопрос:код по строчно помогите пожалуйста описать

Код :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Program2
{
    class Program
    {
        static double[] X = new double[] { 0, 2, 2, 0 };
        static double[] Y = new double[] { 0, 0, 2, 2 };
        static int count;
        static double Qx, Qy, Zx, Zy;
        static double Snative = 0;
        static double Spieces = 0;
        static double e = 0.0001;
        static double Area3(double X1, double Y1, double X2, double Y2, double X3, double Y3)
        {
            double area = 0;
            double a, b, c, p;
            c = Math.Sqrt(Math.Pow(Y1 - Y2, 2) + Math.Pow(X1 - X2, 2));
            b = Math.Sqrt(Math.Pow(Y2 - Y3, 2) + Math.Pow(X2 - X3, 2));
            a = Math.Sqrt(Math.Pow(Y1 - Y3, 2) + Math.Pow(X1 - X3, 2));
            p = (a + b + c) / 2;
            area = Math.Sqrt(p * (p - a) * (p - b) * (p - c));
            return area;
        }
        static double ReadCoor(string str)
        {
            double result;
            Console.Write(str);
            result = double.Parse(Console.ReadLine());
            return result;
        }
        static void Sarea(double Ax, double Ay, string pname)
        {
            Spieces = Area3(Ax, Ay, X[0], Y[0], X[count - 1], Y[count - 1]);
            for (int i = 0; i < count - 1; i++)
            {
                Spieces += Area3(Ax, Ay, X[i], Y[i], X[i + 1], Y[i + 1]);
            }
            Console.WriteLine("Точка {0} находится {1} предела(е)", pname, ((Math.Abs(Snative - Spieces) < e) ? "в " : "вне "));
        }
        static void Main(string[] args)
        {
            Console.WriteLine("Введите координаты точки Q:");
            Qx = ReadCoor("X = ");
            Qy = ReadCoor("Y = ");
            Console.WriteLine("Введите координаты точки Z:");
            Zx = ReadCoor("X = ");
            Zy = ReadCoor("Y = ");
            count = X.Length;
            for (int i = 1; i < count - 1; i++)
            {
                Snative += Area3(X[0], Y[0], X[i], Y[i], X[i + 1], Y[i + 1]);
            }
            Sarea(Qx, Qy, "Q");
            Sarea(Zx, Zy, "Z");
            Console.WriteLine("Готово. Нажмите любую клавишу...");
            Console.ReadKey(true);
        }
    }
}

Дата отправки: 19.01.2012, 21:57
Вопрос задал: Иванов Евгений Александрович (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Асмик (Академик):

Здравствуйте, Иванов Евгений Александрович!

using System;
//используем пространство имен System
using System.Collections.Generic;
//используем пространство имен System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Program2
//пространство имен нашей программы
{
class Program
//открывается класс
{
static double[] X = new double[] { 0, 2, 2, 0 };
//описание массива действительных чисел размером 4
static double[] Y = new double[] { 0, 0, 2, 2 };
static int count;
//описание переменной целого типа
static double Qx, Qy, Zx, Zy;
//описание переменных вещественого типа
static double Snative = 0;
static double Spieces = 0;
//описание переменных вещественого типа
static double e = 0.0001;
//описание переменной вещественого типа с инициализацией
static double Area3(double X1, double Y1, double X2, double Y2, doubl e X3, double Y3)
//статический метод с 6 действительными аргументами
//вычисление площади треугольника
{
double area = 0;
double a, b, c, p;
//описание переменных вещественого типа
c = Math.Sqrt(Math.Pow(Y1 - Y2, 2) + Math.Pow(X1 - X2, 2));
//вычисление расстояния между точками (X1,Y1) (X2,Y2)
b = Math.Sqrt(Math.Pow(Y2 - Y3, 2) + Math.Pow(X2 - X3, 2));
//вычисление расстояния между точками (X2,Y2) (Y3,Y3)
a = Math.Sqrt(Math.Pow(Y1 - Y3, 2) + Math.Pow(X1 - X3, 2));
//вычисление расстояния между точками (X1,Y1) (Y3,Y3)
p = (a + b + c) / 2;
//вычисление полупериметра
area = Math.Sqrt(p * (p - a) * (p - b) * (p - c));
//вычисление площади треугольника
return area;
//возврат из метода
}
static double ReadCoor(string str)
//статический метод с 1 аргументом типа строка
{
double result;
//описание переменной
Console.Write(str);
//вывести на консоль аргумент str
result = double.Parse(Console.ReadLine());
//преобразовать введенную строку в число
return result;
}
static void Sarea(double Ax, double Ay, string pname)
//статический метод с 3 аргументами

{
Spieces = Area3(Ax, Ay, X[0], Y[0], X[count - 1], Y[count - 1]);
// вычислить площадь треугольника, вызвав метод
for (int i = 0; i < count - 1; i++)
{
Spieces += Area3(Ax, Ay, X[i], Y[i], X[i + 1], Y[i + 1]);
//вычислить сумму площадей треугольников, где одна из вершин постоянна, а две другие заданы в массива
}
Console.WriteLine("Точка {0} находится {1} предела(е)", pname, ((Math.Abs(Snative - Spieces) < e) ? "в " : "вне "));
//если вычисленное число близко к Snative, вывести сообщение
}
static void Main(string[] args)
//метод Main
{
Console.WriteLine("Введите координаты точки Q:");

Qx = Rea dCoor("X = ");
//ввести координаты точки Q
Qy = ReadCoor("Y = ");
Console.WriteLine("Введите координаты точки Z:");
//ввести координаты точки Z
Zx = ReadCoor("X = ");
Zy = ReadCoor("Y = ");
count = X.Length;
//Размер массива
for (int i = 1; i < count - 1; i++)
{
Snative += Area3(X[0], Y[0], X[i], Y[i], X[i + 1], Y[i + 1]);
//вычислить площадь многоугольника, вершины которого заданы в массиве x[0]..x[count]
}
Sarea(Qx, Qy, "Q");
Sarea(Zx, Zy, "Z");
Console.WriteLine("Готово. Нажмите любую клавишу...");
Console.ReadKey(true);
}
}
}
Если точка находится внутри данного квадрата, то сумма площадей треугольников будет равна площади квадрата.
Если точка находится вне, то эта сумма будет отличаться от площади квадрата.

Консультировал: Асмик (Академик)
Дата отправки: 19.01.2012, 22:20
Рейтинг ответа:

НЕ одобряю +1 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!



В избранное