Algoritmo 2
Seminário: Algoritmo 2. Pesquise 862.000+ trabalhos acadêmicosPor: dinizolf • 29/9/2013 • Seminário • 1.038 Palavras (5 Páginas) • 281 Visualizações
/*
Algoritmo 2 – Gerador de números inteiros aleatórios Gerador de distribuicao uniforme retorna um numero inteiro
na faixa low – high, ou seja, [low,high].
*/
#include <conio.h>
#include <stdio.h>
#include <conio.h>
#include<string.h>
# define tam 9
int min,i,v[tam];
void cadastra(){
int j;
for(j=0; j<tam; j++)
v[j]=rand();
}
void linear(int px, int pL[], int pn)
{
int i;
for(i=0; i<pn; i++)
if( px == pL[i] )
{ printf("encontrado");
return;
}
printf("nao existe");
}
void binaria (int px, int pv[]) {
int i=0, f=8,m;
while( i<=f )
{ m = (i+f)/2;
if( px == pv[m] ) {
printf("achou "); return;}
if( px < pv[m] )
f = m-1;
else i = m+1;
}
printf("nao achou");
}
int selmin(int pv[], int pi)
{
int j, min=pi;
for(j=pi+1; j<tam; j++)
if( pv[min]>pv[j] )
min=j;
return min;
}
void selecao(int pv[])
{ int i, min, x;
for(i=0; i<tam-1; i++)
{ min = selmin(pv,i);
x = pv[i];
pv[i] = pv[min];
pv[min] = x;
}}
void ordbolha (int pv[])
{ int i, j;
for(i=1; i<tam; i++)
for(j=0; j<tam-i; j++)
if( pv[j]>pv[j+1] )
{ int x = pv[j];
pv[j] = pv[j+1];
pv[j+1] = x;
} }
void imprime(int pv[])
{ int i;
for(i=0; i<tam; i++)
printf(" %d, ",pv[i]);
}
main ()
{
int inteiros_unif(seed, low, high)
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);
int inteiros_unif(seed, low, high)
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);
}
...