
Помогите переделать код на 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.

Ответы на вопрос

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();
}
}
}



Вот переделанный код на C#:
csharpusing System;
class Program
{
static void Main()
{
int[] a = new int[100];
int n, i, d, max;
Console.WriteLine("Введите количество элементов массива:");
n = int.Parse(Console.ReadLine());
Console.WriteLine("Введите элементы массива:");
for (i = 0; i < n; i++)
{
a[i] = int.Parse(Console.ReadLine());
}
Console.WriteLine("Исходный массив:");
for (i = 0; i < n; i++)
{
Console.Write(a[i] + " ");
}
Console.WriteLine();
max = a[0];
for (i = 1; i < n; i++)
{
if (a[i] > max)
{
max = a[i];
}
}
Console.WriteLine("Максимальный элемент: " + max);
Console.WriteLine("Отклонение от максимального элемента для каждого из элементов:");
for (i = 0; i < n; i++)
{
d = max - a[i];
Console.WriteLine("Отклонение = " + d);
}
}
}
Изменения, которые были сделаны:
- Использован тип данных
int[]
для создания одномерного массива вместо Pascal-образногоarray[1..100] of integer
. - Изменены индексы массива на начинаться с 0 (нулевой индекс) вместо 1, чтобы соответствовать синтаксису C#.
- Ввод элементов массива осуществляется с помощью
Console.ReadLine()
и парсинга вint
, вместоreadln
в Pascal. - Заменены операторы
writeln
иwrite
наConsole.WriteLine()
иConsole.Write()
соответственно, чтобы осуществить вывод на консоль в C#. - Изменили цикл
for i := 1 to n
наfor i = 0; i < n
, чтобы работать с индексами массива, начинающимися с 0.
Теперь код готов к компиляции и выполнению в среде разработки для C#.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili