Programa C para ingresar una array de una secuencia de enteros separados por espacios

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *