Preciso fazer um trabalho que consiste no seguinte, devo criar um programa pra calcular numeros primos utilizando dois metodos diferentes, calcular o tempo de execução de cada um e imprimir os resultados em um arquivo de texto, o arquivo ta sendo criado, porém dentro do arquivo não tem nada. E so ta fazendo os calculos do metodo 1,
Meu codigo:
#include<stdlib.h>
#include <stdio.h>
#include <math.h>
#include <time.h>
main() {
clock_t tempo_inicial, tempo_final;
double t1, t2;
long i, X;
int y, j, ehPrimo, r, w;
int div;
int g;
FILE *arq;
arq = fopen("arquivo.txt", "w");
if(arq != NULL){
X = 10000;
//metodo 1...
tempo_inicial = clock();
//codigo metodo 1
printf("\n");
y = 2;
while(y < X)
{
ehPrimo = 1;
j = 2;
r = (int)sqrt(y);
while (j <= r)
{
if (y % j == 0)
{
ehPrimo = 0;
break;
}
j++;
}
if (ehPrimo == 1)
{
printf("%d ", y);
}
y++;
}
printf("\n");
return 0;
tempo_final = clock();
t1 = (tempo_final - tempo_inicial)/(double)CLOCKS_PER_SEC;
//METODO 2...
tempo_inicial = clock();
//codigo metodo 2...
printf("\n");
w = 1;
while (w < X)
{
div = 0;
g = 1;
while (g <= w)
{
if (w % g == 0)
{
div = div + 1;
}
g = g + 1;
}
if (div == 2 && w > 1)
{
printf("%d ", w);
}
w = w + 1;
}
printf("\n");
return 0;
tempo_final = clock();
t2 = (tempo_final - tempo_inicial)/(double)CLOCKS_PER_SEC;
fprintf(arq, "%d %f %f\n", X, t1, t2);
}else{
printf("erro...");
}
}
(Ja consegui, mas nao sei como deletar um topico kk)