Найти минимальный элемент массива и его индексы каждой строке массива - C#
Формулировка задачи:
Дан массив А( N,M). Найти минимальный элемент массива и его индексы каждой строке массива.
помогите пожалуйста. никак не могу найти и исправить ошибки. и не пойму куда вписать индекы элемента. вот что получилось. и большая просьба коментировать максимально подробно, так как расзбираюсь в теме плохо.
static void Main(string[]) args)
{
double[,] a;
int n, m, kolmin=0;
Console. Write("строк? ");
n = Convert.ToInt32(Console.ReadLine());
Console. Write("столбцов? ");
m = Convert.ToInt32(Console.ReadLine());
a = new double[n, m];
for(int i=0; i<=a.GetUpperBound(0); i++)
for (int j = 0; j <= a.GetUpperBound(1); j++)
{
Console.Write("a[" +i+ "," +j+ "]=");
a[i,j] = Convert.ToDouble(Console.ReadLine());
}
for(int i=0; i<a.GetLength(0); i++)
j=1;
int x = a[i,j];
for(int j=2; j<a.Getlength(1); j++)
{
double[] min = new double[kolmin];
if(a[i,j] < x) min[k++] = a[i,j];
else min[k++] = x;
foreach (double x in min)
Console.WriteLine("x=" + x +);
}
Console.Readline();
}Решение задачи: «Найти минимальный элемент массива и его индексы каждой строке массива»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
internal class Program
{
public static void Main()
{
Massiv mas= new Massiv();
for (int i = 0; i < mas.LengthI; i++)
{
for (int j = 0; j < mas.LengthJ; j++)
{
Console.WriteLine("a[" + i + "," + j + "]={0}",mas[i,j]);
}
}
//поиск минимального элемента
for (int i = 0; i < mas.LengthI; i++)
{
double min = double.MaxValue;
int indexI = 0, indexJ = 0;
for (int j = 0; j < mas.LengthJ; j++)
{
if (min > mas[i, j])
{
min = mas[i, j];
indexI = i;
indexJ = j;
}
}
Console.WriteLine("min is={0}, and indes is={1},{2}", min, indexI, indexJ); //вывод минимального
}
Console.ReadKey();
}
}
class Massiv
{
public double[,] a;
public Massiv()
{
int n = 2;
int m = 2;
a = new double[n, m];
Random rand = new Random();
for (int i = 0; i < a.GetUpperBound(0); i++)
{
for (int j = 0; j < a.GetUpperBound(1); j++)
{
a[i, j] = rand.Next(-100, 100);
}
}
}
public Massiv(int n,int m)
{
a = new double[n, m];
Random rand = new Random();
for (int i = 0; i <= a.GetUpperBound(0); i++)
{
for (int j = 0; j <= a.GetUpperBound(1); j++)
{
a[i,j]=rand.Next(-100, 100);
}
}
}
// To enable client code to validate input
// when accessing your indexer.
public int LengthI
{
get { return a.GetLength(0); }
}
public int LengthJ
{
get { return a.GetLength(1); }
}
// Indexer declaration.
// If index is out of range, the temps array will throw the exception.
public double this[int indexI,int indexJ]
{
get
{
return a[indexI, indexJ];
}
set
{
a[indexI, indexJ] = value;
}
}
}
}