@Profgramer23

Как исправить эти ошибки в коде C#?

Помогите, пожалуйста, исправить эти ошибки, очень срочно нужно!
Список ошибок:
ed737e1690664b39ae6406c0141c1c10.jpg
Код, содержащий ошибки:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Numerics;
using System.Globalization; namespace Hippogriffs {
    class Class1 {
        public static int a1, b1, a2, b2; //функция находящая влияние эликсира на конкретного гиппогрифа с параметрами A и B 
        public static long mnozitel = 1000000000;
        public static BigInteger GetElixirPower(BigInteger A, BigInteger B) { return (BigInteger.Pow(A * a1 + B * b1, 2) + BigInteger.Pow(A * a2 + B * b2, 2)) * BigInteger.Pow(mnozitel, 2) / (BigInteger.Pow(A, 2) + BigInteger.Pow(B, 2)); }
        static void Main(string[] args); } //считывание переменных с клавиатуры: считываем строку, разделяем её в том месте, где находится пробел 
String line = Console.ReadLine();
a1 = Int32.Parse(line.Split(' ')[0]);
b1 = Int32.Parse(line.Split(' ')[1]);
line = Console.ReadLine();
a2 = Int32.Parse(line.Split(' ')[0]);
b2 = Int32.Parse(line.Split(' ')[1]); //берём некие случайные A и B(x и y), например 100 
long A = (100*mnozitel);
long B = (100*mnozitel);
BigInteger currentPower = new BigInteger((double)GetElixirPower(A, B)); //объяляем переменную с помощью которой будем "шагать" 
long distance = mnozitel;
while (distance > 1) { BigInteger bestPower = currentPower;
long bestX = -1;
long bestY = -1; //массивы с направлениями (в + по х, в - по х, в + по у, в - по у) 
long[] directionsX = { distance, -distance, 0, 0 };
long[] directionsY = { 0, 0, distance, -distance}; //шагаем в 4 направления 
for (int i = 0; i < 4; i++) { //координаты места, куда шагаем 
	long checkX = A + directionsX[i];
	long checkY = B + directionsY[i]; //проверка на случа шага вне положительных значений 
if (checkX <= 0 || checkY <= 0) { continue; } //проверка опасности с такими параметрами 
BigInteger checkPower = new BigInteger((double)GetElixirPower(checkX, checkY)); //если в точках опасность больше, то переходим окончательно в ту точку 
if (checkPower > bestPower) { bestPower = checkPower; bestX = checkX; bestY = checkY; } } //если bestX не равен -1, это значит что мы куда то двигались 
if (bestX != -1) { currentPower = bestPower; A = bestX; B = bestY;
	Console.WriteLine("Current power is equals " + currentPower.ToString("0.000000000000000") + " at x: " + A.ToString("0.00000000000000") + " y: " + B.ToString("0.00000000000000")); } else { distance = distance * 90 / 100; } } double result = Math.Sqrt((double)currentPower)/mnozitel;
Console.WriteLine(result.ToString("0.000000000", CultureInfo.InvariantCulture)); } } }
  • Вопрос задан
  • 224 просмотра
Пригласить эксперта
Ответы на вопрос 2
GavriKos
@GavriKos
static void Main(string[] args); }

Вот и ошибка. Тела функции нет, ну и судя по всему фигурная скобка закрыла блок класса. Дальше весь код лежит прям в неймспейсе, что в C# недопустимо.
Чтобы такого небыло - пользуйтесь автоформатированием кода и нормальными IDE.
Ответ написан
Комментировать
@FreeBa
using System;
using System.Numerics;
using System.Globalization;

namespace Hippogriffs
{
    class Class1
    {
        public static int a1, b1, a2, b2; //функция находящая влияние эликсира на конкретного гиппогрифа с параметрами A и B 
        public static long mnozitel = 1000000000;
        public static BigInteger GetElixirPower(BigInteger A, BigInteger B) { return (BigInteger.Pow(A * a1 + B * b1, 2) + BigInteger.Pow(A * a2 + B * b2, 2)) * BigInteger.Pow(mnozitel, 2) / (BigInteger.Pow(A, 2) + BigInteger.Pow(B, 2)); }
        static void Main(string[] args)
        {
            var line = Console.ReadLine();//считывание переменных с клавиатуры: считываем строку, разделяем её в том месте, где находится пробел 
            a1 = Int32.Parse(line.Split(' ')[0]);
            b1 = Int32.Parse(line.Split(' ')[1]);
            line = Console.ReadLine();
            a2 = Int32.Parse(line.Split(' ')[0]);
            b2 = Int32.Parse(line.Split(' ')[1]); //берём некие случайные A и B(x и y), например 100 
            long A = (100 * mnozitel);
            long B = (100 * mnozitel);
            BigInteger currentPower = new BigInteger((double)GetElixirPower(A, B)); //объяляем переменную с помощью которой будем "шагать" 
            long distance = mnozitel;
            while (distance > 1)
            {
                BigInteger bestPower = currentPower;
                long bestX = -1;
                long bestY = -1; //массивы с направлениями (в + по х, в - по х, в + по у, в - по у) 
                long[] directionsX = { distance, -distance, 0, 0 };
                long[] directionsY = { 0, 0, distance, -distance }; //шагаем в 4 направления 
                for (int i = 0; i < 4; i++)
                { //координаты места, куда шагаем 
                    long checkX = A + directionsX[i];
                    long checkY = B + directionsY[i]; //проверка на случа шага вне положительных значений 
                    if (checkX <= 0 || checkY <= 0) { continue; } //проверка опасности с такими параметрами 
                    BigInteger checkPower = new BigInteger((double)GetElixirPower(checkX, checkY)); //если в точках опасность больше, то переходим окончательно в ту точку 
                    if (checkPower > bestPower) { bestPower = checkPower; bestX = checkX; bestY = checkY; }
                } //если bestX не равен -1, это значит что мы куда то двигались 
                if (bestX != -1)
                {
                    currentPower = bestPower; A = bestX; B = bestY;
                    Console.WriteLine("Current power is equals " + currentPower.ToString("0.000000000000000") + " at x: " + A.ToString("0.00000000000000") + " y: " + B.ToString("0.00000000000000"));
                }
                else { distance = distance * 90 / 100; }
            }
            double result = Math.Sqrt((double)currentPower) / mnozitel;
            Console.WriteLine(result.ToString("0.000000000", CultureInfo.InvariantCulture));
        }
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы