¿Cómo ordenar una matriz de enteros proporcionados como una cadena como entrada desde la línea de comandos, usando lenguaje C?

Lo importante a tener en cuenta aquí es que el Algoritmo de clasificación, cómo transportar Entrada o Salida en C no es un problema, sino que la conversión de una Cadena a Numérica es y puede crear confusión.

Proporcionará detalles básicos para resolver este problema en lugar del código 🙂

Vea la tabla ASCII y observe que los separadores aparecen casi uno al lado del otro (excepto: o 😉 y los números decimales (si esa es la opción) 0-9 aparecen juntos y son lo principal para identificar sus números de la cadena.

  • Separadores :
    • Asegúrese de anotar todos los separadores permitidos en la cadena de entrada (espacio, coma, punto y coma … etc.) y permita que algunos de ellos sean una opción válida (pase el mensaje cuando el programa ejecuta “Los separadores válidos en la entrada son …” como una necesidad). Cualquier cosa que no sean separadores se mueven a una lista de cadenas, digamos List_InputString, que se probará como números válidos más adelante. Para esto, simplemente siga leyendo y uniendo cada carácter hasta que aparezca un separador (u otro proceso de elección mejor) y mueva esa cadena como un elemento de List_InputString .
  • Numerales :
    • Haga una nota clara de que las entradas están en un sistema numérico (pase el mensaje si se elige Decimal cuando el programa ejecuta “Las entradas numéricas válidas están solo en decimal ” como una necesidad y ahora sabe que no viene en Hex). Haga una prueba para la entrada numérica válida con cada elemento en List_InputString marcando cada elemento char en el rango ASCII para su elección numérica ( Decimal 0-9 tiene un código ASCII entre 48-57, por lo tanto, cada carácter debe ser ese cuando sea válido). De esta forma, ahora ha identificado caracteres numéricos válidos en List_InputString y lo ha reemplazado con números decimales y luego los ha colocado como entradas en List_InputNum . Es importante que conozca la conversión de char “5” a int 5 (tipografía) y la cadena 152 a int 152 (2 + 5 * 10 + 1 * 100) o con el uso de otro mejor proceso de elección.
  • Ordenar:
    • Utilice cualquier algoritmo de ordenación para ordenar List_InputNum

Programa C para ordenar la matriz en orden ascendente – Sanfoundry

More Interesting

¿Cuál es la estrategia de divide y vencerás? Escribe un algoritmo para encontrar x a la enésima potencia usando el método de dividir y conquistar.

¿Qué es una cola en la estructura de datos?

¿Cuál es el curso / certificación mejor pagado disponible para estructuras de datos y algoritmo?

¿Cuál es la diferencia entre el recorrido del gráfico dirigido y el no dirigido (específicamente en C)?

¿Cuál es la diferencia entre el tipo de burbuja y el de inserción? Además del hecho de que el ordenamiento de burbujas tiene una parte ordenada y una no ordenada de una matriz.

¿Cómo podemos dividir un conjunto dado de números (posiblemente negativos) en dos partes que tienen el mismo promedio?

¿Cuál es la complejidad del tiempo para una solución iterativa de la serie Fibonacci?

Cómo encontrar la mediana de m matrices ordenadas

¿Cuáles son las aplicaciones más prácticas (vida cotidiana) del algoritmo de agrupación de k-means? ¿Cómo se ha utilizado exactamente k-means en estas aplicaciones?

¿Puede un algoritmo descubrirse a sí mismo?

Cómo mantener una matriz, admitir inserción y asignación aleatorias, y consultar el kth elemento más grande en un intervalo dado

Cómo resolver el problema 144C en Codeforces

Cómo resolver la ordenación rápida utilizando un método no recursivo

¿Hay algún número cuyo producto y suma sea 121?

Cómo determinar si un conjunto dado se puede dividir en dos subconjuntos o más de modo que la suma de los elementos en esos subconjuntos sea la misma