Dada una string S que consta de enteros separados por espacios, la tarea es escribir un programa en C para tomar los enteros como entrada de la string S y almacenarlos en una array arr[] .
Ejemplos:
Entrada: S = “1 2 3 4”
Salida: {1, 2, 3, 4}Entrada: S = “32 12”
Salida: {32, 12}
Enfoque: La idea es resolver el problema dado es usar la función getchar() para verificar si se encuentra un ‘\n’ (nueva línea) mientras se ingresa y luego detener la entrada. Siga el siguiente paso para resolver el problema dado:
- Inicialice una variable, digamos count , que se usa para almacenar el índice del elemento de la array.
- Inicialice una array arr[] de tamaño 10 6 para almacenar los elementos en la array.
- Iterar utilizando un bucle do-while hasta que se produzca newLine y realizar los siguientes pasos:
- Almacene el valor actual en el conteo de índice como scanf(“%d”, &arr[recuento]); e incrementar el valor de count .
- Si el siguiente carácter no es la línea final , continúe . De lo contrario, sal del bucle .
- Después de completar los pasos anteriores, imprima los elementos almacenados en la array .
A continuación se muestra la implementación del enfoque anterior:
C
// C program for the above approach #include <stdio.h> // Driver Code int main() { // Stores the index where the // element is to be inserted int count = 0; // Initialize an array int a[1000000]; // Perform a do-while loop do { // Take input at position count // and increment count scanf("%d", &a[count++]); // If '\n' (newline) has occurred // or the whole array is filled, // then exit the loop // Otherwise, continue } while (getchar() != '\n' && count < 100); // Resize the array size to count a[count]; // Print the array elements for (int i = 0; i < count; i++) { printf("%d, ", a[i]); } return 0; }
Producción:
Publicación traducida automáticamente
Artículo escrito por ashokmahendrakar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA