Dev - C++ - Ayuda urgente con un arreglo

 
Vista:
sin imagen de perfil

Ayuda urgente con un arreglo

Publicado por Randy Joseph (5 intervenciones) el 26/03/2022 20:12:06
Hola buenas, necesito que me ayuden porfavor a realizar un programa con arreglos en el ingrese un rango de datos por ejemplo un numero de inicio y un numero final por ejemplo ingreso el rango de 2 y 10, al ingresar estos datos me mostrara el orden ascendentes del rango ingresado en este caso seria 2,3,4,5,6,7,8,9,10 o viceversa sin ingreso 10 y 2 me mostrara el orden descendente 10,9,8,7,6,5,4,3,2 y después volver a pedir los datos del rango para un ingreso nuevo de datos y si por ejemplo en el primer caso ingrese un rango para que me muestres ascendentes que despliegue un mensaje que diga que ya se ingreso un orden ascendente por lo cual tendrá que ingresar un orden descendente para almacenarlos los dos ordenes en un arreglo, y por ultimo seria sacar:

Suma total del vector 1,
Promedio total del vector 1,
Suma total del vector 2,
Promedio total del vector 2,
Suma total de los 2 vectores.
Promedio total de los 2 vectores.

Ayuda porfa, se los agradezco de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
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++

Ayuda urgente con un arreglo

Publicado por Alfil (1444 intervenciones) el 28/03/2022 11:57:30
Ten en cuenta que el tamaño de los vectores los toma del tamaño del primer rango, por lo tanto el tamaño del segundo rango a de ser del mismo tamaño (pueden ser números diferentes pero no más números).

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
#include <iostream>
 
using namespace std;
 
int main()
{
    int desde, hasta, n, op;
    int suma1 = 0, suma2 = 0;
 
    cout << "Rango Desde: "; cin >> desde;
    cout << "Hasta: "; cin >> hasta;
 
    if (desde < hasta)
    {
        n = hasta - desde;
        op = 1;
    }
    else
    {
        n = desde - hasta;
        op = 2;
    }
 
 
    int v1[n], v2[n];
 
    int k = 0;
    do {
        int j;
        switch (op)
        {
            case 1:
                j = 0;
                for (int i = desde; i < hasta; i++)
                {
                    v1[j++] = i;
                    suma1 += i;
                }
                op = 2;
                break;
 
            case 2:
                j = 0;
                for (int i = desde; i > hasta; i--)
                {
                    v2[j++] = i;
                    suma2 += i;
                }
                op = 1;
                break;
        }
        if (k == 0)
        {
            if (op == 1)
            {
                cout << endl;
                cout << "Rango Creciente: " << endl;
                cout << "Rango Desde: "; cin >> desde;
                cout << "Hasta: "; cin >> hasta;
            }
            else
            {
                cout << endl;
                cout << "Rango Decreciente: " << endl;
                cout << "Rango Desde: "; cin >> desde;
                cout << "Hasta: "; cin >> hasta;
            }
        }
        k++;
 
    } while (k < 2);
 
    cout << endl;
    cout << "Suma total del vector 1: " << suma1 << endl;
    cout << "Promedio total del vector 1: " << suma1 / (float)n << endl;
    cout << "Suma total del vector 2: " << suma2 << endl;
    cout << "Promedio total del vector 2: " << suma2 / (float)n << endl;
    cout << "Suma total de los dos vectores: " << suma1 + suma2 << endl;
    cout << "Promedio total de los dos vectores: " << (suma1 + suma2) / (2.0 * n) << endl;
 
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Ayuda urgente con un arreglo

Publicado por Randy Joseph (5 intervenciones) el 30/03/2022 00:13:09
Gracias fijese que yo lo tengo planteado asi que me puede orientar y ayudar porfa:

#include <iostream>

using namespace std;

//Ejercicio #4 Guia II Parcial
//Grupo 1
int main(int argc, char *argv[]) {

//Definicion de variables

int i, x;
int num_inicio, num_final;
int num_inicio2, num_final2;
int sumatotal;
float promediot;
double promediov1, promediov2;

//Iniciacion de variables
int suma1=0;
int suma2=0;
int arregloasc[100], arregloasc2[100], arreglototal[100];
cout<<"******************EJERCICIO #4 GUIA II PARCIAL - GRUPO 1 ************************"<<endl;
cout<<" "<<endl;
//Ingresamos nuestro rango de datos
cout<<"Ingrese el Valor de inicio: "<<endl;
cin>>num_inicio;
cout<<"Ingrese el Valor Final: "<<endl;
cin>>num_final;

//Iniciamos condicion para mostrar los numeros ascendentes
if (num_inicio<num_final){
cout<<"---------------------------------------------------------------------------------------------"<<endl;
cout <<"El orden de los numeros es ascendente: ";

//Iniciamos ciclo for para obtenerlo
for (i=num_inicio;i<=num_final;i++){
//Impresion del arreglo1
cout<<" "<<i<<",";
//Llenamos el arreglo1
arregloasc[i]=i;
//Realizamos la suma del arreglo
suma1=suma1+arregloasc[i];
//Realizamos el promedio del arreglo1
promediov1=suma1/num_final+arregloasc[i];

}
//Caso falso para poder mostrar los numeros ascendentes
//Iniciamos condicion para mostrar los numeros ascendentes
}else if (num_inicio>num_final){
cout<<" "<<endl;
cout<<"---------------------------------------------------------------------------------------------"<<endl;
cout <<"El orden de los numeros es descendente: ";
//Iniciamos ciclo for para obtenerlo
for (i=num_inicio;i>=num_final;i--){
//Impresion del arreglo1
cout<<" "<<i<<",";
//Llenamos el arreglo1
arregloasc[i]=i;
//Realizamos la suma del arreglo
suma1=suma1+arregloasc[i];
//Realizamos el promedio del arreglo1
promediov1=suma1/arregloasc[i];


}
}

cout<<" "<<endl;
cout<<"---------------------------------------------------------------------------------------------"<<endl;

//Ingresamos el segundo valor del arreglo 2

//Ingresamos nuestro rango para el arreglo2
cout<<"Ingrese el Valor de inicio: "<<endl;
cin>>num_inicio2;
cout<<"Ingrese el Valor Final: "<<endl;
cin>>num_final2;

//Iniciamos ciclo while para condicion si ya existe un orden ascendente o descendente anteriormente
while (num_inicio2<num_final2){
cout<<" "<<endl;
cout<<"!!!Error ya existe un orden ascendente (Intente de nuevo)!!!"<<endl;

//Volvemos a ingresar los valores del rango del arreglo 2
cout<<"Ingrese el Valor de inicio: "<<endl;
cin>>num_inicio2;
cout<<"Ingrese el Valor Final: "<<endl;
cin>>num_final2;

}
//Iniciamos condicion para mostrar los numeros ascendentes del arreglo 2
if (num_inicio2<num_final2){
cout<<" "<<endl;
cout <<"El orden de los numeros es ascendente: ";
//Iniciamos ciclo for para obtenerlo
for (i=num_inicio2;i<=num_final2;i++){
//Impresion del arreglo2
cout<<" "<<i<<",";
//LLenado del arreglo 2
arregloasc2[i]=i;
//Realizamos la suma del arreglo2
suma2=suma2+arregloasc2[i];
//Realizamos el primedio del arreglo2
promediov2=suma2/arregloasc2[i];
}
//Caso falso de la condicion para mostrar numeros descendentes del arreglo 2
} else if (num_inicio2>num_final2){
cout<<" "<<endl;
cout <<"El orden de los numeros es descendente: ";
//Iniciamos ciclo for para obtenerlo
for (i=num_inicio2;i>=num_final2;i--){
//Impresion del arreglo2
cout<<" "<<i<<",";
//LLenado del arreglo 2
arregloasc2[i]=i;
//Realizamos la suma del arreglo2
suma2=suma2+arregloasc2[i];
//Realizamos el primedio del arreglo2
promediov2=suma2/arregloasc2[i];

}

}
//Imoresion de resultados
cout<<" "<<endl;
cout<<"---------------------------------------------------------------------------------------------"<<endl;

cout<<"*********************************************************************************************"<<endl;
//Impresion vector 1
cout<<"Vector 1: ";
//Iniciamos ciclo for para la impresion de los arreglos
for (i=num_inicio;i<=num_final;i++){

//Salida del arreglo 1
cout<<" "<<arregloasc[i]<<",";
}
cout<<" "<<endl;
//Impresion vector 1
cout<<"Vector 2: ";
//Iniciamos ciclo for para la impresion de los arreglos
for (i=num_inicio2;i>=num_final2;i--){
//Salida del arreglo 2
cout<<" "<<arregloasc2[i]<<",";
}
cout<<" "<<endl;
cout<<"*********************************************************************************************"<<endl;
//Iniciamos ciclo for para la impresion de los arreglos
for (i=num_inicio;i<=num_final;i++){

//Impresion del promedio total de los dos arreglos
promediot=(arregloasc[i]+arregloasc2[i]);
}
//Sumatoria del vector 1
cout<<"Suma total vector 1: ";
//Iniciamos ciclo for para la impresion de los arreglos
for (i=num_inicio;i<=num_final;i++){

//Salida de la suma del vector 1
cout<<" "<<suma1;
}
cout<<" "<<endl;
//Promedio total del vector 1
cout<<"Promedio total vector 1: ";
//Iniciamos ciclo for para la impresion de los arreglos
for (i=num_inicio;i<=num_final;i++){

//Salida del promedio del vector 1
cout<<" "<<promediov1;
}
cout<<" "<<endl;
cout<<"*********************************************************************************************"<<endl;
//Sumatoria del vector 2
cout<<"Suma total vector 2: ";
//Iniciamos ciclo for para la impresion de los arreglos
for (i=num_inicio;i<=num_final;i++){

//Salida de la suma del vector 2
cout<<" "<<suma2;
}
cout<<" "<<endl;
//Promedio total del vector 2
cout<<"Promedio total vector 2: ";
//Iniciamos ciclo for para la impresion de los arreglos
for (i=num_inicio;i<=num_final;i++){

//Salida del promedio del vector 2
cout<<" "<<promediov2;
}
cout<<" "<<endl;
cout<<"*********************************************************************************************"<<endl;
//Sumatoria de los dos vectores
cout<<"Sumatoria dos vectores: ";
//Iniciamos ciclo for para la impresion de los arreglos
for (i=num_inicio;i<=num_final;i++){
//obtener la suma total de los dos vectores
sumatotal=suma1+suma2;
//Promedio total de los vectores
arreglototal[i]=sumatotal/2;
//Salida de la sumatoria total de los 2 vectores
cout<<" "<<sumatotal;
}

cout<<" "<<endl;
//Promedio de los dos vectores
cout<<"Promedio dos vectores: ";
//Iniciamos ciclo for para la impresion de los arreglos
for (i=num_inicio;i<=num_final;i++){
//Salida del promedio total de los dos vectores
cout<<" "<<arreglototal[i];
}
cout<<" "<<endl;
cout<<"*********************************************************************************************"<<endl;
return 0;
}


ayuda

No entiendo porque me muestra repetido el resultado y por que no muestra los decimales en los promedios y que me muestre un mensaje cuando al principio ya haya ingresados un orden ascendente o descendente porque no pueden ir repetidos
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