Red de conocimiento informático - Material del sitio web - Cómo implementar la clasificación de números desconocidos (se conoce el tamaño relativo entre dos)

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