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