Помогите переделать код на C#
Дан одномерный массив из n элементов. Требуется найти максимальный элемент и
отклонение от максимального для каждого из элементов.(Ввод элементов с клавиатуры)
var a:array[1..100] of integer;
n,i,d,max:integer;
begin
writeln('Введите количество элементов массива:');
readln(n);
writeln ('Введите элементы массива:');
for i:=1 to n do
readln(a[i]);
writeln('исходный массив:');
for i:=1 to n do
write(a[i],' ');
writeln;
max:=a[1];
for i:=1 to n do begin
if a[i]>max then max:=a[i];
end;
writeln;
writeln('Maximum=',max);
for i:=1 to n do begin
d:=max-a[i];
writeln('Отклонение=',d)
end;
end.
Answers & Comments
Verified answer
using System;
namespace App {
internal class Program {
private static void Main() {
Console.Write("Введите количество элементов массива:");
var a = new int[Convert.ToInt32(Console.ReadLine())];
Console.WriteLine("\nВведите элементы массива:");
for (var i = 0; i < a.Length; i++) {
Console.Write($"Элемент номер {i} = ");
a[i] = Convert.ToInt32(Console.ReadLine());
}
// используется foreach вместо for потому что это стандартный инструмент для перебора которого нет в паскале
Console.WriteLine("\nисходный массив:");
foreach (var element in a) {
Console.Write($"{element} ");
}
var max = a[0];
foreach (var element in a) {
if (element > max) max = element;
}
Console.WriteLine($"\nMaximum={max}");
// убрана ненужная переменная
foreach (var element in a) {
Console.WriteLine($"Отклонение={max - element}");
}
Console.ReadKey();
}
}
}