Проблема с кодом МАССИВ c#
Дано квадратная матрица порядка n с целыми элементами. Найти наименьшее из значений элементов столбик, сумма модулей элементов которого является наибольшей. Если таких столбцов существует несколько, то взять первый Из них Я пытался сделать но не получаеться я не знаю что делать дальше
cs
using System;
namespace ЛАБ_2_
{
class Program
{
static void Main(string[] args)
{
var rand = new Random();
Console.WriteLine("\n_______________________________");
int[][] Mymass = new int[5][];
Mymass[0] = new int[4];
Mymass[1] = new int[4];
Mymass[2] = new int[4];
Mymass[3] = new int[4];
int[][] Mymass2 = new int[4][];
Mymass2[0] = new int[4];
Mymass2[1] = new int[4];
Mymass2[2] = new int[4];
Mymass2[3] = new int[4];
int [] Mymass3 = new int[4];
int i, j, min, max;
int s = 0;
int nomax = 0;
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
{
Mymass[i][j] = rand.Next(0, 10);
}
}
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
{
Mymass2[j][i] = Mymass[i][j];
Console.Write(Mymass[i][j]);
Console.Write(" ");
}
}
Console.Write("\n___________________________________");
for (i = 0; i < 4; i++)
{
Console.Write("\n");
for (j = 0; j < 4; j++)
{
Console.Write(Mymass[i][j]);
Console.Write(" ");
}
}
Console.Write("\n___________________________________");
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
{
s = (Math.Abs(Mymass2[i][j])) + s;
}
Console.WriteLine("\ns||");
Mymass3[i] = s;
Console.WriteLine(s);
s = 0;
}
Console.Write("\n___________________________________");
Console.WriteLine(Mymass3 [0]);
max = Mymass3[3];
for (i = 1; i < 4; i++)
{
if (max < Mymass3[i])
{
max = Mymass3[i];
Console.WriteLine(max);
}
}
Console.Write("\n___________________________________");
for ( i = 0; i < 4; i++)
{
if (max < Mymass3[i])
{
nomax = i;
Console.WriteLine(nomax);
}
}
}
}
}
Ответы (1 шт):
Автор решения: Ncado
→ Ссылка
using System;
namespace ЛАБ_2_
{
class Program
{
static void Main(string[] args)
{
var rand = new Random();
Console.WriteLine("\n_______________________________");
int[][] Mymass = new int[5][];
Mymass[0] = new int[4];
Mymass[1] = new int[4];
Mymass[2] = new int[4];
Mymass[3] = new int[4];
int[][] Mymass2 = new int[4][];
Mymass2[0] = new int[4];
Mymass2[1] = new int[4];
Mymass2[2] = new int[4];
Mymass2[3] = new int[4];
int[] Mymass3 = new int[4];
int min, max;
int s = 0;
int nomax = 0;
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 4; j++)
{
Mymass[i][j] = rand.Next(0, 10);
}
}
Console.Write("\n___________________________________");
for (int i = 0; i < 4; i++)
{
Console.Write("\n");
for (int j = 0; j < 4; j++)
{
Console.Write(Mymass[i][j]);
Console.Write(" ");
}
}
Console.Write("\n___________________________________");
for (int i = 0; i < 4; i++)
{
Console.Write("\n");
for (int j = 0; j < 4; j++)
{
Mymass2[i][j] = Mymass[j][i];
}
}
Console.Write("\n___________________________________");
for (int i = 0; i < 4; i++)
{
Console.Write("\n");
for (int j = 0; j < 4; j++)
{
Console.Write(Mymass2[i][j]);
Console.Write(" ");
}
}
Console.Write("\n___________________________________");
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 4; j++)
{
s = (Math.Abs(Mymass2[i][j])) + s;
}
Mymass3[i] = s;
s = 0;
}
Console.Write("\n___________________________________");
max = Mymass3[0];
nomax = 0;
for (int i = 1; i < 4; i++)
{
if (max < Mymass3[i])
{
max = Mymass3[i];
nomax = i;
}
}
Console.Write("\n");
for (int i = 0; 4 > i; i++)
{
Console.Write(" ");
Console.Write(Mymass3[i]);
}
Console.Write("\n__________max____________________");
Console.Write("\n");
Console.WriteLine(nomax);
min = Mymass2[nomax][0];
for (int j = 0; j < 4; j++)
{
if (min > Mymass2[nomax][j])
{
min = Mymass2[nomax][j];
}
}
Console.Write("\n__________min____________________");
Console.Write("\n");
Console.WriteLine(min);
}
}
}
решил проблему подобным образом