Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
Sergeii
0 / 0 / 1
Регистрация: 12.05.2015
Сообщений: 4
1

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

12.05.2015, 12:58. Просмотров 1225. Ответов 5
Метки нет (Все метки)

Дан двумерный массив размерностью 5х5, заполненный случайными числами из диапазона от -100 до 100. Определить сумму элементов массива, расположенных между минимальным и максимальным элементами.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2015, 12:58
Ответы с готовыми решениями:

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

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

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

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

Найти произведение элементов, расположенных между минимальным и максимальным элементами строки матрицы
Составить программу на С++, которая находит в каждой строке матрицы Q(k,l),...

5
Solitaire Raven
33 / 33 / 47
Регистрация: 20.04.2015
Сообщений: 198
12.05.2015, 14:03 2
1)Находишь max и min
2) if(a[i][j]<max &&a[i][j]>min)
sum+=a[i][j];
0
Brandi
3 / 3 / 8
Регистрация: 29.12.2014
Сообщений: 29
12.05.2015, 22:01 3
Цитата Сообщение от Solitaire Raven Посмотреть сообщение
1)Находишь max и min
2) if(a[i][j]<max &&a[i][j]>min)
sum+=a[i][j];
этот код сравнивает с максимальным и минимальным значения элементов, лежащих на любых позициях. Надо сравнивать индексы, они должны лежать между индексами макс. и мин. элементов.
0
Solitaire Raven
33 / 33 / 47
Регистрация: 20.04.2015
Сообщений: 198
13.05.2015, 05:14 4
Цитата Сообщение от Brandi Посмотреть сообщение
Надо сравнивать индексы, они должны лежать между индексами макс. и мин. элементов
Покажи как?
0
Brandi
3 / 3 / 8
Регистрация: 29.12.2014
Сообщений: 29
14.05.2015, 20:44 5
Лучший ответ Сообщение было отмечено SatanaXIII как решение

Решение

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
#include <iostream>
#include <cstdlib>//srand, rand
#include <ctime>//time
#include <iomanip>
using namespace std;
 
int main()
{
    const int a = -100;
    const int b = 100;
 
    const int n = 5;
    const int m = 5;
    int arr[n][m];
 
    srand(time(NULL));
 
    //генерация и печать
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            arr[i][j] = rand() % (b - a + 1) + a;
            cout << setw(4) << arr[i][j] << "  ";
            if (j == m - 1)
                cout << endl;
        }
    }
 
    //поиск мин. и макс. элементов
    int iMin = 0, jMin = 0;
    int iMax = 0, jMax = 0;
    int min = arr[0][0];
    int max = arr[0][0];
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            if (arr[i][j] < min)
            {
                min = arr[i][j];
                iMin = i;
                jMin = j;
            }
 
            if (arr[i][j] > max)
            {
                max = arr[i][j];
                iMax = i;
                jMax = j;
            }
        }
    }
 
    int i1 = 0, j1 = 0, i2 = 0, j2 = 0;
    if (iMin == iMax)//мин. и макс. на одной строке
    {
        i1 = i2 = iMin;
        if (jMin < jMax)
        { 
            j1 = jMin; 
            j2 = jMax;
        }           
        else
        {
            j1 = jMax;
            j2 = jMin;
        }       
    }
    else
    {
        if (iMin < iMax)//мин. выше макс. элемента
        {
            i1 = iMin; j1 = jMin;
            i2 = iMax; j2 = jMax;
        }
        else
        {
            i1 = iMax; j1 = jMax;
            i2 = iMin; j2 = jMin;
        }
    }
 
 
    int count = 0; //кол-во элементов между мин. и макс. элементами
 
    if (i1 == i2)
    {
        count = j2 - j1 - 1;
    }
    else
    {
        int garantFullRows = i2 -i1 - 1; //гарантированное кол-во полных строк
        int num1 = n - j1 - 1;   //кол-во ячеек в верхней строке
        int num2 = j2;  //кол-во ячеек в нижней строке
        count = garantFullRows * m + num1 + num2; 
    }
        
    int * p = &arr[i1][j1];
    int sum = 0;
 
    if (count != 0)
    { 
        for (int i = 1; i <= count; i++)
        {
            sum += *(p + i);
        }
    }
    
    cout << "Min: arr[" << iMin << "]" << "[" << jMin << "] =" << arr[iMin][jMin] << endl;
    cout << "Max: arr[" << iMax << "]" << "[" << jMax << "] =" << arr[iMax][jMax] << endl;
    cout << "Sum: " << sum << endl;
 
    return 0;
}
0
Hovanskiy21
0 / 0 / 0
Регистрация: 16.09.2016
Сообщений: 4
01.12.2016, 17:20 6
а вот если одномерный массив там что над убрать?
0
01.12.2016, 17:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.12.2016, 17:20

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

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

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru