Перевести из PASCAL в С# - Сумма элементов и седловые точки - C#

Узнай цену своей работы

Формулировка задачи:

Дана целочисленная прямоугольная матрица. Определить: 1) сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент; 2) номера строк и столбцов всех седловых точек матрицы. Примечание. Матрица A имеет седловую точку ij a , если ij a является минимальным элементом в i-й строке и максимальным в j-м столбце.
Листинг программы
  1. const mm=10; mn=10;
  2. var
  3. a: array [1..mm,1..mn] of Integer;
  4. mr: array [1..mm] of Integer;
  5. mc: array [1..mn] of Integer;
  6. i, j, m, n: Integer;
  7. begin
  8. repeat
  9. Write('m [1..',mm,'] n [1..',mn,']: '); ReadLn(m,n);
  10. until (m in [1..mm]) and (n in [1..mn]);
  11. Write('Элементы (',m*n,'): ');
  12. for i:=1 to m do for j:=1 to n do begin
  13. Read(a[i,j]);
  14. if (j=1) or (mr[i]>a[i,j]) then mr[i]:=a[i,j];
  15. if (i=1) or (mc[j]<a[i,j]) then mc[j]:=a[i,j];
  16. end;
  17. Write('Седловые точки:');
  18. for i:=1 to m do for j:=1 to n do
  19. if (a[i,j]=mr[i]) and (a[i,j]=mc[j]) then Write(' [',i,',',j,']');
  20. WriteLn;
  21. end.

Решение задачи: «Перевести из PASCAL в С# - Сумма элементов и седловые точки»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace ConsoleApplication12
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             int mm = 10, mn = 10;
  14.             int[,] a = new int[mm, mn];
  15.             int[] mr = new int[mm];
  16.             int[] mc = new int[mn];
  17.             Console.Write("m [1..{0}] n [1..{1}]: ", mm, mn);
  18.             string[] numbers = Console.ReadLine().Split(' ');
  19.             int m = int.Parse(numbers[0]);
  20.             int n = int.Parse(numbers[1]);
  21.             Console.Write("Элементы ({0}): ", m * n);
  22.             for(int i = 0; i < m; i++)
  23.             {
  24.                 string[] numbers2 = Console.ReadLine().Split(' ');
  25.                 for (int j = 0; j < n; j++)
  26.                 {
  27.                     a[i, j] = int.Parse(numbers2[j]);
  28.                 }
  29.             }
  30.             for (int i = 0; i < m; i++)
  31.             {
  32.                 for (int j = 0; j < n; j++)
  33.                 {
  34.                     if(j == 0 || mr[i] > a[i, j])
  35.                     {
  36.                         mr[i] = a[i, j];
  37.                     }
  38.                     if(i == 0 || mc[j] < a[i, j])
  39.                     {
  40.                         mc[j] = a[i, j];
  41.                     }
  42.                 }
  43.             }
  44.             Console.Write("Седловые точки: ");
  45.             for (int i = 0; i < m; i++)
  46.             {
  47.                 for (int j = 0; j < n; j++)
  48.                 {
  49.                     if(a[i, j] == mr[i] && a[i, j] == mc[j])
  50.                     {
  51.                         Console.Write("[{0},{1}]", i + 1, j + 1);
  52.                     }
  53.                 }
  54.             }
  55.             Console.WriteLine();
  56.             Console.ReadKey();
  57.         }
  58.     }
  59. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.444 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы