Dev - C++ - Escriba un programa que asigne dinámicamente un arreglo

 
Vista:

Escriba un programa que asigne dinámicamente un arreglo

Publicado por programa en c++ (9 intervenciones) el 03/12/2020 04:21:53
Escriba un programa que asigne dinámicamente un arreglo lo suficientemente grande para almacenar un numero de puntuaciones definida por el usuario. Una vez todas las puntuaciones hayan sido introducidas, el arreglo debe ser pasado a una función que ordene dicho arreglo de forma ascendente. Otra función deberá ser llamada para calcular la puntuación promedio. El programa deberá desplegar las puntuaciones ordenadas y finalmente la puntuación promedio.
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++

Escriba un programa que asigne dinámicamente un arreglo

Publicado por Alfil (1444 intervenciones) el 03/12/2020 17:44:20
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
#include <iostream>
 
using namespace std;
 
void leerDatos(float v[], int n);
void ordenar(float v[], int n);
void imprimir(float v[], int n);
float promedio(float v[], int n);
 
int main()
{
    int sz;
 
    cout << "\nNumero de Puntuaciones: ";
    cin >> sz;
 
    float* v = new float[sz];
 
    leerDatos(v, sz);
    ordenar(v, sz);
 
    cout << "\nArreglo ordenado: ";
    imprimir(v, sz);
 
    cout << "\nPromedio: " << promedio(v, sz) << endl;
 
    delete [] v;
 
    return 0;
}
 
void leerDatos(float v[], int n)
{
    for (int i = 0; i < n; i++)
    {
        cout << "\nPuntuacion " << i + 1 << ": ";
        cin >> v[i];
    }
}
 
void ordenar(float v[], int n)
{
    float valor;
    int j;
 
    for (int i = 1; i < n; i++)
    {
        valor = v[i];
        j = i;
        while (j > 0 && valor < v[j-1])
        {
            v[j] = v[j-1];
            j--;
        }
        v[j] = valor;
    }
}
 
void imprimir(float v[], int n)
{
    for (int i = 0; i < n; i++)
        cout << v[i] << " ";
}
 
float promedio(float v[], int n)
{
    float suma = 0.0f;
 
    for (int i = 0; i < n; i++)
        suma += v[i];
 
    return suma / n;
}
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