Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
<h1>Hello world</h1>
 Аватар для pavel666228
17 / 16 / 3
Регистрация: 17.12.2016
Сообщений: 181
Записей в блоге: 6

Вывод элементов массива между максимальным и минимальным по модулю

20.12.2017, 01:46. Показов 1234. Ответов 6
Метки си (Все метки)

Студворк — интернет-сервис помощи студентам
Вот код:
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <conio.h>
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <locale.h>
#include <cstdlib>
using namespace std;
int main(void){
    setlocale(LC_ALL, "RUS");
 
    float a[100];
    int i, n;
    srand(time_t(NULL));
 
    cout << "Количество вещественных эелементов массива: n=";
    cin >> n;
    puts("\nИСХОДНЫЙ МАССИВ:");
    for (i = 0; i < n; i++)
    {
        a[i] = float(rand() % 50 + (-25))*pow(0.1, rand() % 5);
        printf("%6.5f     ", a[i]);
 
    }
    int c = 0;
    float sum = 0;
    for (i = 0; i < n; i++){
        if (a[i] > 0 && c < n){
            c++;
            sum += a[i];
 
        }
 
    }
    double max = fabs(a[0]);
    double min = fabs(a[0]);
    double sum2 = 1;
    double indexMin = 0;
    double indexMax = 0;
 
    for (i = 0; i < n; ++i)
    {
        if (fabs(max) <= fabs(a[i])){
        max = a[i];
        indexMax = i;
    }
        if (fabs(min) >= fabs(a[i])){
        min = a[i];
        indexMin = i;
 
    }
}
 
    
        cout << "\n";
        cout << "Сумма положительных элементов массива: sum=" << sum << endl;
        cout << "Их количество:" << c << endl;
        cout << "\n Min po modyly:" << min << "    IndexMin:" << indexMin;
        cout << "\n Max po modyly:" << max << "    IndexMax:" << indexMax;
        if (abs(max - min) > 1){
            int IndexMin = (max < min ? max : min);
            int IndexMax = (max < min ? min : max);
            float m;
            for (int i = IndexMin + 1,m = 1; i < IndexMax; i++)
                m *= a[i];
            printf("\nelements between max and min = %6.3f " ,m);
 
        }
        else
            cout << "\nNety elementov between max and min.";
        cout << "\n";
    
 
    system("pause");
    system("cls");
    return 0;
 
}
Все выводи кромне
C
1
2
3
4
5
6
float m;
            for (int i = IndexMin + 1,m = 1; i < IndexMax; i++){
                m *= a[i];
            printf("\nelements between max and min = %6.3f " ,m);
}
        }
Не выводит, как исправить помогите! Или как сделать это ( Вывод элементов массива между максимальным и минимальным по модулю)

Условие самого задания было:
В одномерном массиве из n вещественных элементов вычислить сумму положительных элементов массива;
произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.12.2017, 01:46
Ответы с готовыми решениями:

Произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами
Всем привет, есть массив заполненный рандомными числами, нужно найти произведение элементов массива, расположенных между максимальным по...

Произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами
Всем привет,помогите люди добрые нужно найти:Произведение элементов массива, расположенных между максимальным по модулю и минимальным по...

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

6
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
20.12.2017, 09:54
Лучший ответ Сообщение было отмечено pavel666228 как решение

Решение

C++
1
2
3
if (IndexMin > IndexMax) std::swap(IndexMin, IndexMax);
m = 1;
for (int i = IndexMin + 1; i < IndexMax; i++) m *= a[i];
1
<h1>Hello world</h1>
 Аватар для pavel666228
17 / 16 / 3
Регистрация: 17.12.2016
Сообщений: 181
Записей в блоге: 6
20.12.2017, 12:20  [ТС]
nmcf,Я исправил вот так
C
1
2
3
4
5
6
7
8
9
10
11
puts("\n elements between max and min:\n");
        int IndexMin = (max < min ? max : min);
        int IndexMax = (max < min ? min : max);
        float m;
        if (IndexMin > IndexMax) std::swap(IndexMin, IndexMax);
        m = 1;
        for (int i = IndexMin + 1; i < IndexMax; i++) {
            m *= a[i];
 
            printf("\n  %6.6f ",m);
        }
и оно вот что выводит
Миниатюры
Вывод элементов массива между максимальным и минимальным по модулю  
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
20.12.2017, 12:35
Убери 2-3. Почему ты индексы и значения смешиваешь?
0
<h1>Hello world</h1>
 Аватар для pavel666228
17 / 16 / 3
Регистрация: 17.12.2016
Сообщений: 181
Записей в блоге: 6
20.12.2017, 12:43  [ТС]
nmcf ,Я уже запутался просто(

C
1
2
3
4
5
6
7
8
9
puts("\n elements between max and min:\n");
        float m;
        if (indexMin > indexMax) std::swap(indexMin, indexMax);
        m = 1;
        for (int i = indexMin + 1; i < indexMax; i++) {
            m *= a[i];
 
            printf("\n  %6.6f ",m);
        }
вот это написал вместо того и вот что в итоге, выводит не верно:
Миниатюры
Вывод элементов массива между максимальным и минимальным по модулю  
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
20.12.2017, 12:45
Выводит так, как ты запрограммировал. Если нужны сами элементы, то выводи a[i]; а m надо после цикла выводить.
0
<h1>Hello world</h1>
 Аватар для pavel666228
17 / 16 / 3
Регистрация: 17.12.2016
Сообщений: 181
Записей в блоге: 6
20.12.2017, 12:48  [ТС]
nmcf, аааа блин, все проблема решена Спасибо большое!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.12.2017, 12:48
Помогаю со студенческими работами здесь

Произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами
Определить массив A (m и n константы), заполнить его случайными числами и выполнить следующие вычисления. Результаты выполнения задания...

Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами
Дан одномерный массив, состоящий из N вещественных элементов. Найти произведение элементов массива, расположенных между максимальным по...

Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами
Дан одномерный массив, состоящий из N вещественных элементов. Найти произведение элементов массива, расположенных между максимальным по...

Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами
Дан одномерный массив, состоящий из N вещественных элементов. Найти произведение элементов массива, расположенных между максимальным по...

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru