Дано квадратное уравнение ax2+bx+c=0. Дан массив из n целых чисел - C#
Формулировка задачи:
Здравствуйте. Помогите, пожалуйста, с задачей: Дано квадратное уравнение ax2+bx+c=0. Дан массив из n целых чисел. Проверить, существует ли хотя бы одно число в данном массиве, которое являлось бы корнем уравнения. Выдать в качестве результата номера таких элементов. Если такой элемент отсутствует результату присвоить значение ноль.
Нашла вариант на языке Паскаль, однако перевести на С# качественно - не получилось. Вот:
program array18;
uses crt;
var
a1:array[1..100] of integer;
x1,x2,x,a,b,c,d:real;
n,k,i,t:integer;
begin
clrscr;
writeln('Введите количество элементов:');
read(n);
for i:=1 to n do
begin
writeln('введите a1[',i,'] эл. мас.');
read(a1[i]);
end;
writeln('введите коэффициенты уравнения a,b,c:');
read(a,b,c);
d:=sqr(b)-4*a*c;
if d<0 then
begin
writeln('Результат=0');
exit;
end else
if d=0 then x:=-b/(2*a) else
begin
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
end;
writeln('Исходный массив');
for i:=1 to n do
write(a1[i]:3);
writeln;
writeln('Номера элементов равных корням уравнения:');
t:=0;
for i:=1 to n do
begin
if a1[i]=x then
begin
writeln(i:3);
t:=t+1
end else
if a1[i]=x1 then
begin
writeln(i:3);
t:=t+1
end else
if a1[i]=x2 then
begin
writeln(i:3);
t:=t+1;
end;
end;
if (t=0) then writeln ('Результат=0',k,t);
end.
Решение задачи: «Дано квадратное уравнение ax2+bx+c=0. Дан массив из n целых чисел»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace уравнение_и_массив
{
class Program
{
static void Main()
{
Console.WriteLine("Введите количество элементов массива:");
int n = int.Parse(Console.ReadLine());
Console.WriteLine("введите коэффициенты уравнения a,b,c:");
int a = int.Parse(Console.ReadLine());
int b = int.Parse(Console.ReadLine());
int c = int.Parse(Console.ReadLine());
int t = 0;
int [] arr=new int[n];
Random rand= new Random();
for (int i = 0; i < arr.Length;i++)
{
arr[i] = rand.Next(-1000, 1000);
// Console.Write(arr[i]+" ");
}
Console.WriteLine();
for (int i = 0; i < arr.Length; i++)
{
if (a * arr[i] * arr[i] + b * arr[i] + c == 0)
{
Console.WriteLine("Элемент массива под номером {0} является корнем уравнения "ax^2+bx+c=0"", i + 1);
t++;
}
}
if (t == 0)
Console.WriteLine("Корням уравнения "ax^2+bx+c=0" не соответствует ни один элемент массива");
Console.ReadKey();
}
}
}