Dev - C++ - trabajos de universidad estoy sacando un tecnico

 
Vista:

trabajos de universidad estoy sacando un tecnico

Publicado por maria gomez (2 intervenciones) el 29/04/2020 18:20:36
un listado de números enteros brindados por usuario, debe determinar y mostrar en pantalla los
siguientes resultados:
a) Porcentaje de valores ceros en el listado ingresado.
b) Valor promedio de los valores impares ingresados.
c) Lista de números negativos, ordenados de manera descendente.
d) Menor mayor de solamente los números pares positivos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

trabajos de universidad estoy sacando un tecnico

Publicado por Alfil (1444 intervenciones) el 01/05/2020 09:51:48
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
119
120
#include <iostream>
 
using namespace std;
 
void leerDatos(int v[], int sz);
void ordenar(int v[], int size);
float porcentajeCero(const int v[], int size);
float promedioImpares(const int v[], int size);
void imprimirNegativos(const int v[], int size);
int mayorParPositivo(const int v[], int size);
int menorParPositivo(const int v[], int size);
 
int main()
{
    int size, mayor, menor;
 
    cout << "\nCantidad de numeros: ";
    cin >> size;
 
    int numeros[size];
 
    cout << "\nIntroducir datos:\n";
    leerDatos(numeros, size);
 
    ordenar(numeros, size);
    mayor = mayorParPositivo(numeros, size);
    menor = menorParPositivo(numeros, size);
 
    cout << endl;
    cout << "Porcentaje de Ceros: " << porcentajeCero(numeros, size) << endl;
    cout << "Promedio numeros impares: " << promedioImpares(numeros, size) << endl;
    cout << "Lista de numeros negativos: "; imprimirNegativos(numeros, size);
    cout << "Mayor numero par positivo: "; mayor > 0 ? cout <<  mayor : cout << "Ninguno"; cout << endl;
    cout << "Menor numero par positivo: "; menor < 0 ? cout <<  menor : cout << "Ninguno"; cout << endl;
 
    return EXIT_SUCCESS;
}
 
void leerDatos(int v[], int size)
{
   for (size_t i = 0; i < size; i++)
    {
        cout << "Dato " << i + 1 << ": ";
        cin >> v[i];
    }
}
 
void ordenar(int v[], int size)
{
    int valor;
    int j;
 
    for (size_t i = 1; i < size; i++)
        {
        valor = v[i];
        j = i;
        while (j > 0 && valor < v[j-1])
        {
            v[j] = v[j-1];
            j--;
        }
        v[j] = valor;
    }
}
 
float porcentajeCero(const int v[], int size)
{
    int cantidad = 0;
 
    for (size_t i = 0; i < size; i++)
        if (v[i] == 0)
            cantidad++;
 
    return float(cantidad) / size;
}
 
float promedioImpares(const int v[], int size)
{
    int suma = 0, cantidad = 0;
 
    for (size_t i = 0; i < size; i++)
        if (v[i] % 2 != 0)
        {
            suma += v[i];
            cantidad++;
        }
 
    return float(suma) / cantidad;
}
 
void imprimirNegativos(const int v[], int size)
{
    for (size_t i = 0; i < size; i++)
        if (v[i] < 0)
            cout << v[i] << " ";
 
    cout << endl;
}
 
int mayorParPositivo(const int v[], int size)
{
    int max = 0;
 
    for (size_t i = 0; i < size; i++)
        if (v[i] % 2 == 0 && v[i] > 0 && max < v[i])
            max = v[i];
 
    return max;
}
 
int menorParPositivo(const int v[], int size)
{
    int min = 0;
 
    for (size_t i = 0; i < size; i++)
        if (v[i] % 2 == 0 && v[i] > 0 && min > v[i])
            min = v[i];
 
    return min;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar