Pessoas estou fazendo um projeto pra faculdade onde tenho que calcular o tempo gasto por diversas funções de busca dentro de um vetor para achar um valor x…
O projeto passou duas funções de geração de números aleatórios para agente usar…
mais elas dão erro hora q eu compilo…
o Código é esse:
/*
* File: main.c
* Author: brunolopessalustiano
*
* Created on 18 de Novembro de 2011, 20:09
*/
#include <stdio.h>
#include <stdlib.h>
/*
*
*/
int main(int argc, char** argv) {
double hinicio, hfim, tempoGasto;
double vet[100];
int i, num;
for(i=0;i<100;i++){
vet[i]= unif(1234554321, 0, 100000);
}
hinicio = clock();
buscaLinear(vet,87,100);
hfim = clock();
tempoGasto = hfim - hinicio;
printf("Tempo gasto na Busca Linear doubles: &.2d/n", tempoGasto);
return (EXIT_SUCCESS);
}
/**********************************************************
Algoritmo 1 Gerador de numeros reais aleatorios
**********************************************************/
double unif(long int *seed, double low, double high)
{
double unif_ret;
long int m,a,b,c, k;
double value_0_1;
m=2147483647;
a=16807;
b=127773;
c=2836;
k = *seed/b;
*seed = a * (*seed % b) - k*c;
if (*seed<0)
*seed = *seed + m;
value_0_1 = (double) *seed/m;
unif_ret = low+value_0_1*(high - low);
return (unif_ret);
}
//*********************************************************
/**********************************************************
Algoritmo 2 Gerador de numeros inteiros aleatorios
**********************************************************/
int inteiros_unif(long int *seed, int low, int high)
{
int unif_ret;
long int m,a,b,c, k;
double value_0_1;
m = 2147483647;
a = 16807;
b = 127773;
c = 2836;
k = *seed/b;
*seed = a * (*seed % b) - k * c;
if (*seed<0)
*seed = *seed + m;
value_0_1 = (double) *seed/m;
unif_ret = low+value_0_1*(high-low+1);
return (unif_ret);
}
//*********************************************************
/**********************************************************
Busca Linear
**********************************************************/
void buscaLinear(double vet[], int procurado, double tam){
int i;
for(i=0;i<tam;i++){
if(vet[i]==procurado)
i = tam;
}
}
//*********************************************************
Quando executo dá os seguintes erros:
[quote]"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
"/usr/bin/make" -f nbproject/Makefile-Debug.mk dist/Debug/GNU-MacOSX/atps
mkdir -p build/Debug/GNU-MacOSX
rm -f build/Debug/GNU-MacOSX/main.o.d
gcc -c -g -MMD -MP -MF build/Debug/GNU-MacOSX/main.o.d -o build/Debug/GNU-MacOSX/main.o main.c
main.c:38: error: conflicting types for 'unif’
main.c:21: error: previous implicit declaration of ‘unif’ was here
main.c:81: warning: conflicting types for 'buscaLinear’
main.c:24: warning: previous implicit declaration of ‘buscaLinear’ was here
make[2]: *** [build/Debug/GNU-MacOSX/main.o] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2
CONSTRUIR FALHOU (valor da saída 2, tempo total: 134ms)[/quote]
Ae não estou conseguindo corrigir…sou meio noob ainda em programação…=P
Se algum puder me ajudar eu ficarei muito grato!!!
Obrigado desde já…flw!!!