Dev - C++ - ayuda con este problema de arreglos

 
Vista:

ayuda con este problema de arreglos

Publicado por luis ramon (2 intervenciones) el 28/03/2019 09:18:15
Me pueden ayudar con este arreglo en programacion c++, muchas gracias

Resuelve el problema que se presenta a continuación:

Crea un arreglo de tipo entero, pregunta al usuario cuántos valores enteros va a capturar, esa cantidad será la longitud del arreglo. Tener un menú con las siguientes opciones:

1. Capturar valores

2. Ordenar valores

3. imprimir valores originales

4. imprimir valores ordenados

5. Salir

Cuando se oprima la opción de salir deberá preguntar al usuario si desea salir o no antes de salir del programa, mientras el usuario no desee salir regresar al menú.
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 con este problema de arreglos

Publicado por Alfil (1444 intervenciones) el 28/03/2019 11:53:57
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
121
#include <iostream>
#include <cctype>
 
using namespace std;
 
void leer( int v[], int N );
void ordenar( int v[], int A[], int N );
void imprimir( int v[], int N );
int OpMenu();
 
void leer( int v[], int N )
{
    cout << "\nCapturar valores:\n";
    for( int i = 0; i < N; i++ ){
        cout << "Valores (" << i + 1 << "/" << N << "): ";
        cin >> v[i];
    }
}
 
void ordenar( int v[], int A[], int N )
{
    for(int i = 0; i < N; i++ ) {
        A[i] = v[i];
    }
 
    int valor;
    int j;
 
    for(int i = 1; i < N; i++) {
        valor = A[i];
        j = i;
        while( j > 0 && valor < A[j-1] ) {
            A[j] = A[j-1];
            j--;
        }
        A[j] = valor;
    }
}
 
 
 
void imprimir( int v[], int N )
{
    for( int i = 0; i < N; i++ ){
        cout << v[i] << " ";
    }
    cout << endl;
}
 
int OpMenu()
{
    int op;
 
    do{
        cout << "\n"
             << "        ARREGLO TIPO ENTERO\n"
             << "==================================\n"
             << "1.- Leer Arreglo ....... (Pulsa 1)\n"
             << "2.- Ordenar Arreglo .... (Pulsa 2)\n"
             << "3.- Iprimir Original ... (Pulsa 3)\n"
             << "4.- Imprimir Ordenado .. (Pulsa 4)\n"
             << "5.- Salir .............. (Pulsa 5)\n"
             << "==================================\n"
             << "INTRODUZCA UNA OPCION (1-5): ";
        cin >> op;
 
 
    }while( op < 1 || op > 5 );
 
    return op;
}
 
int main()
{
    int N;
 
    cout << "\nElementos del arreglo: ";
    cin >> N;
 
    int original[N];
    int copia[N] = { 0 };
    int opcion;
    char c;
 
    do{
        opcion = OpMenu();
 
        switch( opcion ){
            case 1:
                leer( original, N );
                break;
 
            case 2:
                ordenar( original, copia, N );
                break;
 
            case 3:
                cout << "\nLos valores originales son: ";
                imprimir( original, N );
                break;
 
            case 4:
                cout << "\nLos valores ordenados son: ";
                imprimir( copia, N );
                break;
 
            case 5:
                cout << "\nSeguro que desea salir (S/n): ";
                cin >> c;
                c = toupper( c );
                if( c != 'S' )
                    opcion = 0;
                break;
 
            default:
                break;
        }
    }while( opcion != 5 );
 
    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
0
Comentar

ayuda con este problema de arreglos pero en c

Publicado por alvaro (1 intervención) el 29/03/2022 22:02:17
#include <iostream>
#include <cctype>

using namespace std;

void leer( int v[], int N );
void ordenar( int v[], int A[], int N );
void imprimir( int v[], int N );
int OpMenu();

void leer( int v[], int N )
{
cout << "\nCapturar valores:\n";
for( int i = 0; i < N; i++ ){
cout << "Valores (" << i + 1 << "/" << N << "): ";
cin >> v[i];
}
}

void ordenar( int v[], int A[], int N )
{
for(int i = 0; i < N; i++ ) {
A[i] = v[i];
}

int valor;
int j;

for(int i = 1; i < N; i++) {
valor = A[i];
j = i;
while( j > 0 && valor < A[j-1] ) {
A[j] = A[j-1];
j--;
}
A[j] = valor;
}
}



void imprimir( int v[], int N )
{
for( int i = 0; i < N; i++ ){
cout << v[i] << " ";
}
cout << endl;
}

int OpMenu()
{
int op;

do{
cout << "\n"
<< " ARREGLO TIPO ENTERO\n"
<< "==================================\n"
<< "1.- Leer Arreglo ....... (Pulsa 1)\n"
<< "2.- Ordenar Arreglo .... (Pulsa 2)\n"
<< "3.- Iprimir Original ... (Pulsa 3)\n"
<< "4.- Imprimir Ordenado .. (Pulsa 4)\n"
<< "5.- Salir .............. (Pulsa 5)\n"
<< "==================================\n"
<< "INTRODUZCA UNA OPCION (1-5): ";
cin >> op;


}while( op < 1 || op > 5 );

return op;
}

int main()
{
int N;

cout << "\nElementos del arreglo: ";
cin >> N;

int original[N];
int copia[N] = { 0 };
int opcion;
char c;

do{
opcion = OpMenu();

switch( opcion ){
case 1:
leer( original, N );
break;

case 2:
ordenar( original, copia, N );
break;

case 3:
cout << "\nLos valores originales son: ";
imprimir( original, N );
break;

case 4:
cout << "\nLos valores ordenados son: ";
imprimir( copia, N );
break;

case 5:
cout << "\nSeguro que desea salir (S/n): ";
cin >> c;
c = toupper( c );
if( c != 'S' )
opcion = 0;
break;

default:
break;
}
}while( opcion != 5 );

return 0;
}


si me pueden ayudar convertirlo en c es que me piden ese problema pero en leguaje c ya cambie printf y scanf pero no me corre correctamente
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