2015-11-06 2 views
1

Я хочу, чтобы среднее из двух самых больших переменных среди трех переменных n1, n2, n3. Кто-нибудь может мне помочь. Я прошу, чтобы пользователь вводил три ноты, будет храниться в переменных n1, n2, n3. то я хочу, чтобы программа возвращала среднее значение двух самых больших переменных.Я хочу, чтобы среднее из двух самых больших переменных среди трех переменных n1, n2, n3. Кто-нибудь может мне помочь.

#include <iostream> 
#include <string.h> 

using namespace std; 

int main() 
{ 
    float ra[23], qte_alunos=0; 
    float n1[29],n2[33],n3[33],op1[22],op2[22], fina[22]; 
    string nome[23], curso[23]; 

    for (int i=0; i<3; i++){ 

    cout << "digite RA: "; 
    cin >> ra[i]; 
    cout << "digte nome: "; 
    cin >> nome[i]; 
    cout << "digite curso: "; 
    cin >> curso[i]; 
    cout << "digite N1: "; 
    cin >> n1[i]; 
    cout << "digite N2: "; 
    cin >> n2[i]; 
    cout << "digite N3: "; 
    cin >> n3[i]; 

    if (n1[i] > n2[i] && n2[i] > n3[i]){ 
     n1[i] = op1[i]; 
     n2[i] = op2[i]; 
    } 

    if (n2[i] > n3[i] && n3[i] > n1[i]){ 
     n2[i] = op1[i]; 
     n3[i] = op2[i]; 
    } 

    if (n3[i] > n1[i] && n1[i] > n2[i]){ 
     n3[i] = op1[i]; 
     n1[i] = op2[i]; 
    } 

    fina[i] = (op1[i]+op2[i])/2; 

    if (fina[i] > 6){ 
     cout << "aprovado " << fina[i]; 
    } 
    if (fina[i] > 4 && fina[i] < 5.9){ 
     cout << "exame " << fina[i]; 
    } 

    if (fina[i] < 4){ 
     cout << "reprovado " << fina[i]; 
    } 
    cout << "\n" << endl; 
    } 
    return 0; 
} 
+0

Опубликованная код полностью отличается от вопроса в названии. Что с этим? –

+0

'Я хочу, чтобы среднее из двух самых больших переменных среди трех переменных: И что в этом такого сложного? – 101010

+0

Можете ли вы поместить 3 цифры в массив, отсортировать массив и взять последние 2 и усреднить их? – n00b

ответ

1

Если я вас правильно вы хотите (sum(a, b, c) - min(a, b, c))/2:

#include <algorithm> 
#include <iostream> 

int main (int argc, const char **argv) { 
    double a = 1; 
    double b = 2; 
    double c = 3; 
    double min = std::min({a, b, c}); 
    // double max = std::max({a, b, c}); 
    double sum = a + b + c; 
    // double result = ((sum - min - max) + max)/2; 
    // which is: 
    double result = (sum - min)/2; 
    std::cout << result << '\n'; 
} 
Смежные вопросы