Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
1 / 1 / 0
Регистрация: 22.03.2010
Сообщений: 18

В массиве А найти сумму элементов, расположенных между минимальным и максимальным элементами массива

03.12.2010, 23:05. Показов 3321. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть программа, которая выполняет следующее:
1) Ввод массива 3 разными способами.
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
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#include <malloc.h>
 
//================================================
void keybord(int *Arr, int n)
{
int i;
for(i = 0; i < n; ++i)
{
     printf("Enter Arr[%d]: ", i);
     scanf("%d", &Arr[i]);
}
 
printf("Array\n");
for(i = 0; i < n; ++i)
{
     printf("%d ", Arr[i]);
}
printf("\n");
}
//================================================
void random(int *Arr, int n)
{
int i;
   printf("Array\n");
for(i = 0; i < n; ++i)
{
Arr[i] = rand()%100+1+i;
printf("%d ", Arr[i]);
}
printf("\n");
}
//================================================
void from_file(int *Arr, int n)
{
int i;
FILE* f;
f=fopen("1.txt", "r");
if(f==NULL)
{
    printf("Error!\n");
    exit(1);
}
printf("Array\n");
for(i = 0; i < n; ++i)
{
fscanf(f, "%d ", &Arr[i]);
printf("%d ", Arr[i]);
}
printf("\n");
fclose(f);
}
//================================================
void foo(int *Arr, int n)
{
int index = 0, i;
 
for(i = 0; i <n; ++i)
{
if(Arr[index] < Arr[i])
{
index = i;
}
}
 
for(i = index+1; i < n; ++i)
{
Arr[i]--;
}
}
 
//================================================
int main()
{
srand((unsigned)(time(NULL)));
int *Arr, n, x;
printf("Enter size of array: ");
scanf("%d", &n);
Arr =(int*)malloc(sizeof(int)*n);
 
printf("Enter elements of array\n");
printf("1 - keyboard\n");
printf("2 - random\n");
printf("3 - file\n");
 
printf("Enter number of option: ");
scanf("%d", &x);
 
switch(x)
{
case 1:
keybord(Arr, n);
break;
case 2:
random(Arr, n);
break;
case 3:
from_file(Arr, n);
break;
default:
printf("Error\n");
return 1;
}
 
foo(Arr, n);
 
printf("After\n");
int i;
for(i = 0; i < n; ++i)
{
printf("%d ", Arr[i]);
}
printf("\n");
getch ();
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.12.2010, 23:05
Ответы с готовыми решениями:

Найти сумму элементов массива, расположенных между минимальным и максимальным элементами
дан вещественный массив A(n). найти сумму элементов массива, расположенных между минимальным и максимальным элементами.

Найти сумму элементов массива, расположенных между элементами с минимальным и максимальным значением
Одномерный массив. Число элементов массива задаётся пользователем. Элементы могут заполняться как вручную, так и случайным образом.Найти...

Найти сумму и количество положительных элементов, расположенных между минимальным и максимальным элементами массива.
Дан массив А(30). Найти сумму и количество положительных элементов, расположенных между минимальным и максимальным элементами массива. С++

13
Freelance
Эксперт С++
 Аватар для asics
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
03.12.2010, 23:18
Думаю понимаеш как внедрить это в свою програму
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
#include <stdio.h>
 
int get_sum(int arr[], const int N)
{
    int ind_min = 0, ind_max = 0, sum = 0;
 
    for(int i = 0; i < N; ++i)
    {
        if(arr[ind_min] > arr[i])
            ind_min = i;
        else if(arr[ind_max] < arr[i])
            ind_max = i;
    }
 
    for(int i = ind_min + 1; i < ind_max; ++i)
        sum += arr[i];
 
    return sum;
}
 
int main()
{
    const int N = 5;
    int arr[N] = {3, 1, 5, 8, 10};
    printf("Sum\n\t-> %d", get_sum(arr, N));
    return 0;
}
0
1 / 1 / 0
Регистрация: 22.03.2010
Сообщений: 18
03.12.2010, 23:40  [ТС]
Извиняюсь, но не получается, и у вас в коде массив дан, а мне надо чтоб я его либо сам вводил, либо случайным образом, либо из файла, в общем как у меня в коде.
0
Freelance
Эксперт С++
 Аватар для asics
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
03.12.2010, 23:57
ka4ok73, Я же написАл функцию для нахождения сумы елементов между мин и макс, просто вставте ее в свой код.
Подправил чтобы функция принимала в качестве одного из аргументов не масив, а указатель на него.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int get_sum(int *arr, int N)
{
    int ind_min = 0, ind_max = 0, sum = 0;
 
    for(int i = 0; i < N; ++i)
    {
        if(arr[ind_min] > arr[i])
            ind_min = i;
        else if(arr[ind_max] < arr[i])
            ind_max = i;
    }
 
    for(int i = ind_min + 1; i < ind_max; ++i)
        sum += arr[i];
 
    return sum;
}
Теперь в своем коде просто напишите
C
1
printf("Sum\n\t-> %d", get_sum(Arr, n));
0
1 / 1 / 0
Регистрация: 22.03.2010
Сообщений: 18
04.12.2010, 01:05  [ТС]
Спасибо за помощь, премного благодарен)

Добавлено через 12 минут
Не сразу заметил ошибки! в половине случаев считает, в половине нет, попробуйте сами у себя эту программу несколько раз запустить, во всём убедитесь сами. Если можно склейте свой код со своим, чтоб уж наверняка.
0
Freelance
Эксперт С++
 Аватар для asics
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
04.12.2010, 01:13
ka4ok73, Ну и в каких случаях не считает, привидите пример.
0
1 / 1 / 0
Регистрация: 22.03.2010
Сообщений: 18
04.12.2010, 01:16  [ТС]
Ввожу с клавиатуры массив 100 5 6 1 8 Выводит сумму ноль, как я понял, если сначала идёт максимальный элемент, а потом минимальны, то не считает, если же наоборот, то всё нормально
0
Freelance
Эксперт С++
 Аватар для asics
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
04.12.2010, 01:28
Цитата Сообщение от ka4ok73 Посмотреть сообщение
как я понял, если сначала идёт максимальный элемент, а потом минимальны, то не считает, если же наоборот, то всё нормально
Вы все правильно поняли.
0
1 / 1 / 0
Регистрация: 22.03.2010
Сообщений: 18
04.12.2010, 01:32  [ТС]
Можете исправить?
0
Freelance
Эксперт С++
 Аватар для asics
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
04.12.2010, 01:45
ka4ok73,
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
int get_sum(int *Arr, int N)
{
    int ind_min = 0, ind_max = 0, sum = 0;
 
    for(int i = 0; i < N; ++i)
    {
        if(arr[ind_min] > arr[i])
            ind_min = i;
        else if(arr[ind_max] < arr[i])
            ind_max = i;
    }
 
    if(ind_min < ind_max)
    {
        for(int i = ind_min + 1; i < ind_max; ++i)
            sum += arr[i];
    }
    else
    {
        for(int i = ind_max + 1; i < ind_min; ++i)
            sum += arr[i];
    }
 
    return sum;
}
0
1 / 1 / 0
Регистрация: 22.03.2010
Сообщений: 18
04.12.2010, 01:49  [ТС]
Спасибо, очень помогли, спасибо большое!
0
0 / 0 / 0
Регистрация: 04.12.2014
Сообщений: 18
04.12.2014, 19:09
а для c++ кто-нибудь может помочь с кодом?
0
3 / 3 / 2
Регистрация: 21.10.2014
Сообщений: 49
04.12.2014, 19:32
Тут помогают всем, создайте тему с заданием и просто ждите)
0
0 / 0 / 0
Регистрация: 04.12.2014
Сообщений: 18
04.12.2014, 19:52
tiger97, спасибо за помощь неразобравшемуся новичку
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.12.2014, 19:52
Помогаю со студенческими работами здесь

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

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

Найти произведение элементов массива, расположенных между максимальным и минимальным элементами
Спасибо! Можно еще вопрос: объявлен одномерный динамический массив b размером a, заполнен введенными пользователями числами, и нужно к нему...

Найти произведение элементов, расположенных между максимальным и минимальным элементами массива
Сформировать массив 40 целых случайных чисел в диапазоне от минус 40 до 40. Напечатать его. Напечатать произведение элементов,...

Найти произведение элементов массива, расположенных между максимальным и минимальным элементами
Помогите, пожалуйста. Как найти произведение элементов массива, расположенных между максимальным и минимальным элементами? Заранее...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
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
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru