Uso de FLAG en la programación

La variable indicadora se utiliza como una señal en la programación para que el programa sepa que se ha cumplido una determinada condición. Por lo general, actúa como una variable booleana que indica que una condición es verdadera o falsa.

Ejemplo 1: Comprobar si una array tiene algún número par.

Entrada: arr[] = {1, 3, 7, 5}
Salida: No
Todos los números son impares.

Entrada: arr[] = {1, 2, 7, 5}
Salida: Sí
Hay un número par en la array.

Inicializamos una variable de bandera como falsa, luego recorremos la array. Tan pronto como encontramos un elemento par, establecemos la bandera como verdadera y rompemos el ciclo. Finalmente volvemos bandera.

// C++ program to check if given array is has
// any even number
#include <iostream>
using namespace std;
  
bool checkIfAnyEven(int arr[], int n)
{
    bool flag = false;
    for (int i=0; i<n; i++)
    {
        if (arr[i] % 2 == 0)
        {
            flag = true;
             break;
        }
    }
    return flag;
}
  
int main()
{
   int arr[] = {1, 3, 2, 5, 6, 7}; 
   int n = sizeof(arr)/sizeof(arr[0]);
   if (checkIfAnyEven(arr, n))
     cout << "Yes";
   else
     cout << "No";
}
Producción:

Yes

Ejemplo 2: Comprobar si el número dado es primo o no.

Entrada: n = 5
Salida: Sí

Entrada: n = 18
Salida: No

Inicializamos una variable de bandera como verdadera. Luego recorremos todos los números del 2 al n-1. Tan pronto como encontremos un número que divide a n, establecemos la bandera como falsa. Finalmente volvemos bandera.

// C++ implementation to show the use of flag variable
#include <iostream>
using namespace std;
  
// Function to return true if n is prime
bool isPrime(int n)
{
    bool flag = true;
  
    // Corner case
    if (n <= 1)
        return false;
  
    // Check from 2 to n-1
    for (int i = 2; i < n; i++) {
  
        // Set flag to false and break out of the loop
        // if the condition is not satisfied
        if (n % i == 0) {
            flag = false;
            break;
        }
    }
  
    // flag variable here can tell whether the previous loop
    // broke without completion or it completed the execution
    // satisfying all the conditions
    return flag;
}
  
// Driver code
int main()
{
    if(isPrime(13))
        cout << "PRIME";
    else
        cout << "NOT A PRIME";
    return 0;
}
Producción:

PRIME

Publicación traducida automáticamente

Artículo escrito por Devyansh_Ojha y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *