Найти ноль в матрице и вывести его координаты - PascalABC.NET
Формулировка задачи:
Найти ноль в матрице 5х5 (массив заполняется случайными числами) и вывести его строчку и столбец
Решение задачи: «Найти ноль в матрице и вывести его координаты»
textual
Листинг программы
begin var a := MatrRandom(5, 5, -5, 5); a.Println; writelnformat('Нули в матрице: {0}', a.ElementsWithIndexes.Where(v -> v[0] = 0) .Select(v -> new System.Collections.Generic.KeyValuePair<integer, integer>(v[1] + 1, v[2] + 1)) .JoinIntoString); end.
Объяснение кода листинга программы
- Импортируется пространство имен System.Collections.Generic.
- Создается матрица a размером 5x5 при помощи функции MatrRandom, заполненная случайными числами от -5 до 5.
- Выводится на экран содержимое матрицы a при помощи метода Println.
- При помощи метода Where и функции сравнения в качестве условия для фильтрации элементов матрицы a выбираются только те элементы, значение первого индекса (вертикальный) которых равно 0.
- При помощи метода Select создается последовательность (сериал) пар типа KeyValuePair<integer, integer>, где первый элемент каждой пары это индекс (горизонтальный) элемента матрицы a, значение которого равно 0, а второй элемент каждой пары это индекс (вертикальный) этого же элемента.
- При помощи метода JoinIntoString объединяются все пары в одну строку, разделенные пробелами, и выводится на экран при помощи функции writelnformat.