В матрице поменять местами наибольшие элементы в первом и третьем столбцах - C#
Формулировка задачи:
В матрице А(4-строки,3-столбца) поменять местами наибольшие элементы в первом и третьем столбцах.
Как этот код будет выглядеть в С# , и как вместо процедуры исп массив.
program ch31;
var i, j, k, m, max, x: integer;
a: array [1..3] of array [1..4] of integer;
procedure maxind(t: integer);
var r: integer;
begin
k := 1;
max := a[1, t];
for r := 2 to 3 do
if a[r, t] > max
then begin
k := r;
max := a[r, t];
end;
end;
begin
randomize;
writeln('Source array:'); writeln;
for i := 1 to 3 do
begin
for j := 1 to 4 do
begin
a[i, j] := random(201) - 50;
write(a[i, j]:4, ' ');
end;
writeln;
end;
writeln;
maxind(1);
m := k;
maxind(3);
x := a[m, 1];
a[m, 1] := a[k, 3];
a[k, 3] := x;
writeln('Destination array:'); writeln;
for i := 1 to 3 do
begin
for j := 1 to 4 do
begin
write(a[i, j]:4, ' ');
end;
writeln;
end;
readln;
end.Решение задачи: «В матрице поменять местами наибольшие элементы в первом и третьем столбцах»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{
// int max = m0;
// int max1 = 0;
//int p;;
int i1 = 0;
int j1 = 0;
int i2 = 0;
int j2 = 0;
Random rnd = new Random();
int[,] mass = new int[3, 3];
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++)
mass[i, j] = rnd.Next(10);
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
Console.Write(mass[i, j] + "\t");
Console.WriteLine();
}
int max = mass[0,0];
int max1 = mass[0,0];
int p = mass[0, 0];
Console.ReadLine();
for (int i = 0; i < 3; i++)
for (int j = 0; j < 1; j++)
{
if (mass[i, j] > max)
{
max = mass[i, j];
i1 = i;
j1 = j;
}
}
for (int i = 0; i < 3; i++)
for (int j = 3-1; j > 1 ; j--)
{
if (mass[i, j] > max1)
{
max1 = mass[i, j];
i2 = i;
j2 = j;
}
}
mass[i1, j1] = max;
mass[i2, j2] = max1;
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3;j++ )
p = mass[i1, j1];
mass[i1, j1] = mass[i2, j2];
mass[i2, j2] = p;
Console.WriteLine("Меняем значения {0}(максимальное число 1го столбца) и {1}"+
"(максимально число последнего столбца) друг с другом",max,max1);
Console.ReadLine();
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
Console.Write(mass[i, j] + "\t");
Console.WriteLine();
}
Console.ReadLine();
}
}
}