Hola, se trata de un programita que muestra los 100 primeros números primos. Primero lo hice sin usar ningún array y ahora almacenando los resultados en uno y luego mostrándolos. Pero el caso es que no se muestran, sólo muestra la línea "los 100 primeros números primos son". El código es el siguiente:
Código C++:
Ver original#include<iostream>
#include<stdio.h>
#include <stdlib.h>
#include <math.h>
using namespace std;
bool primo (int numero) //funcion que comprueba si un número es primo
{
bool p=true;
for (int i=2; i<numero && p!=0; i++)
if (numero%i==0)
p=false;
return p;
}
void escribe (int primos[]) //funcion que escribe un vector
{ //en filas de 10 elementos
for (int i=0; i<100; i++)
{
cout<<primos[i]<<" ";
if (!(i%10)) cout <<endl;
}
}
int main()
{
int cont=0, i, primos [100];
cout << "Los 100 primeros numeros primos son: "<<endl;
for (i=1; cont<100; i++) //se almacenan los numeros primos en
if (primo (i)) //el vector primos
{
cin>>primos[cont];
cont++;
}
escribe (primos);
return EXIT_SUCCESS;
}
A ver si alguien sabe decirme dónde está el error por que no lo veo.
Pd: ya de paso alguien sabe por qué cuando escribo una cadena de caracteres entre comillas no aparecen las tildes? sale un símbolo raro, tampoco salen los superindices como ² aparece elevado a 1/2...
Gracias.