Dada una string de entrada N que consta de números y separadores (,) en el Sistema Numérico Indio, la tarea es imprimir la string después de colocar los separadores (,) según el Sistema Numérico Internacional.
Ejemplos:
Entrada: N = “12, 34, 56, 789”
Salida: 123, 456, 789Entrada: N = “90, 05, 00, 00, 000”
Salida: 90, 050, 000, 000
Acercarse:
- Quite todos los separadores (, ) de la string.
- Iterar desde el final de la string y colocar un separador (,) después de cada tercer número.
- Imprime el resultado.
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ Program to convert // the number from Indian system // to International system #include <bits/stdc++.h> using namespace std; // Function to convert Indian Numeric // System to International Numeric System string convert(string input) { // Length of the input string int len = input.length(); // Removing all the separators(, ) // From the input string for (int i = 0; i < len; i++) { if (input[i] == ',') { input.erase(input.begin() + i); len--; i--; } } // Initialize output string string output = ""; int ctr = 0; // Process the input string for (int i = len - 1; i >= 0; i--) { ctr++; output = input[i] + output; // Add a separator(, ) after // every third digit if (ctr % 3 == 0 && ctr < len) { output = ',' + output; } } // Return the output string back // to the main function return output; } // Driver Code int main() { string input1 = "12,34,56,789"; string input2 = "90,05,00,00,000"; cout << convert(input1) << endl; cout << convert(input2) << endl; }
Producción:
123,456,789 90,050,000,000
Artículo relacionado: Convierta el número del sistema internacional al sistema indio