С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 27.09.2021
Сообщений: 27
1

Найти сумму max и min в массиве

22.11.2021, 08:37. Показов 2147. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дан одномерный массив A[N]. Найти max(а2,а4, ...,а2k) + min(а1, а3, ..., а2k+1). Я вот написал он находит сумму, но не макс и мин.
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 <iostream>
#include <cmath>
 
using namespace std;
 
int main()
{   
    int n=8;
    int a[n]={1,2,3,4,5,6,7,8};
    int i, max, min;
    int s=0;
    for (i = 0; i < n; ++i)
        a[i]  = i;
    for (i =0; i < n; i++ )
    {
        if (max < a[i])
            max = a[i];
    }
    for (i =1; i<n; i++ )
    {
        if (min > a[i])
            min = a[i];
    }
    s=max+max;
    cout<<s<<" ";
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.11.2021, 08:37
Ответы с готовыми решениями:

Найти max и min, если min левее max, то среднее арифметическое между ними
#include &lt;iostream.h&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; void main() {...

Найти min и max в массиве
Нужно найти минимум и максимум в массиве, всегда все работало, в этот раз написал код и при выводе...

Найти max и min значения в массиве
Подскажите плиз . Задание звучит так : взять произвольный массив из 10 чисел и чтобы программа...

Найти max и min элементы в массиве и номер элемента, близкого к среднему арифметическому min и max.
Привет всем! Очень прошу помочь в решении задачи на определение характеристик одномерного массива....

5
22 / 15 / 9
Регистрация: 07.10.2020
Сообщений: 45
22.11.2021, 08:40 2
Цитата Сообщение от Dealsper Посмотреть сообщение
s=max+max;
Сумму чего ты тут ищешь? Максимума + Максимума?
0
Модератор
2840 / 1791 / 932
Регистрация: 16.10.2013
Сообщений: 5,161
Записей в блоге: 15
22.11.2021, 08:43 3
Цитата Сообщение от Dealsper Посмотреть сообщение
C++
14
15
16
17
18
19
20
21
22
23
for (i =0; i < n; i++ )
    {
        if (max < a[i])
            max = a[i];
    }
    for (i =1; i<n; i++ )
    {
        if (min > a[i])
            min = a[i];
    }
инкремент для циклов должен быть равен двум, а не единице.

К тому же цикл по поиску максимума должен начинаться с единицы, а поиска минимума - с нуля.
0
22 / 15 / 9
Регистрация: 07.10.2020
Сообщений: 45
22.11.2021, 08:58 4
Удивляет меня то что оно у тебя в принципе работает, ты объявляешь массив с изначально не заданным размером не динамически и даже не с помощью константы
Цитата Сообщение от Dealsper Посмотреть сообщение
int n=8;
Так же я вообще не могу понять для чего ты заново заполняешь массив:
Цитата Сообщение от Dealsper Посмотреть сообщение
for (i = 0; i < n; ++i)
        a[i]  = i;
Ты ведь изначально его уже заполнил:
Цитата Сообщение от Dealsper Посмотреть сообщение
int a[n]={1,2,3,4,5,6,7,8};
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
#include <iostream>
#include <cmath>
 
using namespace std;
 
int main()
{
    const int n = 8;
    int a[n] = { 1,2,3,4,5,6,7,8 };
    int max=0, min=10;
    int s = 0;
  
    for (int i = 0; i < n; )
    {
        if (max < a[i])
            max = a[i];
        i += 2;
    }
    for (int i = 1; i < n ; )
    {
        if (min > a[i])
            min = a[i];
        i += 2;
    }
    s = max + min;
    cout << s << " ";
    return 0;
}
1
Злостный нарушитель
9603 / 5196 / 1185
Регистрация: 12.03.2015
Сообщений: 24,537
22.11.2021, 09:20 5
Думаю, что вот такой вариант будет работать быстрее:
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
#include <cstdio>
#include <cassert>
 
// Дан одномерный массив A[N]. 
// Функция находит max(а2,а4, ...,а2k) + min(а1, а3, ..., а2k+1).
int foo(int* a, unsigned n)
{
  assert(a && n > 1);
  int *ptr_min = a, *ptr_max = a + 1; 
  
  for (int idx = 0; idx != n; idx++, a++)
  {  
    if (~idx & 1 && *ptr_min > *a) ptr_min = a;
    if (idx & 1  && *ptr_max < *a) ptr_max = a; 
  }
  //printf("# max = %d, min = %d\n", *ptr_max, *ptr_min);
  return *ptr_min + *ptr_max;
}
 
int main()
{
  int a[] = { 1,2,3,4,5,6,7,8 };
  printf("$ sum = %d\n", foo(a, sizeof(a) / sizeof(a[0])));
  return 0;
}
0
758 / 455 / 213
Регистрация: 19.12.2016
Сообщений: 1,815
22.11.2021, 09:36 6
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <algorithm>
const int size = 9;
int main()
{
    int arr[size]{1,2,3,6,5,4,7,8,9};
    auto MinMax = std::minmax_element(arr, arr + size);
    std::cout << *MinMax.first + *MinMax.second;
    return 0;
}
0
22.11.2021, 09:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.11.2021, 09:36
Помогаю со студенческими работами здесь

Найти в массиве сумму min и max
Здравствуйте, помогите решить Найти в массиве сумму минимального и максимального элемента. Вывести...

В вещественном массиве найти сумму элементов, меньших, чем среднее арифметическое его min и max элементов
Ребят, помогите пожалуйста, замучился уже =) In a given array of real numbers calculate the sum...

n - массивов, разной размерности, нужно найти min и max в этих массивах. Из полученных min найти наименьший элемент, из max наибольший
n - массивов, разной размерности, нужно найти min и max в этих массивах. Из полученных min найти...

Процедура: Даны три числа a,b,c. Вычислить (max(a,b)+min(a,c))/(max(b,c)*min(a,b))+max(min(a,b),min(b,c))
Даны три числа a,b,c. Вычислить (max(a,b)+min(a,c))/(max(b,c)*min(a,b))+max(min(a,b),min(b,c)) с...

4х5 random массив Найти min и max Поменять местами столбцы min и max
3) 4х5 random массив. найти min и max. поменять местами столбцы min и max. если min и max находятся...

4х5 random массив Найти min и max Поменять местами строки min и max
2) 4х5 random массив. найти min и max. поменять местами строки min и max. если min и max находятся...

Найти min, max в массиве
Создайте массив чисел на 100 элементов. Заполните этот массив случайными числами от -30 до 30...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru