Перевод с Паскаля на C# - C# (191513)

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

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

Я не могу разобраться с этими массивами. Что не так в моей первой части?
program from;
 
const n=5;
 
var 
 
y:array[1..n,1..n+1]of integer;
 
b,c,k,m,max,t:integer;
 
h:real;
 
begin
 
max:=0;
for b:=1 to n do begin
for c:=1 to n do begin
y[b,c]:=random(5);
h:=y[b,c]mod 2;
if y[b,c]>0 then
if h = 0 then
y[b,n+1]:=y[b,n+1]+y[b,c];
write(' ',y[b,c]);
end;
writeln;
end;
writeln;
 
for c:=1 to n do begin
for b:=1 to n do
if y[b,n+1]>max then
begin
max:=y[b,n+1];
t:=b;
end;
for m:=1 to n+1 do 
begin
k:=y[c,m];
y[c,m]:=y[t,m];
y[t,m]:=k;
write(' ',y[c,m]);
end;
writeln;
y[c,n+1]:=0;
max:=0;
end;
end.
using System;
 
public class Test
{
    public static void Main()
    {
    const int n = 10;
    int[,] j = new int [n,n+1];
    int a,b,h,d,k,max=0;
    double y;
    for(a=1;a<n;a++)
    {
        for(b=1;b<n;b++)
        {
            Random rnd1 = new Random();
            j[a,b] = rnd1.Next(50);
            h = j[a,b] % 2;
            if (j[a,b]>0)
            {
                if (h==0)
                {
                    j[a,n+1] = j[a,n+1] + j[a,b];
                }
            }
            Console.Write(" {0}",j[a,b]);
            }
        }
    }
}

Решение задачи: «Перевод с Паскаля на C#»

textual
Листинг программы
public class Test
{
    private static readonly Random Randomizer = new Random();
    public static void Main()
    {
        const Int32 n = 10;
        var j = new Int32[n, n + 1];
        for (var a = 0; a < n; a++)
        {
            for (var b = 0; b < n; b++)
            {
                j[a, b] = Randomizer.Next(50);
                if ((j[a, b] > 0) && (j[a, b] % 2 == 0))
                    j[a, n + 1] += j[a, b];
                Console.Write(" {0}", j[a, b]);
            }
            Console.WriteLine();
        }
        Console.WriteLine();
        for (var a = 0; a < n; a++)
        {
            var maxB = 0;
            for (var b = 1; b < n; b++)
                if (j[b, n + 1] > j[maxB, n + 1])
                    maxB = b;
            for (var c = 0; c < n + 1; c++)
            {
                var temp = j[a, c];
                j[a, c] = j[maxB, c];
                j[maxB, c] = temp;
            }
            Console.WriteLine();
            j[a, n + 1] = 0;
        }
    }
}

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


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

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

10   голосов , оценка 3.8 из 5