Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
tuo
0 / 0 / 0
Регистрация: 06.10.2015
Сообщений: 2
1

Среднее значение положительных элементов в массиве между максимальным и минимальным элементом(найти ошибку)

07.10.2015, 23:08. Просмотров 209. Ответов 2
Метки нет (Все метки)

Ошибка похоже в подсчете суммы, количество элементов считает правильно
Заранее спасибо за помощь: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
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
 #include "stdafx.h"
#include <stdio.h>
#include <conio.h>
 
int Summa(int *A, int n);
int kolichestvo(int *A, int n);
int minElem(int*A, int n);
int maxElem(int*A, int n);
int inputMass(int *A, int nmax, int n);
 
void main()
{
    int nmax = 10;
    int n=5;
    int A[5];
    inputMass(A, nmax, n);
    
    int Sum = Summa(A, n);
    int K = kolichestvo(A, n)-1;
    float End = (Sum/K);
    printf("%f\n", End);    
    printf("%i\n", K);
    printf("%i\n", Sum);
    getch();
}
 
int inputMass(int*A, int nmax, int n)
{
    printf("Vvedite massiv");
    for (int i = 0; i<n; i++)
        scanf("%f", &A[i]);
return n;
}
 
int maxElem(int*A, int n)
{
    int NMax = 0;
    for (int i = 1; i < n; i++)
        if (A[NMax] < A[i]) {
            NMax = i;
        }
    return NMax;
}
 
int minElem(int*A, int n)
{
    int NMin = n;
    for (int i = 1; i < n; i++)
        if (A[NMin] > A[i]) {
            NMin = i;
        }
    return NMin;
}
 
 
int kolichestvo(int *A, int n )
{
    
    int kolichestvo = 0;
    int First= minElem(A, n);
    int Last= maxElem(A, n);
    if (Last > First)
    {
        for (int i = First; i < Last; i++)
        
            {
                kolichestvo += i;
                return kolichestvo;
            }
    }
    else  
        for (int i = Last; i < First; i++)
        
            {
                kolichestvo += i;
                return kolichestvo;
            }
    }
    
 
 
 
int Summa(int *A, int n)
{
    int Summa = 0;
    int First = maxElem(A, n);
    int Last = minElem(A, n);
    if (Last > First)
    {
        for (int i = First-1; i < Last; i++)
            
            {
                Summa += A[i];
                return Summa;
            }
    }
    else
    { 
        for (int i = Last; i < First; i++)
            
                    {
                        Summa += A[i];
                        return Summa;
                    }
    }
    
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2015, 23:08
Ответы с готовыми решениями:

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

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

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

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

Найти среднее арифметическое между максимальным отрицательным и минимальным положительным числом
Дан массив целых чисел, состоящий из N элементов (N=10). Найти среднее арифметическое между...

2
Vtulhu
423 / 377 / 200
Регистрация: 12.08.2011
Сообщений: 1,610
08.10.2015, 08:49 2
return Summa внутри цикла. А вообще код ужасен...
0
tuo
0 / 0 / 0
Регистрация: 06.10.2015
Сообщений: 2
08.10.2015, 18:24  [ТС] 3
Это исправила
Но проблема в том, что при любых значениях сумма получается равной 5, а среднее арифметическое 1
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.10.2015, 18:24

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

Определить сумму положительных элементов, расположенных между минимальным и максимальным элементами данного массива
В массиве А, содержащем 14 элементов, определить сумму положительных элементов, расположенных между...

В одномерном массиве вычислить произведение элементов массива, расположенных между максимальным и минимальным элементами
Ребят помогите!) нужно решить одну задачку.. В одномерном массиве, состоящем из n ...


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

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

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