Консультация № 187207
14.03.2013, 16:07
199.15 руб.
14.03.2013, 18:05
0 4 1
Здравствуйте уважаемые эксперты! Помогите пожалуйста решить еще одну задачу с помощью среды разработки Visual C# Express Edition 2010 в консоле.



Заранее благодарен.


Обсуждение

Неизвестный
14.03.2013, 16:16
общий
https://rfpro.ru/upload/9191
давно
Профессор
399103
482
14.03.2013, 16:47
общий
это ответ
Здравствуйте, alekseyvg!

Предполагаю, что центр круга в (-R,-R), а его радиус -- R.

Код:

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Проверяем, достаточно ли аргуметнов командной строки
// Подразумевается, что они -- радиус и координаты точки
if (args.Length < 3)
{
Console.WriteLine("Параметры командной строки: R x y");
}
else
{
// Преобразуем строки из командной строки в числа
float R = Convert.ToSingle(args[0]);
float x = Convert.ToSingle(args[1]);
float y = Convert.ToSingle(args[2]);

// Проверка на попадание в прямоуголькик
if (0 <= x && x <= 2 * R &&
-R <= y && y <= 0)
{
Console.WriteLine("Точка в прямоугольнике");
}
// Проверка на попадание в круг
else if (sqr(x + R) + sqr(y + R) <= sqr(R))
{
Console.WriteLine("Точка в круге");
}
else
{
Console.WriteLine("Точка не попадает в область");
}
}
}

// Возведение в квадрат
static float sqr(float x)
{
return x * x;
}
}
}
Неизвестный
15.03.2013, 15:12
общий
Я вставил код в редактор, а как мне посмотреть результат окно само закрывается.
давно
Профессор
399103
482
15.03.2013, 18:57
общий
15.03.2013, 19:00
Ну да, закрывается -- это же консольное приложение. Например, такие два варианта "борьбы" с этим:
1. Запускать, собственно, из консоли. Т.е. собрать приложение (Build -> Build Solution), затем
Пуск -> Выполнить(или что там в вашей версии Windows) -> cmd
В консоли перейти в директорию с исполняемым файлом и запустить. Результат работы программы будет напечатан в консоли(не спроста же программа консольной называется).
2. Менее прямой, но более простой. Дописать строчку Conosle.ReadLine() и программа будет ожидать ввода строки, после основной работы. Т.е. полный код будет иметь вид

Код:

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Проверяем, достаточно ли аргуметнов командной строки
// Подразумевается, что они -- радиус и координаты точки
if (args.Length < 3)
{
Console.WriteLine("Параметры командной строки: R x y");
}
else
{
// Преобразуем строки из командной строки в числа
float R = Convert.ToSingle(args[0]);
float x = Convert.ToSingle(args[1]);
float y = Convert.ToSingle(args[2]);

// Проверка на попадание в прямоуголькик
if (0 <= x && x <= 2 * R &&
-R <= y && y <= 0)
{
Console.WriteLine("Точка в прямоугольнике");
}
// Проверка на попадание в круг
else if (sqr(x + R) + sqr(y + R) <= sqr(R))
{
Console.WriteLine("Точка в круге");
}
else
{
Console.WriteLine("Точка не попадает в область");
}
}

Console.ReadLine();
}

// Возведение в квадрат
static float sqr(float x)
{
return x * x;
}
}
}
Форма ответа