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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.03.2015, 22:58   #1
ylianova
 
Регистрация: 25.11.2014
Сообщений: 3
Печаль Наименьшие в матрице

Нужно найти два наименьших элемента в матрице выше главной диагонали. Первый ищется всегда, а со вторым проблема. Подскажите пожалуйста как исправить
Код:
 
    i1=i2=j1=j2=-1;
    min1=min2=INT_MAX;
    if (n == m)
    ns = n-1;
    if (n > m)
    ns = m -1;
    if (n < m)
    ns = n;

   for (i = 0; i < ns; i++) // определяем первый минимальный элемент
        {
            for (j = i+1; j < m; j++)
            {
                if(i<j)
                {
                    if(a[i][j]<min1)
                    {
                        min1=a[i][j];
                        i1=i; j1=j;
                    }
                }
            }
        }
         for (i = 0; i < ns; i++) // определяем второй минимальный элемент
        {
           for (j = i+1; j < m; j++)
            {
                if(i<j)
                {
                    if(a[i][j]<min2)
                    {
                        min2=a[i][j];
                        i2=i; j2=j;
                    }
                }
            }
        }

Последний раз редактировалось Stilet; 05.03.2015 в 07:50.
ylianova вне форума Ответить с цитированием
Старый 04.03.2015, 23:33   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Во-первых, проверка if(i<j) не нужна.
Во-вторых, за один проход:
Код:
if (a[i][j] < min1) {
  min2 = min1;
  i2 = i1;
  j2 = j1;
  min1 = a[i][j];
  i1 = i;
  j1 = j;
} else if (a[i][j] < min2) {
  min2 = a[i][j];
  i2 = i;
  j2 = j;
}
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
разветление. путь и наименьшие затраты в СИ Fobos45 Помощь студентам 1 17.05.2012 11:33
задача с разветлением про путь и наименьшие затраты Fobos45 Помощь студентам 0 10.05.2012 21:19
Определите наименьшие элементы Vredinka_V Помощь студентам 3 01.03.2010 09:16
Excel. Выбрать наименьшие числа 0mega Microsoft Office Excel 11 17.12.2009 15:48