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

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

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

Найдите номер минимального по модулю элемента массива - C++

28.02.2014, 23:55. Просмотров 272. Ответов 4
Метки нет (Все метки)

В одномерном массиве состоящем из n вещественных элементов (размерность массива задается пользователем), найдите номер минимального по модулю элемента массива. При разработке кода для перебора элементов массива использовать не индекс массива, а указатель на элемент массива. Вычисления должны выполняться в отдельной функции.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2014, 23:55     Найдите номер минимального по модулю элемента массива
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ALEXey__
7 / 7 / 2
Регистрация: 10.02.2014
Сообщений: 70
01.03.2014, 01:16     Найдите номер минимального по модулю элемента массива #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <cmath>
 using namespace std;
int main()
{
int n,i=0,j;
float arr[100];
cout<<"Размер массива: "; cin>>n;
for (i=0; i<n; i++){
    cout<<"["<<i+1<<"]: "; cin>>arr[i];
    }
float min=arr[i];
 
for (int i=0; i<n; i++){
    if (fabs(arr[i])<fabs(min)) {min=arr[i]; j=i;}
}
cout<<"Номер минимального (по модулю) элемента: "<<j;
return 0;
}
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6411 / 3050 / 300
Регистрация: 04.12.2011
Сообщений: 8,237
Записей в блоге: 3
01.03.2014, 02:18     Найдите номер минимального по модулю элемента массива #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <iostream>
#include <Cmath>
using std::cin;
using std::cout;
using std::endl;
 
int number_of_min( float *arr, int sz){
 
if(sz < 1) return -1;
 
float *ptr_i = arr;//
 
    int min_elem_ind = 0;
    float min_elem = fabs(arr[min_elem_ind]);
 
    for(int i = 1; i < sz; i++){
        if(min_elem > fabs(*(ptr_i+i))){ 
 
min_elem = fabs(*(ptr_i+i));
min_elem_ind = i;       }
    }
return min_elem_ind+1;
}
 
int main(){
 
    float arr[] = { 7.0f, 8.1f, -1.123f, 4.3f, 5.0f, 3.7f};
int numb =  number_of_min( arr, sizeof(arr)/sizeof(int)); 
    cout << "the minimal element number is " << numb << endl;
    if (numb > -1) cout << "the element value is " << arr[numb - 1] << endl;
 
    cin.get();
    return 0;
}
Arkaniy
106 / 106 / 6
Регистрация: 29.08.2012
Сообщений: 453
01.03.2014, 02:20     Найдите номер минимального по модулю элемента массива #4
ALEXey__, почему же не написали arr[99999], как в соседней теме?
Это, мягко говоря, не самое лучшее решение. Выделение лишней памяти делать совсем не обязательно.
Да и тут просят динамический массив.
По теме: в чем проблема, ТС?
C++
1
2
3
4
5
float *arr, n;
cin>>n;
arr=new float[n];
//в цикле заполняем массив или случайно, или с клавиатуры
...
Обращение не по индексу вот так *(arr+i)
Поиск элемента как и в статическом массиве.
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6411 / 3050 / 300
Регистрация: 04.12.2011
Сообщений: 8,237
Записей в блоге: 3
01.03.2014, 02:34     Найдите номер минимального по модулю элемента массива #5
Arkaniy, динамический, - в названии темы не разглядел) Будет ли это проблемой для ТС? Посмотрим, что скажет?
Yandex
Объявления
01.03.2014, 02:34     Найдите номер минимального по модулю элемента массива
Ответ Создать тему
Опции темы

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