
Не могу составить алгоритм/найти в тырнете. Чёрт его знает, не получается запустить. Буду при
многом благодарен за правильно составленный алгоритм! Задание: Имеется круг, заданный координатами центра (50,50) и радиусом = 30. Случайным образом формируются 10 точек (x,y) – координаты в диапазоне от 0 до 100. Определить и сколько точек попало в круг. Использовать методпроцедуру Мой код: namespace LabWork_4 { class Program { static void Main(string[] args) { public int InCircle(int[] x, int[] y) { int count = 0; for (int i = 0; i < x.Length; i++) { if (Math.Sqrt((50 - x[i]) * (50 - x[i]) + (50 - y[i]) * (50 - y[i]), 2) <= 30); } return count; Console.ReadLine(); } } } }

Ответы на вопрос

Ответ:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApp
{
class Program
{
//Объявление счетчика попаданий
public int Tochek_Popalo;
//Метод проверки, входят ли наши точки в окружность, который в конце выдает нам количество вхождений "Tochek_Popalo"
public int ProverkaVhojdeniya(int[] Massiv_X, int[] Massiv_Y)
{
int Schetchik = 0;
for (int i = 0; i < Massiv_X.Length; i++)
{
if (Math.Sqrt((50 - Massiv_X[i]) * (50 - Massiv_X[i]) + (50 - Massiv_Y[i]) * (50 - Massiv_Y[i])) <= 30)
Schetchik++;
}
Tochek_Popalo = Schetchik;
return Tochek_Popalo;
}
//Просто метод вывода результата на консоль
public void Vivod_Na_Konsol()
{
Console.WriteLine("\nТочек (x,y) попало в окружность: " + Tochek_Popalo);
}
static void Main(string[] args)
{
int[] x = new int[10]; //Создаем массив ИКСОВ из 10 элементов
int[] y = new int[10]; //Создаем массив ИГРИКОВ из 10 элементов
Random RandomZnacheniya = new Random();
//цикл присваивания случайных элементов в массив [x] от 0 до 100
for (int i = 0; i < x.Length; i++)
x[i] = RandomZnacheniya.Next(0, 100);
//цикл присваивания случайных элементов в массив [x] от 0 до 100
for (int i = 0; i < x.Length; i++)
y[i] = RandomZnacheniya.Next(0, 100);
//Просто вывод массива [x] на экран циклом "foreach"
Console.Write("ИКСЫ: ");
foreach (var item in x)
Console.Write(" " + item);
//Просто вывод массива [y] на экран циклом "foreach"
Console.Write("\nИГРИКИ: ");
foreach (var item in y)
Console.Write(" " + item);
//Создание экземпляра класса
Program Peredacha = new Program();
//Вызов и передача наших массивов в Метод "ProverkaVhojdeniya"
Peredacha.ProverkaVhojdeniya(x, y);
//Вызов метода "Vivod_Na_Konsol"
Peredacha.Vivod_Na_Konsol();
}
}
}
Объяснение: Проверь пожалуйста. Вроде все верно работает. Если что пиши или отметь как верный ответ! Спасибо.






Похоже, у вас есть несколько ошибок в вашем коде. Вот исправленный код с комментариями, который выполняет задачу определения количества точек, попавших в заданный круг:
csharpusing System;
namespace LabWork_4
{
class Program
{
public static int InCircle(int[] x, int[] y)
{
int count = 0;
for (int i = 0; i < x.Length; i++)
{
// Используйте формулу расстояния между точкой (x[i], y[i]) и центром круга (50, 50)
double distance = Math.Sqrt(Math.Pow(x[i] - 50, 2) + Math.Pow(y[i] - 50, 2));
// Если расстояние меньше или равно радиусу круга (30), то точка находится внутри круга
if (distance <= 30)
{
count++;
}
}
return count;
}
static void Main(string[] args)
{
int[] x = new int[10];
int[] y = new int[10];
// Генерируйте случайные координаты точек в диапазоне от 0 до 100
Random random = new Random();
for (int i = 0; i < 10; i++)
{
x[i] = random.Next(0, 101);
y[i] = random.Next(0, 101);
}
// Вызов функции InCircle для подсчета точек, попавших в круг
int pointsInCircle = InCircle(x, y);
// Вывод результата
Console.WriteLine($"Количество точек, попавших в круг: {pointsInCircle}");
}
}
}
В этом коде исправлены ошибки в вычислении расстояния между точкой и центром круга, а также в проверке, попала ли точка в круг. Кроме того, добавлены комментарии для лучшего понимания кода.


Похожие вопросы


Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili