Dev - C++ - definir una estructura para almacenar un número complejo

 
Vista:
sin imagen de perfil
Val: 34
Ha disminuido su posición en 3 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

definir una estructura para almacenar un número complejo

Publicado por Gemin21 (20 intervenciones) el 12/10/2019 19:22:26
Hola,
Quería realizar un programa en C++ que defina una estructura para almacenar un número complejo (parte real y parte imaginaria). El programa deberá llenar un arreglo de máximo 10 elementos de este tipo de estructura. El llenado se realizará a través de la generación de números aleatorios tanto para la parte real como para la parte imaginaria.

Adicionalmente se contará con tres funciones, una que imprima el contenido del arreglo de manera recursiva, otra que obtenga la sumatoria de las partes reales de los elementos del arreglo y una que obtenga la sumatoria de las partes imaginarias de los elementos del arreglo, las sumatorias se deberán obtener también de forma recursiva.
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++

definir una estructura para almacenar un número complejo

Publicado por Alfil (1444 intervenciones) el 12/10/2019 21:19:30
El rango de números aleatorios lo he puesto de forma arbitraria del 0 al 9, no debería resultarte difícil modificarlo al rango de números que prefieras.

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
#include <iostream>
 
using namespace std;
 
struct Complejo{
    int real;
    int imaginario;
};
 
int aleatorio();
void imprimirComplejos( Complejo c[], int j );
int sumaReales( Complejo r[], int j );
int sumaImaginarios( Complejo i[], int j );
 
const int N = 10;
 
int main()
{
    Complejo c[N];
 
    for( int i = 0; i < N; i++ ){
        c[i].real = aleatorio();
        c[i].imaginario = aleatorio();
    }
 
    cout << "\nNumeros complejos: ";
    imprimirComplejos( c, 0 );
 
    cout << "\n\nSuma numeros Reales: " << sumaReales( c, 0 );
 
    cout << "\nSuma numeros Imaginarios: " << sumaImaginarios( c, 0 ) << "i";
 
    cout << endl;
 
    return 0;
}
 
int aleatorio()
{
    return rand() % 9;
}
 
void imprimirComplejos( Complejo c[], int j )
{
    if( j < N ){
        cout << "\n(" << c[j].real << ", " << c[j].imaginario << "i)";
        j++;
        imprimirComplejos( c, j );
    }
}
 
int sumaReales( Complejo r[], int j )
{
    static int suma = 0;
 
    if( j < N ){
        suma += r[j].real;
        j++;
        sumaReales( r, j );
    }
 
    return suma;
}
 
int sumaImaginarios( Complejo i[], int j )
{
    static int suma = 0;
 
    if( j < N ){
        suma += i[j].imaginario;
        j++;
        sumaImaginarios( i, j );
    }
 
    return suma;
}
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
Imágen de perfil de Rodrigo
Val: 1.755
Plata
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

definir una estructura para almacenar un número complejo

Publicado por Rodrigo (539 intervenciones) el 13/10/2019 08:30:26
Una alternativa en vez de usar la variable static es sumar un elemento y lo que devuelva la invocacion recursiva sin contar con ese elemento.
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