Números primos

Boa tarde.

Alguém podia explicar como se faz em programação c++ que os números entre 1 a 100 sejam primos e depois soma os números primos.

Fazer com que um número seja primo ou verificar se um número é primo?

Verificar que números sejam primos

#include <stdio.h>

int isPrime(int n);

int main() { 
    int soma = 0;
    int numero;
    printf("Primos:\n");
    for (numero = 1; numero <= 100; numero++) {
        if (isPrime(numero)) {
            soma += numero;
            printf("    %d\n",  numero);
        }
    }
    printf("Soma: %d\n",  soma);
    return 0;
}

int isPrime(int n) {
    if (n < 2) {
        return 0;
    }
    if (n < 4) {
        return 1;
    }
    if (n % 2 == 0 || n % 3 == 0) {
        return 0;
    }
    int i;
    for (i = 5; i * i <= n; i += 6) {
        if (n % i == 0) {
            return 0;
        }
        if (n % (i + 2) == 0) {
            return 0;
        }
    }
    return 1;
}

senhor voce podia meter ao lado do codigo o que significa ou como funciona por favor.

#include <stdio.h>

int isPrime(int n);

int main() { 
    int soma = 0; // variável soma
    int numero;   // variável numero
    printf("Primos:\n");
    for (numero = 1; numero <= 100; numero++) { laço que vai do numero 1 ao numero 100
        if (isPrime(numero)) { // verifica se o numero é primo
            soma += numero; // soma o numero
            printf("    %d\n",  numero); // imprime o numero
        }
    }
    printf("Soma: %d\n",  soma); // imprime a soma
    return 0; // encerra o programa com sucesso
}

int isPrime(int n) { // função pra verificar se o numero informado é primo, se for primo, retorna 1, senão, retorna 0
    if (n < 2) { // verifica se o numero é menor que 2
        return 0; // se for, não é primo, retorna 0
    }
    if (n < 4) { // verifica se o numero é menor que 4, só pode ser o 3
        return 1; // é primo, retorna 1
    }
    if (n % 2 == 0 || n % 3 == 0) { // verifica se o numero é divisível por 2 ou por 3
        return 0; // não é primo, retorna 0
    }
    int i;
    for (i = 5; i * i <= n; i += 6) { // laço que vai de 5 até a raíz quadrada do numero informado
        if (n % i == 0) { // verifica se o numero é divisível pelo contador
            return 0; // não é primo, retorna 0
        }
        if (n % (i + 2) == 0) {
            return 0;
        }
    }
    return 1;
}

Boa tarde o senhor podia fazer em c++ e não dá para fazer numa maneira mais simples.

Cumprimentos

Senhor dá para fazer esta maneira

if(numeros % 2 == 0){
cout<<“Os numeros pares são:”<<numeros<<endl;
}

if(numeros % 2 == 1){
cout<<“Os numeros impares são:”<<numeros<<endl;
}

O problema que eu não sei fazer a soma entre pare ou impar

Mas você quer saber se um número é par ou ímpar?
Para verificar se um número é ímpar, o teste correto seria "if (numeros % 2 != 0)".

O enunciado do seu tópico diz que você quer saber se um número é primo.

#include <iostream>
    
using namespace std;

bool isPrime(int n);

int main(int argc, char** argv) {
    int soma = 0;
    int numero;
    cout << "Primos:\n";
    for (numero = 1; numero <= 100; numero++) {
        if (isPrime(numero)) {
            soma += numero;
            cout << "    " << numero << "\n";
        }
    }
    cout << "Soma: " <<  soma << "\n";
    return 0;
}

bool isPrime(int n) {
    if (n < 2) {
        return false;
    }
    if (n < 4) {
        return true;
    }
    if (n % 2 == 0 || n % 3 == 0) {
        return false;
    }
    int i;
    for (i = 5; i * i <= n; i += 6) {
        if (n % i == 0) {
            return false;
        }
        if (n % (i + 2) == 0) {
            return false;
        }
    }
    return true;
}

Essa é uma das formas mais simples e rápidas de calcular números primos.
Se quiser, pode estudar o Crivo de Erastótenes, e implementar de outra forma.