Перевод с языка Pascal на C#: Заменить все члены, следующие за членом с наибольшим значением - C# (184404)

Узнай цену своей работы

Формулировка задачи:

Помогите,пожалуйста,кто-нибудь с программой. Надеюсь,что я все правильно делал в паскале,но как перевести в c#. Помогите люди добрые Задание: Дано действительные числа A1,...,An и B1,...,Bn. В последовательности A1,...,An и в последовательности B1,...,Bn все члены, следующие за членом с наибольшим значением (за первым по порядку если их несколько), заменить на 0,5. Код на паскале:
Листинг программы
  1. uses crt;
  2. const nmax=100;
  3. type mas=array[1..nmax] of real;
  4. var n:byte;
  5. procedure Massiv(var a:mas;c:char);
  6. var i:byte;
  7. begin
  8. writeln('Исходный массив ',c);
  9. for i:=1 to n do
  10. begin
  11. a[i]:=9*random;
  12. write(a[i]:4:1);
  13. end;
  14. writeln;
  15. end;
  16. procedure Zamena(var a:mas;c:char);
  17. var i,imx:byte;
  18. mx:real;
  19. begin
  20. mx:=a[1];
  21. imx:=1;
  22. for i:=2 to n do
  23. if a[i]>mx then
  24. begin
  25. mx:=a[i];
  26. imx:=i;
  27. end;
  28. writeln('Наибольшее значение=',mx:0:1,' имеет элемент a[',imx,']');
  29. if imx=n then writeln('Замен нет')
  30. else
  31. begin
  32. writeln('Измененный массив ',c);
  33. for i:=1 to n do
  34. begin
  35. if i>imx then a[i]:=0.5;
  36. write(a[i]:4:1);
  37. end;
  38. writeln;
  39. end;
  40. end;
  41. var a,b:mas;
  42. begin
  43. clrscr;
  44. randomize;
  45. repeat
  46. write('Размер массивов до ',nmax,' n=');
  47. readln(n);
  48. until n in [1..nmax];
  49. Massiv(a,'A');
  50. Zamena(a,'A');
  51. Massiv(b,'B');
  52. Zamena(b,'B');
  53. readln
  54. end.

Решение задачи: «Перевод с языка Pascal на C#: Заменить все члены, следующие за членом с наибольшим значением»

textual
Листинг программы
  1.  class Program
  2.     {
  3.         const int nmax = 100;
  4.        
  5.         static sbyte n;
  6.         static Random rnd = new Random();
  7.         static void Massiv(ref double[] a, char c)
  8.         {
  9.             Console.WriteLine("Исходный массив {0}", c);
  10.             for (sbyte i = 0; i < n; i++)
  11.             {
  12.                 a[i] = 9*rnd.NextDouble();
  13.                 Console.Write("{0:F1}  ", a[i]);
  14.             }
  15.             Console.WriteLine();
  16.         }
  17.         static void Zamena(ref double[] a, char c)
  18.         {
  19.             sbyte i,imx;
  20.             double mx;
  21.  
  22.             mx = a[0];
  23.             imx = 0;
  24.             for (i = 1; i < n; i++)
  25.             {
  26.                 if (a[i] > mx)
  27.                 {
  28.                     mx = a[i];
  29.                     imx = i;
  30.                 }
  31.             }
  32.             Console.WriteLine("Наибольшее значение={0:F1} имеет элемент a[{1}]", mx, imx);
  33.             if (imx == n) Console.WriteLine("Замен нет");
  34.             else
  35.             {
  36.                 Console.WriteLine("Измененный массив {0}", c);
  37.                 for (i = 0; i < n; i++)
  38.                 {
  39.                     if (i > imx)
  40.                         a[i] = 0.5;
  41.                     Console.Write("{0:F1}  ", a[i]);
  42.                 }
  43.                 Console.WriteLine();
  44.             }
  45.  
  46.         }
  47.         static void Main(string[] args)
  48.         {
  49.             Console.Clear();
  50.             Console.Write("Размер массивов до {0},  n =", nmax);
  51.             do
  52.             {
  53.                 n = sbyte.Parse(Console.ReadLine());
  54.             }
  55.             while (n > nmax);
  56.             double[] a,b;
  57.             a = new double[n];
  58.             b = new double[n];
  59.             Massiv(ref a, 'A');
  60.             Zamena(ref a, 'A');
  61.             Massiv(ref b, 'B');
  62.             Zamena(ref b, 'B');
  63.             Console.ReadLine();
  64.         }
  65.     }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.615 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы