Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/40: Рейтинг темы: голосов - 40, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 04.12.2017
Сообщений: 1

Найти индекс максимального элемента массива, не находя сам максимум

04.12.2017, 13:11. Показов 7451. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не знаю возможно ли вообще такое? Если можете,помогите пожалуйста.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.12.2017, 13:11
Ответы с готовыми решениями:

Найти индекс максимального элемента массива
Добрый вечер помогите пожалуйста в одномерном массиве состоящем из n целых элементов вычислить номер максимального элемента массива

Найти индекс максимального элемента массива
Не находит правильно индекс максимального элемента, в чём ошибка? #include<stdio.h> #include<conio.h> #include<stdlib.h> ...

Найти индекс максимального элемента массива
Как найти номер максимального элемента массива, содержащем 10 беззнаковых чисел.

14
 Аватар для keltor
38 / 36 / 25
Регистрация: 25.01.2017
Сообщений: 151
Записей в блоге: 2
04.12.2017, 13:25
Отсортируй и запоминай какой номер был.

Или, как вариант, скопировать массив, отсортировать и потом сравнивая самый большой со значениями в начальном массиве найти номер.
1
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
04.12.2017, 13:46
C++
1
2
3
4
int imax = 0;
for(i=1; i<N; i++)
  if (A[i] > A[imax])
    imax = i;
Так не подойдет?
1
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
04.12.2017, 14:59
Цитата Сообщение от Байт Посмотреть сообщение
Так не подойдет?
imho, беда в том, что в сравнении будет участвовать пресловутый максимум. И когда он будет найден, то сохранится косвенное к нему обращение по индексу. Но если бы был сохранён указатель, то было бы то же самое. Сохранение - значения, - тоже адрес (новая переменная, но всё равно где-то в дебрях отыскивается по адресу).
Тут нужна гениальная идея. Я предлагаю преобразование не нарушающее монотонности (и без потери информации). Например, можно вычесть какое-то число. Пусть это будет единица. А потом, - найти любым способом максимум. Это точно не будет максимальное значение исходного массива. А потом, единицу можно и прибавить.
Грустные ассоциации? У меня тоже. Но я не вижу способа найти что-нибудь, не находя хоть что-нибудь, что не может быть сведено, в конечном счёте, к чему-нибудь.
1
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
04.12.2017, 15:49
Вижу такой подход. Создать массив структур вида struct { int val; int ind; }. Отсортировать его по убыванию значения val (qsort-ом, например). И выдать значение ind первого элемента. Выполняется ли здесь условие "не находя сам максимум"? Вопрос философский. Ну как в сказке. "Пойди туда - не знаю куда, принеси то - не знаю что!" Однако Иван, хоть он и дурак, с этой задачкой справился.

Добавлено через 2 минуты
Практически это то, что предложил в посте 2 уважаемый keltor
1
25 / 25 / 14
Регистрация: 29.09.2014
Сообщений: 165
04.12.2017, 16:49
Вижу такой подход. Создать массив структур вида struct { int val; int ind; }
найс))

а если просто обратиться к участку памяти в процессе ? на пример как артмани это далает))

C++
1
2
3
4
5
6
7
8
#include <iostream>
using namespace std;
int main()
{
    char arr[] = "asdfgh";
    char* ptrA = arr;
    cout << &ptrA << " " << sizeof(*ptrA) << " " << sizeof(arr) << "\n";
}
0096FB90 1 7
зная размер и начальный адрес и предполагая тип(допустим 1 байт это чар) можно узнать нужный 16hex
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
04.12.2017, 18:55
Цитата Сообщение от Байт Посмотреть сообщение
Выполняется ли здесь условие "не находя сам максимум"? Вопрос философский.
Как и любой другой в данной постановке. А вот тут:
Цитата Сообщение от Байт Посмотреть сообщение
"Пойди туда - не знаю куда, принеси то - не знаю что!"
Задача проста и понятна. Алгоритмически. Нужно выяснить, про какие места [пункт 1] и предметы в них расположенные [пункт 2], вопрошающий не знает на момент задания вопроса и обзавестись надёжными доказательствами по [пунктам 1 и 2]. Последний пункт 3 нужен для того, чтобы опять не казнили. Любят у нас это.
То есть 3 пунктика, для человека с воображением, это посильная задача. То ли дело расселов парадокс или другая в принципе противоречивая задачка. Например, найди где (индекс) лежит вещь (максимум), но не найди САМ максимум.
Тут только или видоизменять максимум (моя гениальная идея) или уходить на более высокий уровень абстракции. То есть демагогия вида: "максимум САМ по себе как таковой, нигде и никогда не встречается как ТАКОВОЙ, но может быть найдет в каком либо контексте. Однако массив целых чисел не является САМ по себе контекстом, а является лишь его частью как ТАКОВОЙ. Следовательно, поиск максимума в массиве невозможен так как отсутствует полный контекст (среда обитания максимума, как такового). А поиск максимального целого числа, в данном контексте не является поиском максимума как ТАКОВОГО в контексте условия... и т.д. и т.п.".
Для меня нет проблем и в таком подходе, но первый несколько прозрачнее.
1
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
04.12.2017, 19:01
CurrentUser, простите, но я ничего не понял. Какое отношение эта бузина имеет к киевскому дядьке?

Добавлено через 5 минут

Не по теме:

IGPIGP, что касается меня, то вы меня слегка заморочили:) Возможно, не хватает обще-философского образования, или карма туповата, или дзен мой еще не проспался после очередной попойки...

1
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
04.12.2017, 19:03
Цитата Сообщение от Байт Посмотреть сообщение
то вы меня слегка заморочили
А хотел лишь улыбнуть. Условие не целостно, как мне кажется.
1
04.12.2017, 19:05

Не по теме:

Цитата Сообщение от IGPIGP Посмотреть сообщение
А хотел лишь улыбнуть.
Принято!:)

0
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
04.12.2017, 19:18
C++
1
2
3
4
5
6
7
8
9
int arr[10]={1,0,10,45,34,-3,-56,57,3,6};
 
 for(int i=0;i<10;i++)
      for(int j=0;j<10;j++)
        if(arr[i]>arr[j])
           arr[j]=0;
 for(int i=0;i<10;i++)
     if ( arr[i]>0)
          cout<<i;
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
04.12.2017, 19:31
повар1, идея в общем-то интересная. Анигиллировать всех, кто ростом не вышел. Но любопытно, что выдаст ваш код для массива
int arr[] = { -1, -2, -1, 0, -5 };
0
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
04.12.2017, 20:04
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int arr[5]={ -1, -2, -1, 0, -5 },n;
 
 for(int i=0;i<5;i++)
     if(arr[i]==0)
       {
          n=i;
          break;
       }
 for(int i=0;i<5;i++)
      for(int j=0;j<5;j++)
        if(arr[i]>arr[j])
           arr[j]=0;
 for(int i=0;i<5;i++)
     if ( arr[i]>0)
     {
          cout<<i;
       system("pause>0");
       return 0;
       }
 
     cout<<n;
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
04.12.2017, 20:22
повар1, скажи по-честному. Тебе нравится твой код?
0
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
04.12.2017, 21:06
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
int arr[5],n;
 bool t=true;
 
 for(int i=0;i<5;i++)
     cin>>arr[i];
 
 for(int i=0;i<5;i++)
     if(arr[i]==0)
       {
         n=i;
         break;
       }
 
 for(int i=0;i<5;i++)
     if(arr[i]>=0)
         t=false;
 
 if(t==false)
  {
    for(int i=0;i<5;i++)
      for(int j=0;j<5;j++)
        if(arr[i]>arr[j]  )
           arr[j]=0;
    for(int i=0;i<5;i++)
      if ( arr[i]>0)
        {
          cout<<i;
          system("pause");
          return 0;
        }
    cout<<n;
  }
  if(t=true)
     {
       for(int i=0;i<5;i++)
          for(int j=0;j<5;j++)
            if(arr[i]>arr[j] && arr[i]!=0 && arr[j]!=0 )
                arr[j]=0;
        for(int i=0;i<5;i++)
          if ( arr[i]<0)
             cout<<i;
     }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.12.2017, 21:06
Помогаю со студенческими работами здесь

Найти индекс максимального элемента массива
У меня есть код программы, которая выводит индекс максимального по значению элемента массива: #include &quot;stdafx.h&quot; ...

Найти индекс максимального элемента заданного массива
дан некий массив , найти индекс максимального элемента этого массива (а если максимальных элементов в массиве несколько , то вывести индекс...

Найти индекс максимального по модулю элемента массива
Помогите пожалуйста, в Си вообще не разбираюсь В одномерном массиве, состоящем из n вещественных элементов вычислить 1)Номер макс. по...

Найти индекс первого максимального элемента массива
Дан целочисленный массив. Найти индекс первого максимального элемента

Найти индекс первого максимального элемента массива
Найти индекс первого максимального элемента массива, Найти максимальный из элементов массива в заданном интервале и Найти количество...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru