[ Foro de C++ ]

bool

09-Mar-2023 03:29
Invitado (Hunter)
1 Respuestas

Hola q tal soy algo nuevo en esto de la programacion y se me presento una duda con un ejercicio:
Miren me dan 10 numeros:
9
-5
-6
6
-8
8
8
2
3
-3
Aqui tengo q contar los cambios de signos que hay que serian 4 y ahi es donde se me presenta el problema xq quiero utilizar las variables booleanas para hacerlo pero no se bien como hacerlo


14-Mar-2023 21:47
Invitado (Alejandro Andrade)

¡Hola! En C++ se pueden utilizar variables booleanas para resolver este problema. Una posible solución es la siguiente:

#include <iostream>
using namespace std;

int main() {
   int numeros[10] = {9, -5, -6, 6, -8, 8, 8, 2, 3, -3};
   int cambios_de_signo = 0;
   bool es_positivo = numeros[0] > 0;

   for (int i = 1; i < 10; i++) {
       bool es_positivo_actual = numeros[i] > 0;
       if (es_positivo_actual != es_positivo) {
           cambios_de_signo++;
           es_positivo = es_positivo_actual;
       }
   }

   cout << "Hay " << cambios_de_signo << " cambios de signo en los 10 numeros." << endl;

   return 0;
}

Explicación del código:

1. Se declara un arreglo 'numeros' con los 10 números proporcionados en el enunciado del problema.
2. Se declara una variable 'cambios_de_signo' que se inicializa en 0 y que se usará para contar los cambios de signo en el arreglo.
3. Se declara una variable booleana 'es_positivo' que se inicializa con el signo del primer número del arreglo. Si el primer número es positivo, 'es_positivo' se inicializa en true, de lo contrario, se inicializa en false.
4. Se utiliza un bucle 'for' para recorrer el resto del arreglo a partir del segundo número.
5. Para cada número 'numeros[i]', se calcula si es positivo o negativo y se almacena en la variable booleana 'es_positivo_actual'.
6. Se compara 'es_positivo_actual' con 'es_positivo' (que contiene el signo del número anterior en el arreglo) y si son diferentes, se incrementa 'cambios_de_signo' y se actualiza el valor de 'es_positivo' con 'es_positivo_actual'.
7. Al final del bucle, 'cambios_de_signo' contiene el número de cambios de signo en el arreglo.
8. Se imprime el resultado por pantalla.

Espero que esto te ayude a entender cómo utilizar variables booleanas para contar los cambios de signo en un arreglo de números. ¡Saludos!






Si ya eres usuario del sistema, puedes contestar desde tu cuenta y así ganar prestigio.

Si sólo eres un visitante, puedes optar por...