Дано квадратное уравнение 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(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д