Перевести из PASCAL в С# - Сумма элементов и седловые точки - C#
Формулировка задачи:
Дана целочисленная прямоугольная матрица. Определить:
1) сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент;
2) номера строк и столбцов всех седловых точек матрицы.
Примечание. Матрица A имеет седловую точку ij a , если ij a является минимальным элементом в i-й строке и максимальным в j-м столбце.
const mm=10; mn=10; var a: array [1..mm,1..mn] of Integer; mr: array [1..mm] of Integer; mc: array [1..mn] of Integer; i, j, m, n: Integer; begin repeat Write('m [1..',mm,'] n [1..',mn,']: '); ReadLn(m,n); until (m in [1..mm]) and (n in [1..mn]); Write('Элементы (',m*n,'): '); for i:=1 to m do for j:=1 to n do begin Read(a[i,j]); if (j=1) or (mr[i]>a[i,j]) then mr[i]:=a[i,j]; if (i=1) or (mc[j]<a[i,j]) then mc[j]:=a[i,j]; end; Write('Седловые точки:'); for i:=1 to m do for j:=1 to n do if (a[i,j]=mr[i]) and (a[i,j]=mc[j]) then Write(' [',i,',',j,']'); WriteLn; end.
Решение задачи: «Перевести из PASCAL в С# - Сумма элементов и седловые точки»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication12 { class Program { static void Main(string[] args) { int mm = 10, mn = 10; int[,] a = new int[mm, mn]; int[] mr = new int[mm]; int[] mc = new int[mn]; Console.Write("m [1..{0}] n [1..{1}]: ", mm, mn); string[] numbers = Console.ReadLine().Split(' '); int m = int.Parse(numbers[0]); int n = int.Parse(numbers[1]); Console.Write("Элементы ({0}): ", m * n); for(int i = 0; i < m; i++) { string[] numbers2 = Console.ReadLine().Split(' '); for (int j = 0; j < n; j++) { a[i, j] = int.Parse(numbers2[j]); } } for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { if(j == 0 || mr[i] > a[i, j]) { mr[i] = a[i, j]; } if(i == 0 || mc[j] < a[i, j]) { mc[j] = a[i, j]; } } } Console.Write("Седловые точки: "); for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { if(a[i, j] == mr[i] && a[i, j] == mc[j]) { Console.Write("[{0},{1}]", i + 1, j + 1); } } } Console.WriteLine(); Console.ReadKey(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д