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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2014, 21:01   #1
yankel
Пользователь
 
Регистрация: 13.03.2014
Сообщений: 22
По умолчанию С#. не выходит ничего

Поменять местами максимальные элемент матрицы А 5х6 и матрицы В 3х5. Поиск максимального осуществить в методе.
yankel вне форума Ответить с цитированием
Старый 13.03.2014, 21:05   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

В чём конкретно проблема? Наработки?
Streletz вне форума Ответить с цитированием
Старый 13.03.2014, 21:22   #3
yankel
Пользователь
 
Регистрация: 13.03.2014
Сообщений: 22
По умолчанию вот попытка написать метод для поиска максимального

Код:
static void maxZ(int[,] a, int n, int m, ref int imax,ref int jmax,ref int max)
        {

            int jmax=0;
            int imax = 0;
            int max = a[0,0];

            

            for (int i = 0; i <m; i++)
            {  for (int j = 0; j<n; j++)
                
                  {  if (a[i,j] > max)
                    {
                        
                        max = a[i,j];
                        
                        imax = i;
                        jmax=j;

                    }
                }
            } 
        }


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось yankel; 13.03.2014 в 22:25.
yankel вне форума Ответить с цитированием
Старый 13.03.2014, 21:35   #4
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Метод, судя по всему, правильный.
Находите им максимальные элементы обеих матриц и меняете их друг с другом.
Единственное, размеры матрицы можно в параметрах не задавать. Их можно узнать опираясь на саму матрицу.
Streletz вне форума Ответить с цитированием
Старый 13.03.2014, 21:56   #5
yankel
Пользователь
 
Регистрация: 13.03.2014
Сообщений: 22
По умолчанию

Так матрицы 2 разных размерностей, каким образом и где я могу указать эти параметры?
Вот написала, для 1ой матрицы, но ничего не выводится

Код:
static void Main()
{int[,] A = new int[,] {{1,2,3,6,7,8},
                                 {10,4,0,5,3,2},
                                 {1,7,666,21,7,0},
                                 {99,88,77,66,55,44},
                                 {32,45,76,81,99,0}};
            int[,] B = new int[,] {{1,2,8,6,7,},
                                 {10,4,0,108,6},
                                 {13,2,21,7,54}};
            int maxA;
            for (int i = 0; i < 5; i++)
            {
                for (int j = 0; j < 6; j++)
                { maxA = maxZ(A, 5,6); 
Console.WriteLine(maxA); }

            }

        }
    }

Последний раз редактировалось yankel; 13.03.2014 в 22:12.
yankel вне форума Ответить с цитированием
Старый 13.03.2014, 22:37   #6
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
Стрелка

Цитата:
Так матрицы 2 разных размерностей, каким образом и где я могу указать эти параметры?
А, их и не надо указывать. Метод GetLength выдаст значение и для i и для j.
Цитата:
ничего не выводится
Потому, что
  1. Некорректный вызов метода (зачем задаёте выходные параметры на хардкоде?)
  2. Метод наверняка не исправили...
  3. Нет задержки экрана консоли
Вот, держите, исправленный метод и программу для 1й матрицы. Дальше сами.
Код:
class Program
    {
        static void maxZ(int[,] a, out int imax, out int jmax, out int max)
        {//Поиск максимального элемента матрицы
            jmax = 0;
            imax = 0;
            max = a[0, 0];
            int m = a.GetLength(0);
            int n = a.GetLength(1);
            for (int i = 0; i < m; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    if (a[i, j] > max)
                    {
                        max = a[i, j];
                        imax = i;
                        jmax = j;
                    }
                }
            }
        }
        static void Main(string[] args)
        {//Основная программа

            int[,] A = new int[,] {{1,2,3,6,7,8},
{10,4,0,5,3,2},
{1,7,123,21,7,0},
{99,88,77,66,55,44},
{32,45,76,81,99,0}};
            int[,] B = new int[,] {{1,2,8,6,7,},
{10,4,0,108,6},
{13,2,21,7,54}};
            int maxA = 0;
            int Ai = 0;
            int Aj = 0;
            maxZ(A, out Ai, out Aj, out maxA);
            Console.WriteLine("maxA="+maxA+" Ai="+Ai+" Aj="+Aj);
            Console.ReadKey();
        }
    }
}
Streletz вне форума Ответить с цитированием
Старый 13.03.2014, 22:40   #7
yankel
Пользователь
 
Регистрация: 13.03.2014
Сообщений: 22
По умолчанию

благодарю
yankel вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не выходит задача на Си СветОК Помощь студентам 0 22.10.2011 15:29
Не выходит из цикла RIO Общие вопросы по Java, Java SE, Kotlin 3 23.05.2010 23:54
выходит ошибка Mereke Помощь студентам 0 22.05.2010 15:21
компилировать не выходит 3.14oner Общие вопросы по Java, Java SE, Kotlin 5 08.11.2008 18:36