2
« en: Lunes 2 de Marzo de 2009, 19:22 »
Muy buenas y saludos cordiales.
Ando un poco liado con dos programas y me gustaría saber en que me estoy equivocando. Os agradecería vuestra ayuda.
PRIMERO: Genera 100 numeros aleatorios entre 0 y 10 y almacenalos en un vector.
Determina a continuacion cual es el numero que aparece mas veces.
Como puedo hacer para que haga la busqueda dentro del vector, cuando lo hago no me hace la busqueda en los cien numeros como mucho me la hace en 60. Lo segundo es que el numero mayor da siempre lo mismo.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int num_encontrado(int vector[100]);
int mayor(int vector[100]);
int main()
{
int vector[100];
int i,n,pos=0,numero;
int suma,mayor;
//Ponemos una semilla
srand(time(NULL));
//generamos los numeros aleatorios entre 0 y 10
n=1+rand()%11;
for (i=0;i<100;i++){
vector=rand()%11;
printf("%d-> Numero aleatorio: %d:n",++pos,vector);
}
for (i=0; i<11; i++){
vector=rand()*100 / RAND_MAX;
suma=suma+vector;
printf("nLa frecuencia del numero %d es %d ",i,vector);
}
mayor=vector;
printf("nnEl numero que mas se ha repetido es %d",i,vector);
}
int num_encontrado(int vector[100]) /*no genera los 100 numeros*/
{ //abre funcion
int i,n,suma=0;
for (i=0; i<100; i++){
suma=suma+vector;
return (suma);
//cierra la funcion
}
}
int mayor(int vector[100]) /*no muestra el numero mayor siempre da 11*/
{
int mayor=0,i,n,suma;
for(i=0;i<100;i++){
if (vector>mayor)
suma+=mayor;
}
}
SEGUNDO:
almacene en un vector los 50 primeros numeros de
Fibonacci. Una vez calculados, el programa pedira al usuario que introduzca
un numero y dira si es o no es uno de los 50 primeros numeros de Fibonacci.*/
Se me queda colgado al 42, supongo que es porque he declarado la secuencia como un int y no es suficiente. Lo segundo es como hago para que busque dentro de la secuencia si el numero entero introducido está dentro de los 50 primeros numeros.
Gracias
#include <stdio.h>
int fibonacci(int n); /*funcion que calcula la sucesion de fibonacci*/
main( )
{
int i,n;
int Pos=0;
/*Escribimos el numero entero*/
do{
printf("Escribe un numero entero: ");
scanf("%d",&n);
}while ((n<0));
printf("***********************************************************n");
printf("* LA SUCESION DE FIBONACCI *n");
printf("***********************************************************n");
/*comienza el bucle que calcula la sucesion de fibonacci*/
for (i=1;i<=n;i++){
if (i !=0)
printf("Posicion:%d Numero: %d",++Pos,fibonacci(i));
printf("n");
}
}
int fibonacci(int n)
{
if (n<=1)return n;
return fibonacci(n-2)+fibonacci(n-1);
}