Dev - C++ - Arreglo Aritmética con Punteros

 
Vista:
sin imagen de perfil

Arreglo Aritmética con Punteros

Publicado por Daniel (2 intervenciones) el 24/02/2023 05:04:30
Buen día, tengo este código

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
 
int main()
{
    const int NUMS = 5;
 
    int nums [NUMS] = {16, 54, 7, 43, -5};
    int i, total = 0, *nPt;
 
    nPt = nums; // almacena la dirrección de nums[0] en nPt
    for (i = 0; i < NUMS; i++)
    total = total + *nPt++;
    cout << "El total de los elementos del arreglo es " << total << endl;
 
    return 0;
}

Soy nuevo en el lenguaje C++, mi pregunta es ¿cómo puedo hacer que la cantidad total de datos, del arreglo, sea establecida en tiempo de ejecución (al momento de ejecutarlo), al igual que los valores del arreglo?
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
sin imagen de perfil
Val: 1
Ha aumentado su posición en 3 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Arreglo Aritmética con Punteros

Publicado por antonio (85 intervenciones) el 24/02/2023 10:46:02
Esto se hace con cin>>numero y para el array necesitas un bucle ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
 
int main()
{
    int NUMS,numero = 0;
    cout << "Introduce el numero de elementos: "<<endl;
    cin>> NUMS;
    int nums [NUMS];
    for(int i=0;i<NUMS;i++){
        cout << "Introduce un numero: "<<endl;
        cin>>numero;
        nums[i]=numero;
    }
 
 
 
    cout << "El total de los elementos del arreglo es " << NUMS << 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
0
Comentar
sin imagen de perfil

Arreglo Aritmética con Punteros

Publicado por Daniel (2 intervenciones) el 24/02/2023 21:32:10
Gracias, solo que el programa debía sumar todos los elementos que se hayan ingresado en el array y luego mostrar el total en pantalla.
Ejemplo:
p0: 1
p1: 2
p2: 3
p3: 4
p4: 5

Total de elementos contenidos: 15

Tengo una duda más ¿cómo puedo aplicar Aritmética de punteros en este programa?
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
sin imagen de perfil
Val: 1
Ha aumentado su posición en 3 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Arreglo Aritmética con Punteros

Publicado por antonio (85 intervenciones) el 25/02/2023 10:48:37
Hola buenas una forma de usar los punteros seria haciendo con una función y aprovechas esa función para ir sumando:
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
#include <iostream>
using namespace std;
 
int funcionSuma(int* valor,int numero)
{
    *valor = *valor +numero; //Se le suma 10 a la posición en memoria
    return *valor;
}
int main()
{
    int NUMS,numero,suma = 0;
    cout << "Introduce el numero de elementos: "<<endl;
    cin>> NUMS;
    int nums [NUMS];
    for(int i=0;i<NUMS;i++){
        cout << "Introduce un numero: "<<endl;
        cin>>numero;
        nums[i]=numero;
        funcionSuma(&suma,numero);
    }
 
 
 
    cout << "El total de los elementos del arreglo es " << suma << 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
0
Comentar
sin imagen de perfil
Val: 1.440
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Arreglo Aritmética con Punteros

Publicado por dario (718 intervenciones) el 27/02/2023 04:57:00
Algo un poco mas moderno, sin uso de punteros.

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
#include <iostream>
#include <vector>
 
using namespace std;
 
int main() {
    int numero,i,NUMS;
    int suma=0;
    vector <int> nums;
 
    cout << "Introduce el numero de elementos: "<<endl;
    cin>> NUMS;
 
    for (i=0; i<NUMS; i++){
        cout << "Introduce un numero: "<<endl;
        cin>>numero;
        nums.push_back(numero);
    }
 
    for (auto e : nums)
        suma = suma + e;
 
    cout << "Suma total del arreglo es " << suma << 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
0
Comentar