Verificar la primalidad de una matriz

C++C++Beginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderemos cómo encontrar la cantidad de números primos en una matriz en C++. Escribiremos un programa para comprobar si un número es primo o no y recorrer cada elemento de una matriz, comprobando si es primo. Si un elemento es primo, incrementaremos un contador.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/BasicsGroup(["Basics"]) cpp(("C++")) -.-> cpp/ControlFlowGroup(["Control Flow"]) cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp(("C++")) -.-> cpp/SyntaxandStyleGroup(["Syntax and Style"]) cpp/BasicsGroup -.-> cpp/arrays("Arrays") cpp/ControlFlowGroup -.-> cpp/conditions("Conditions") cpp/ControlFlowGroup -.-> cpp/for_loop("For Loop") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/IOandFileHandlingGroup -.-> cpp/user_input("User Input") cpp/IOandFileHandlingGroup -.-> cpp/files("Files") cpp/SyntaxandStyleGroup -.-> cpp/code_formatting("Code Formatting") subgraph Lab Skills cpp/arrays -.-> lab-96179{{"Verificar la primalidad de una matriz"}} cpp/conditions -.-> lab-96179{{"Verificar la primalidad de una matriz"}} cpp/for_loop -.-> lab-96179{{"Verificar la primalidad de una matriz"}} cpp/output -.-> lab-96179{{"Verificar la primalidad de una matriz"}} cpp/user_input -.-> lab-96179{{"Verificar la primalidad de una matriz"}} cpp/files -.-> lab-96179{{"Verificar la primalidad de una matriz"}} cpp/code_formatting -.-> lab-96179{{"Verificar la primalidad de una matriz"}} end

Configuración del archivo

Crea un archivo llamado main.cpp en el directorio ~/project utilizando el siguiente comando:

touch ~/project/main.cpp

Abre el archivo utilizando un editor de texto en línea de comandos y escribe el siguiente código:

#include <iostream>
using namespace std;

int main() {
    return 0;
}

Definiendo la función checkPrime

Definimos una función llamada checkPrime que toma un entero como entrada y devuelve 0 o 1 dependiendo de si es primo o no. Utilizaremos esta función para comprobar si cada elemento de la matriz es primo. Agrega el siguiente código al archivo main.cpp:

// Function to check if number is prime
int checkPrime(int num){
    if (num <= 1){
        return 0;
    }
    // Check from 2 to half of num
    for (int j = 2; j <= num/2; j++){
        if (num % j == 0){
            return 0;
        }
    }
    return 1;
}

Contando la cantidad de números primos en la matriz

Creamos una matriz de enteros y contamos la cantidad de números primos utilizando la función checkPrime para cada elemento de la matriz. Si un elemento es primo, incrementamos un contador. Agrega el siguiente código al archivo main.cpp:

int main(){
    int arr[] = { 1, 3, 5, 4, 8, 13, 11 };
    int n = 7;
    int count = 0;
    int isprime = 0;
    // Recorre cada elemento de la matriz y comprueba si es primo
    for(int i = 0; i < n; i++){
        isprime = checkPrime(arr[i]);
        if(isprime == 1){
            count++;
        }
    }
    cout << "Count of number of primes in array: " << count << endl;
    return 0;
}

Compilando y ejecutando el programa

Compila el programa utilizando el siguiente comando:

g++ main.cpp -o main

Ejecuta el programa utilizando el siguiente comando:

./main

Visualizando la salida

La salida debería ser la siguiente:

Count of number of primes in array: 4

Resumen

En este laboratorio, aprendimos cómo contar la cantidad de números primos en una matriz en C++. Escribimos una función para comprobar si un número es primo y recorrimos cada elemento de la matriz, incrementando un contador para cada elemento primo.