Перевод с языка Pascal на C#: Заменить все члены, следующие за членом с наибольшим значением - C# (184404)
Формулировка задачи:
Помогите,пожалуйста,кто-нибудь с программой. Надеюсь,что я все правильно делал в паскале,но как перевести в c#. Помогите люди добрые
Задание: Дано действительные числа A1,...,An и B1,...,Bn. В последовательности A1,...,An и в последовательности B1,...,Bn все члены, следующие за членом с наибольшим значением (за первым по порядку если их несколько), заменить на 0,5.
Код на паскале:
uses crt; const nmax=100; type mas=array[1..nmax] of real; var n:byte; procedure Massiv(var a:mas;c:char); var i:byte; begin writeln('Исходный массив ',c); for i:=1 to n do begin a[i]:=9*random; write(a[i]:4:1); end; writeln; end; procedure Zamena(var a:mas;c:char); var i,imx:byte; mx:real; begin mx:=a[1]; imx:=1; for i:=2 to n do if a[i]>mx then begin mx:=a[i]; imx:=i; end; writeln('Наибольшее значение=',mx:0:1,' имеет элемент a[',imx,']'); if imx=n then writeln('Замен нет') else begin writeln('Измененный массив ',c); for i:=1 to n do begin if i>imx then a[i]:=0.5; write(a[i]:4:1); end; writeln; end; end; var a,b:mas; begin clrscr; randomize; repeat write('Размер массивов до ',nmax,' n='); readln(n); until n in [1..nmax]; Massiv(a,'A'); Zamena(a,'A'); Massiv(b,'B'); Zamena(b,'B'); readln end.
Решение задачи: «Перевод с языка Pascal на C#: Заменить все члены, следующие за членом с наибольшим значением»
textual
Листинг программы
class Program { const int nmax = 100; static sbyte n; static Random rnd = new Random(); static void Massiv(ref double[] a, char c) { Console.WriteLine("Исходный массив {0}", c); for (sbyte i = 0; i < n; i++) { a[i] = 9*rnd.NextDouble(); Console.Write("{0:F1} ", a[i]); } Console.WriteLine(); } static void Zamena(ref double[] a, char c) { sbyte i,imx; double mx; mx = a[0]; imx = 0; for (i = 1; i < n; i++) { if (a[i] > mx) { mx = a[i]; imx = i; } } Console.WriteLine("Наибольшее значение={0:F1} имеет элемент a[{1}]", mx, imx); if (imx == n) Console.WriteLine("Замен нет"); else { Console.WriteLine("Измененный массив {0}", c); for (i = 0; i < n; i++) { if (i > imx) a[i] = 0.5; Console.Write("{0:F1} ", a[i]); } Console.WriteLine(); } } static void Main(string[] args) { Console.Clear(); Console.Write("Размер массивов до {0}, n =", nmax); do { n = sbyte.Parse(Console.ReadLine()); } while (n > nmax); double[] a,b; a = new double[n]; b = new double[n]; Massiv(ref a, 'A'); Zamena(ref a, 'A'); Massiv(ref b, 'B'); Zamena(ref b, 'B'); Console.ReadLine(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д