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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.85
Payne
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 20
#1

Произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами - C++

22.10.2012, 23:42. Просмотров 1603. Ответов 5
Метки нет (Все метки)

Всем привет, есть массив заполненный рандомными числами, нужно найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами, помогите пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2012, 23:42     Произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами
Посмотрите здесь:

Произведение элементов массива, расположенных между максимальным и минимальным элементами C++
Найти произведение элементов массива, расположенных между минимальным и максимальным по модулю элементами C++
C++ Произведение элементов массива, расположенных между максимальным и минимальным элементами
Одномерный массив ( вычислить произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами) C++
Найти произведение элементов массива, расположенных между максимальным и минимальным по модулю элементами C++
Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами C++
C++ Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами
Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами C++
C++ Вычислить произведение элементов массива, расположенных между максимальным и минимальным по модулю элементами
C++ Произведение элементов массива, расположенных между первым максимальным и последним минимальным по модулю
Произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами C++
!Произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
JlightenDev_C++
61 / 61 / 7
Регистрация: 12.08.2012
Сообщений: 150
23.10.2012, 00:14     Произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами #2
Пузырьковая сортировка в помощь тебе.
P.S. Чтобы сделать по модулю, просто умножай на -1 если число меньше 0.
dasha_hrust
0 / 0 / 0
Регистрация: 21.08.2012
Сообщений: 10
11.12.2012, 17:16     Произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами #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
35
36
37
38
39
40
41
42
43
#include "stdio.h"  //для printf и scanf
#include "locale.h" //для setlocale
#include "conio.h"  //для getch();
#define N 5 
 
void main()
{
    setlocale(LC_ALL, "Russian");
    int a[N];
    int i,j,k, min, mini, max, maxi, pr=1;
    for (i=0; i<N; i++) //Инициализация массива пользователем 
    {
        printf("Введите значение arr[%d]\n", i);
        scanf("%d",&a[i]);
    }
 
    min=a[0];
    for (k=0; k<N; k++)
    {
        if(a[k]<min)
        {
            min=a[k];
            mini=k;
        }
    }   printf("Минимальный %i\n",min );
 
    max=a[0];
    for (int m=0; m<N; m++)
    {
        if(a[m]>max)
        {
            max=a[m];
            maxi=m;
        }
    }       printf("Максим %i\n", max);
 
    for(j=mini; j<=maxi; j++)
    {
        pr=pr*a[j];
    }
    printf("Произведение %i", pr);
    getch();
}
Добавлено через 29 минут
Забыла кое-что. Что бы "по модулю работало" вставьте этот кусочек, после инициализации
C++
1
2
3
4
5
    for (i=0; i<N; i++)
    {
        if (a[i]<0) 
            a[i]=a[i]*-1;
    }
DiffEreD
1427 / 764 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
11.12.2012, 17:39     Произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами #4
Через STL:
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
#include <iostream>
#include <algorithm>
#include <iterator>
#include <cstdlib>
#include <array>
#include <random>
#include <numeric>
#include <functional>
 
int main()
{
    setlocale (LC_ALL, "Russian");
 
    std::random_device rd;
    std::mt19937 gen(rd());
    std::uniform_int_distribution<int> uid(-10, 20);
 
    std::array<int, 10> ar;
    for (int& x : ar) {x = uid(gen); std::cout << x << " ";}
    auto min_max = std::minmax_element(ar.cbegin(), ar.cend(), [](const int& l, const int& r){return (std::abs(l) < std::abs(r));});
    std::cout << "\n|Min| = " << *min_max.first << "\n|Max| = " << *min_max.second << "\n";
 
    if (std::distance(ar.cbegin(), min_max.first) > std::distance(ar.cbegin(), min_max.second))
        std::swap(min_max.first, min_max.second);
 
    std::cout<<"\nПроизведение элементов массива, расположенных между \nмаксимальным по модулю и минимальным по модулю элементами: ";
    std::cout<<std::accumulate(min_max.first+1, min_max.second, 1, std::multiplies<int>());
 
    std::cout<<"\n\n";
    system("pause");
    return 0;
}
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
11.12.2012, 19:01     Произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами #5
dasha_hrust
Цитата Сообщение от dasha_hrust Посмотреть сообщение
Что бы "по модулю работало" вставьте этот кусочек, после инициализации
Для кого придумали функцию abs?
dasha_hrust
0 / 0 / 0
Регистрация: 21.08.2012
Сообщений: 10
13.12.2012, 06:58     Произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами #6
Цитата Сообщение от David Sylva Посмотреть сообщение
Для кого придумали функцию abs?
Ну если спец в программирование, то - да. Но все же лучше знать как работают функции, а не просто пользоваться уметь
Yandex
Объявления
13.12.2012, 06:58     Произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами
Ответ Создать тему
Опции темы

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