Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.11.2012, 17:23   #1
EvgeniyPR
Пользователь
 
Регистрация: 11.11.2012
Сообщений: 10
По умолчанию Двумерные массивы

Дана целочисленная квадратная матрица. Определить сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент.

Найти номера строк и столбцов всех седловых точек матрицы. Примечание. Матрица А имеет седловую точку Аij, если Aij является минимальным элементом в i-й строке и максимальным в j-м столбце.
помогите исправить медловые точки не могу разобраться как сделать

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {{
 
            int n, m;
            Console.Write("Введите количество строк: ");
            n = Convert.ToInt32(Console.ReadLine());
            Console.Write("Введите количество столбцов: ");
            m = Convert.ToInt32(Console.ReadLine());
            int sum = 0; int[,] a = new int[n, m];
            Random r = new Random();
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    //a[i, j] = Convert.ToInt16(Console.ReadLine());
                    a[i, j] = r.Next(-5, 3);
                }
            }
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    Console.Write("  " + a[i, j]);
                } Console.WriteLine();
            }


            for (int i = 0; i < n; i++)
            {

                for (int j = 0; j < m; j++)
                {



                    if (a[i, j] < 0)
                    {

                        for (int k = 0; k < m; k++)

                        { sum += a[i, k]; } break;



                    }





                }

            }

            Console.WriteLine("Сумма элементов в тех строках, которые содержат хотя бы один отрицательный \nэлемент: " + sum);

              for (int i = 0; i < a.GetLength(0); i++)
            {
                for (int j = 0; j < a.GetLength(1); j++)
                {
                    if (IsMinInRow(a, i, a[i, j]) && IsMaxInColumn(a, j, a[i,j]))
                        Console.WriteLine("Седловая точка: a[{0}, {1}] = {2}", i, j, a[i, j]);
                }
            }
            Console.ReadLine();
        }}
 
        static bool IsMinInRow(int[,] a, int i, int value)
        {
            for (int j = 0; j < a.GetLength(1); j++)
                if (a[i, j] < value)
                    return false;
            return true;
        }
 
        static bool IsMaxInColumn(int[,] a, int j, int value)
        {
            for (int i = 0; i < a.GetLength(0); i++)
                if (a[i, j] > value)
                    return false;
            return true;
        }
        }
          
            }
EvgeniyPR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерные массивы, двумерные массивы, строки Sand093 C++ Builder 11 20.05.2012 21:48
Двумерные массивы(матрица) 2)Строковые массивы(строки): 3)Структуры nuriyat Помощь студентам 1 21.01.2012 16:16
Двумерные массивы(массивы указателей на массивы) krytishka99 Помощь студентам 1 29.12.2011 19:51
Двумерные массивы ЭдикNEO Помощь студентам 2 11.02.2011 14:17