Тема: Вказати індекс в масиві
Всім привіт, написав програму:
/*Знайти мінімальний елемент у кожному рядку. Вивести його значення та індекси.*/
using System.Globalization;
Console.OutputEncoding = System.Text.Encoding.UTF8;
int[][] a = new int[3][];
a[0] = new int[5] {22,19,10,11,15,};
a[1] = new int[3] {17,9,13};
a[2] = new int[4] {6,18,7,10 };
Console.WriteLine("Зубчатий масив: ");
foreach (int[] mas in a) {
foreach (int x in mas)
Console.Write("\t" + x);
Console.WriteLine();
Console.WriteLine();
}
int min0 = a[0][0];
int index0 = 0;
for (int i = 0; i < a.Length; i++) {
if (min0 > a[0][i]) min0 = a[0][i];
{
index0 = i;
}
}
Console.WriteLine($"Нульвий рядок зубчатого масиву має мінімальне значення = {min0}");
Console.WriteLine($"Індекс мінімального значення нульвого рядка ={index0}");
Console.WriteLine();
int min1 = a[1][0];
int index1 = 0;
for (int i = 0; i < a.Length; i++) {
if (min1 > a[1][i]) min1 = a[1][i];
{
index1 = i;
}
}
Console.WriteLine($"Перший рядок зубчатого масиву має мінімальне значення = {min1}");
Console.WriteLine($"Індекс мінімального значення першого рядка ={index1}");
Console.WriteLine();
int min2 = a[2][0];
int index2 = 0;
for (int i = 0; i < a.Length; i++) {
if (min2 > a[2][i]) min2 = a[2][i];
{
index2 = i;
}
}
Console.WriteLine($"Другий рядок зубчатого масиву має мінімальне значення = {min2}");
Console.WriteLine($"Індекс мінімального значення другого рядка ={index2}");
Console.Read();
Але індекси першого та другого рядків дублюють індекс нульового рядка. Пробував вказувати:
int min2 = a[2][0];
int index2 = 0;
for (int i = 0; i < a.Length; i++) {
if (min2 > a[2][i]) min2 = a[2][i];
{
min2 = a[2][i];
index2 = i;
}
}
Тоді мінімальне значення не правильно показує, виводить 7 - в даному випадку, хоча там є 6.
Як правильно зробити?