elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 21:40  


Tema destacado: Entra al canal IRC oficial de #elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General (Moderador: Littlehorse)
| | |-+  crear en pseint un programa que de el numero que mas se repite
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: crear en pseint un programa que de el numero que mas se repite  (Leído 2,923 veces)
LOUNELSON

Desconectado Desconectado

Mensajes: 1


Ver Perfil
crear en pseint un programa que de el numero que mas se repite
« en: 7 Abril 2011, 04:17 »

HOLA HE ESTADO INTENTANDO HACER UN PROGRAMA QUE ME DE EL NUMERO MAS  REPETIDO EN UNA DETERMINADA LISTA DE NUMEROS .. PERO NO HE LOGRADO CONSEGUIR UNA RESPUESTA POSITIVA LO QUE HE HECHO HASTA EL MOMENTO ES:
ESTOY EMPEZANDO CON ESTE TEMA DE LOS ARREGLOS ASI QUE SI ME AYUDAN SE LOS AGRADESERE MUCHO.  :D


Código:
//definir arreglos;
dimension Lista1[5];
dimension moda[5];
dimension moda2[5];
//numerico:i;
// Inicialización;
     i<-0;
j<-0;

Para j<-1 hasta 5 Hacer
         moda[j]<-0;
moda2[j]<-0;

FinPara
Para i<-1 hasta 5 Hacer
Lista1[i]<-0;
FinPara

//lectura de datos;
Para i<-1 hasta 5 Hacer
escribir " introduzca los numeros de la primera lista ";
leer Lista1[i];
FinPara
//proceso;
//numero que se repite en cada lista;
mayor<-moda2[j];
     moda[1]<-Lista1[1] ;
     para i<-1 hasta 5 Hacer
   para j<-1 hasta 5 Hacer
    si  moda[j]=Lista1[i]
Entonces
    moda2[j]<-moda2[j]+1;
FinSi
si mayor< moda[j]
Entonces
 mayor<- moda[j]
finsi

 finpara
    finpara
    
 escribir " se repite " , mayor;
FinProceso


« Última modificación: 9 Abril 2011, 23:20 por Novlucker » En línea
crazykenny


Desconectado Desconectado

Mensajes: 777



Ver Perfil
Re: crear en pseint un programa que de el numero que mas se repite
« Respuesta #1 en: 15 Abril 2011, 09:06 »

Yo, personalmente, lo haria con una matriz de un nivel para almacenar todos los numeros, y luego haria un bucle FOR/NEXT de dos niveles, donde el segundo nivel tenga dos valores y el primero tendria, basicamente, un valor igual a la cantidad de numeros que haya en la matriz; me explico; inicialmente, creas una matriz con los numeros en cuestion, y luego, un bucle FOR/NEXT, con una variable asignada a 0 (ejemplo X#=0) que haria referencia al tamaño de la matriz; entonces, dentro del bucle, cada vez que aparezca un numero en el bucle, pues comprobaria con otro bucle FOR/NEXT dentro de este si el numero esta dentro de la matriz de dos niveles; si esta en el primer valor del segundo nivel (0 por defecto, que seria algo asi como matrix#(var#,0), donde var# no puede superar a X#, ya que es el limite logico de la matriz), pues aumentamos el segundo valor (matrix#(var#,1)) en uno; y, si no esta, pues volcaria el contendido de la matriz en otra, para luego crear la matriz "base" con los numeros y cantidad de veces que se repite con un numero superior a uno, para, asi, volver a pasar los numeros volcados a la matriz principal; no se si me explico, quedaria algo asi en lo que respeta a volcar numeros;
Citar
if X#>1
   X#=X#-1
   dim matriz_b#(X#,1)
   for tr#=0 to X#
      for t=0 to 1
         opciones#=matriz#(tr#,t)
         matriz_b#(tr#,t)=opciones#
      next
   next
   X#=X#+1
   dim matriz_b#(X#,1)
   X#=X#-1
   for tr#=0 to X#
      for t=0 to 1
         opciones#=matriz_b#(tr#,t)
         matriz#(tr#,t)=opciones#
      next
   next
   X#=X#+1
   matriz#(X#,0)=numero#
   matriz#(X#,0)=1
Por cierto, si X# es igual a 0, tan solo habrias de crear la matriz principal, para luego asignarle el numero en cuestion en el valor 0 del primer nivel la matriz y 1 en el segundo nivel de la matriz.
Por utlimo, para saber cual es el numero que mas se repite, yo haria otro bucle FOR/NEXT, con dos variables; una, para indicar el numero que mas se repite, y otra para indicar cuantas veces, y basicamente, seria comprobar con el bucle cuantas veces se repite cada numero y comprobando si es superior a la variable en cuestion, y si lo es, pues asignas cuantas veces se repite el numero a la variable (mas que nada para luego seguir con el bucle y la comprobacion para ver si hay otro numero que se repita mas y hacer lo siguiente) y luego asignar la primera variable al numero en cuestion, y, si se repiten varios numeros un numero igual de veces, pues haces lo de antes de ir ampliando la matriz, y si por lo que sea, aparece otro numero que se repite mas veces que los de la matriz, pues nada, dejas la variable que limita la matriz a 1, y luego guardas ese numero en la matriz.
Espero haberte servido de ayuda, pese al "lio" que te he metido aqui.
Saludos.


En línea

Mentalmente soy ciego, no sordo.
miblog: http://informaticayotrostemas.blogspot.com
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
crear un algoritmo a partir de un numero
Seguridad
aladme 0 634 Último mensaje 23 Junio 2004, 18:51
por aladme
crear numero ALEATORIO en C
Programación C/C++
rioardila 4 3,421 Último mensaje 2 Noviembre 2007, 19:09
por Eternal Idol
Problema con programa en PseInt
Programación General
...DaNiEl... 1 3,577 Último mensaje 26 Septiembre 2009, 20:07
por ...DaNiEl...
Como crear un numero palindromico en C#
.NET
Danilsa 4 3,462 Último mensaje 28 Septiembre 2009, 17:03
por Novlucker
crear numero aleatorios
Programación Visual Basic
bikelly 1 773 Último mensaje 3 Marzo 2010, 23:13
por BlackZeroX (Astaroth)
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines