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