Форум программистов, компьютерный форум CyberForum.ru

Номер мин элемента в одномерном массиве - C++

Восстановить пароль Регистрация
 
nake
 Аватар для nake
0 / 0 / 0
Регистрация: 30.11.2011
Сообщений: 33
18.12.2011, 17:43     Номер мин элемента в одномерном массиве #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{const int n=1000;
int i_min=0,x;
double a[n];
double min=a[0];
for (int i=1;i<n;i++)
   {if (a[i]<min)
       {min=a[i];
        i_min=i;
       }
   }
   printf("i_min=%d\n",i_min);
    system("PAUSE");
    return EXIT_SUCCESS;
}
Нужно найти номер минимального элемента массива, но почему-то номер очень большой, кол-во чисел в массиве можно выбирать самому. Праильно ли решено и такой ответ верен, или всё же есть ошибка?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2011, 17:43     Номер мин элемента в одномерном массиве
Посмотрите здесь:

C++ В одномерном массиве, который состоит из n вещественных элементов подсчитать номер минимального элемента массива
C++ В одномерном массиве, состоящем из N целых элементов, вычислить номер максимального элемента массива
В одномерном массиве, состоящем из n вещественных элементов, вычислить номер минимального по модулю элемента и сумму модулей элеменов массива. C++
В одномерном массиве, состоящем из N целых элементов, вычислить номер максимального элемента массива C++
Шаблоны функций. В одномерном массиве, состоящем из n вещественных элементов, вычислить номер максимального по модулю элемента массива C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
18.12.2011, 17:49     Номер мин элемента в одномерном массиве #2
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <algorithm>
 
using namespace std;
 
bool myfn(int i, int j) { return i<j; }
 
...
 
cout <<  min_element(arr, myints + size, myfn) - arr ;
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.12.2011, 17:50     Номер мин элемента в одномерном массиве #3
C++
1
std::min_element(arr, arr + arrSize) - arr;
min_element
nake
 Аватар для nake
0 / 0 / 0
Регистрация: 30.11.2011
Сообщений: 33
18.12.2011, 17:52  [ТС]     Номер мин элемента в одномерном массиве #4
Конечно большое спасибо, но как вы написали для меня пока сложно, я такое не проходил. Не могли бы вы указать где конкретно ошибка в моём примере?
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.12.2011, 17:53     Номер мин элемента в одномерном массиве #5
А) Отформатируйте код
Б) Массив не задан

Совсем не обязательно запоминать значение минимального элемента, достаточно запомнить его положение в массиве
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
18.12.2011, 17:57     Номер мин элемента в одномерном массиве #6
nake, минимальный элемент уже не раз искали (а алгоритм тем более есть в инете), вы ищите лучше не сам мин элемент, а его адрес.

Добавлено через 2 минуты
Вот на Си
Найти максимальный элемент массива

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
#include <stdio.h>
 
int main (void)
{
   int arr[] = { 1,-1,0,2,2,2,10,10,9,15,1};
   int size = sizeof (arr) / sizeof (arr[0]);
   int i;
   int *max;
   
   max = arr;
   
   printf (" Array : ");
   
   for ( i = 0 ; i <  size; ++i)
      printf ("%5d", arr[i]);
   
   for ( i = 0 ; i < size ; ++i )
      if ( arr[i] > *max)
         max = &arr[i];
   
   printf ("\n Min = %d ", *max );
   
   return 0;
}
http://liveworkspace.org/code/780046...2d02c3708894e4

Можно еще так http://liveworkspace.org/code/8d05a9...d1792acbacdbad

Добавлено через 50 секунд
Знак только в if поменяйте на противоположный, чтобы не макс искать, а мин
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2011, 18:24     Номер мин элемента в одномерном массиве
Еще ссылки по теме:

В одномерном массиве вычислить номер минимального элемента массива C++
C++ В одномерном массиве, состоящем из n вещественных элементов, вычислить номер минимального по модулю элемента массива
В одномерном массиве состоящим из n элементов вычислить номер минимального элемента C++

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

Или воспользуйтесь поиском по форуму:
nake
 Аватар для nake
0 / 0 / 0
Регистрация: 30.11.2011
Сообщений: 33
18.12.2011, 18:24  [ТС]     Номер мин элемента в одномерном массиве #7
Всем спасибо, уже решил.
Yandex
Объявления
18.12.2011, 18:24     Номер мин элемента в одномерном массиве
Ответ Создать тему
Опции темы

Текущее время: 07:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru