Cómo implementar la clasificación de números desconocidos (se conoce el tamaño relativo entre dos)
Debería haber C(8 2) = 28 tipos de relaciones de tamaño
Para dar una idea, primero almacene estas relaciones de tamaño en variables de matriz de caracteres o cadenas, antes de guardarlas. determine cuáles son los símbolos de desigualdad en la expresión relacional y unifíquelos. Si es un signo menor que, cámbielo a un signo mayor que y las letras en los extremos izquierdo y derecho también se intercambiarán en consecuencia.
Luego, la variable de matriz se agrega a una variable de cadena para calcular el número de apariciones de agt;, bgt;, cgt;,... hgt;. Si no hay números iguales, el número debe oscilar entre 0 y 7, y cuantas más veces, el valor Cuanto más grande es
Luego las letras se ordenan según el número de veces que aparece cada letra
Si no tienes un entorno C que tiene a mano, proporcione un fragmento de código VB:
Private Sub Form_Click()
Dim zm(1 a 8) como cadena, cs(1 a 8) como entero, gx( 1 a 28) Como cadena
Dim i como entero, n como entero, temp como cadena
Cls
Para i = 1 a 8
zm(i) = Chr(64 i) 'Letras de almacenamiento A-H
Siguiente
Rem La siguiente es la expresión relacional de 8 números desconocidos, que en realidad se genera aleatoriamente por el programa
gx(1) = "Bgt; A": gx( 2) = "Agt; C": gx(3) = "Dgt; A": gx(4) = "Agt; E"
gx(5) = "Agt; F": gx( 6) = "Ggt; A": gx(7) = "H": gx(8) = "Bgt; C"
gx(9) = "Dgt; B": gx( 10) = "Bgt; E": gx(11) = "F": gx(12) = "Ggt; B"
gx(13) = "Bgt; H": gx( 14) = "Dgt; C": gx(15) = "Cgt; F"
gx(17) = "Ggt; C": gx( 18) = "Cgt; H": gx(19) = "E": gx(20) = "Dgt; F"
gx(21) = "Dgt; G": gx( 22) = "Dgt; H": gx(23) = "F": gx(24) = "Ggt; E"
gx(25) = "Egt; H": gx( 26) = "Ggt;F": gx(27) = "Fgt;H": gx(28) = "Ggt; H"
temp = ""
Imprimir " Relación: "
Para i = 1 a 28
Imprimir gx(i)
temp = temp amp; " " amp; gx(i)
Siguiente
Rem obtiene Agt;,...,Hgt; cs(i)
intLen = Len(temp)
Para i = 1 a 8
cs(i) = intLen - Len(Reemplazar(temp, Chr(64 i) & "gt;", "")) / 2
Siguiente
Rem Según Agt
;El número de apariciones cs(i) ordena A,...,H Cuanto mayor es A, más veces aparece Agt;
Para i = 1 a 7
Para. j = i 1 a 8
Si cs(i) lt; cs(j) Entonces 'lt es de grande a pequeño, gt es de pequeño a grande
t = cs(i): cs(i) = cs(j): cs(j) = t
s = zm(i): zm(i) = zm(j): zm(j) = s
Finalizar si
Siguiente
Siguiente
Imprimir "Después de ordenar:"
Para i = 1 A 8
Imprimir zm(i);
Siguiente
Fin Sub