Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
nake
0 / 0 / 0
Регистрация: 30.11.2011
Сообщений: 33
#1

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

18.12.2011, 17:43. Просмотров 754. Ответов 6
Метки нет (Все метки)

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;
}
Нужно найти номер минимального элемента массива, но почему-то номер очень большой, кол-во чисел в массиве можно выбирать самому. Праильно ли решено и такой ответ верен, или всё же есть ошибка?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2011, 17:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Номер мин элемента в одномерном массиве (C++):

В одномерном массиве вычислить номер минимального элемента массива - C++
прошу помощи в одномерном массиве состоящий из n элементов вычислить: 1)номер минимального элемента массива 2)сумму элементов...

В одномерном массиве состоящим из n элементов вычислить номер минимального элемента - C++
в одномерном массиве состоящим из n элементов вычислить 1)номер минимального элемента 2)сумма элементов расположенных между первым и...

В одномерном массиве, состоящем из вещественных элементов вычислить номер минимального элемента в массиве, сумму элементов массива - C++
В одномерном массиве, состоящем из 10 вещественных элементов вычислить: 1. Номер минимального элемента в массиве 2. Сумму...

В одномерном массиве, состоящем из N целых элементов, вычислить номер максимального элемента массива - C++
Задание: В одномерном массиве, состоящем из N целых элементов, вычислить: 1) номер максимального элемента массива; 2) произведение...

В одномерном массиве, состоящем из N целых элементов, вычислить номер максимального элемента массива - C++
В одномерном массиве, состоящем из N целых элементов, вычислить: 1) номер максимального элемента массива; 2) произведение элементов...

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

6
go
Эксперт С++
3586 / 1366 / 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 ;
1
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.12.2011, 17:50 #3
C++
1
std::min_element(arr, arr + arrSize) - arr;
min_element
1
nake
0 / 0 / 0
Регистрация: 30.11.2011
Сообщений: 33
18.12.2011, 17:52  [ТС] #4
Конечно большое спасибо, но как вы написали для меня пока сложно, я такое не проходил. Не могли бы вы указать где конкретно ошибка в моём примере?
0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
18.12.2011, 17:53 #5
А) Отформатируйте код
Б) Массив не задан

Совсем не обязательно запоминать значение минимального элемента, достаточно запомнить его положение в массиве
1
go
Эксперт С++
3586 / 1366 / 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/780046a730b96615402d02c3708894e4

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

Добавлено через 50 секунд
Знак только в if поменяйте на противоположный, чтобы не макс искать, а мин
1
nake
0 / 0 / 0
Регистрация: 30.11.2011
Сообщений: 33
18.12.2011, 18:24  [ТС] #7
Всем спасибо, уже решил.
0
18.12.2011, 18:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2011, 18:24
Привет! Вот еще темы с ответами:

В одномерном массиве, который состоит из n вещественных элементов подсчитать номер минимального элемента массива - C++
В одномерном массиве, который состоит из n вещественных элементов подсчитать: 1) номер минимального элемента массива; 2)сумму...

Шаблоны функций. В одномерном массиве, состоящем из n вещественных элементов, вычислить номер максимального по модулю элемента массива - C++
Задание 1: Работа с одномерными массивами. В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1. Номер...

В одномерном массиве, состоящем из n вещественных элементов, вычислить номер минимального по модулю элемента и сумму модулей элеменов массива. - C++
Задача 1. В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) номер минимального по модулю элемента массива; 2)...

Вычислить в одномерном массиве вычислить номер максимального элемента - C++
Здравствуйте, меня зовут Вика, я не сильна в программирование (ну тоесть вообще) прошу вас (умные и добрые люди) помочь мне решить задание....


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru