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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2012, 13:19   #1
elvira_m
 
Регистрация: 16.05.2012
Сообщений: 6
По умолчанию Индекс максимального элемента.

Здравствуйте.
Нужно найти максимальный элемент в каждой строке. Т.е нахожу максимальные элементы каждой строки записываю их в массив, в котором так же нахожу максимальный. Только не могу понять как мне узнать индексы этого максимального элемента(т.е исходную позицию в первоначальной матрице).
Спасибо.
Код:
      
    for (int  i=0; i<m; i++)    
    {
         max_a = A[i][0];
        
        for (int j=0; j<n; j++)  
        {
            if (A[i][j] > max_a)
            {
                max_a = A[i][j];
                maxEl[i] = max_a;
            }
                
        }
        cout << "Maximalinii element " << i 
             << "-oi stroki  = " << max_a <<endl;
          
     }
 
        
    int max = maxEl[0];
    
        
     for (int j = 0; j < n; j++)
     {
         if (maxEl[j] > max)
            {
                max = maxEl[j];
                                            
        }
     
     cout<<max;
elvira_m вне форума Ответить с цитированием
Старый 16.05.2012, 13:30   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

так, навскидку...

Код:
    for (int  i=0; i<m; i++)    
    {
         max_index = 0;
        
        for (int j=1; j<n; j++)  
        {
            if (A[i][j] > A[i][max_index])
            {
                max_index = j;
                maxEl[i] = A[i][max_index];
            }
                
        }
        cout << "Maximalinii element " << i 
             << "-oi stroki  = " << A[i][max_index] << " index maximalnogo =" << max_index <<endl;
          
     }

p.s. и можно ВПОЛНЕ обойтись без массива maxEl - а поиск максимального среди максимальных провести в том же 1-м цикле, где перебираются строки
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.05.2012, 13:43   #3
elvira_m
 
Регистрация: 16.05.2012
Сообщений: 6
По умолчанию

Это вариант вывода максимальных по строкам и их индексы.
А мне нужны идексы т.е i,j максимального из этих максимальных в первоначальном массиве. Не понимаю как это сделать.
elvira_m вне форума Ответить с цитированием
Старый 16.05.2012, 13:55   #4
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Код:
max_i = 0;
max_j = 1;
maxEl = A[max_i][max_j]; 
for (int  i=0; i<m; i++)    
    {      
        for (int j=1; j<n; j++)  
        {
            if (A[i][j] > A[max_i][max_j])
            {
                max_i = i;
                max_j = j;
                maxEl = A[max_i][max_j];
            }
        }
     }
cout << "Maximalinii element: " << maxEl << "; Index I: " << max_i<< "; Index J: " << max_j <<endl;
вот так?
Правильно поставленная задача - три четверти решения.

Последний раз редактировалось DiemonStar; 16.05.2012 в 13:58.
DiemonStar вне форума Ответить с цитированием
Старый 16.05.2012, 14:03   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

так, что ли?
Код:
    max_index_i = 0;
    max_index_j = 0;

    for (int  i=0; i<m; i++)    
    {
         max_index = 0;
        
        for (int j=1; j<n; j++)  
        {
            if (A[i][j] > A[i][max_index])
            {
                max_index = j;
                maxEl[i] = A[i][max_index];
            }
                
        }
        cout << "Maximalinii element " << i 
             << "-oi stroki  = " << A[i][max_index] << " index maximalnogo =" << max_index <<endl;

        if (A[i][max_index] > A[max_index_i][max_index_j])
        {
           max_index_i = i;
           max_index_j = max_index;
          
        }
          
     }
     
     cout<< "Maximalnoe v matrice = " << A[max_index_i][max_index_j]
            <<" i= "<<max_index_i<<" j= "<<max_index_j <<endl;

пост DiemonStar я не видел, когда постил свой...
но идеи совпали
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.05.2012, 14:05   #6
elvira_m
 
Регистрация: 16.05.2012
Сообщений: 6
По умолчанию

Возможно я не совсем корректно сформулировала задание. Попробую еще раз первый вариант правильный, т.е мне нужны максимальные элементы по каждой строке и в добавок к этому индексы максимального элементы из этих максимальных. Т.е не простой поиск максимального и его индексы.
elvira_m вне форума Ответить с цитированием
Старый 16.05.2012, 14:06   #7
elvira_m
 
Регистрация: 16.05.2012
Сообщений: 6
По умолчанию

Скорее всего вариант Serge_Bliznykov именно то что я хотела.
elvira_m вне форума Ответить с цитированием
Старый 16.05.2012, 14:11   #8
elvira_m
 
Регистрация: 16.05.2012
Сообщений: 6
По умолчанию

Спасибо, огромное всем за помощь !!!
elvira_m вне форума Ответить с цитированием
Старый 16.05.2012, 14:14   #9
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
в добавок к этому индексы максимального элементы из этих максимальных. Т.е не простой поиск максимального и его индексы.
Если честно - не вижу разницы) максимальное значение в массиве и будет максимальным из максимальных))) т.е. прилепив его поиск в своему исходному коду вы получили бы именно то что нужно... Или как в варианте у Serge_Bliznykov.
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 16.05.2012, 14:28   #10
elvira_m
 
Регистрация: 16.05.2012
Сообщений: 6
По умолчанию

DiemonStar, вы конечно правы, просто нужно было выполнить именно в таком виде как предложил Serge_Bliznykov.
elvira_m вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Индекс элемента подменю. Pixelrom33 Общие вопросы Delphi 4 25.02.2012 18:20
Найти индекс максимального элемента массива "Pascal" Женька Good Помощь студентам 0 09.11.2011 17:58
поиск максимального элемента счастливая Помощь студентам 4 17.05.2010 21:31
паскаль. индекс элемента массива belka1 Помощь студентам 2 09.01.2010 03:58
паскаль.найти индекс элемента массива belka1 Помощь студентам 6 13.11.2009 19:40