es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Lee una lista de n números y crea un arreglo en C.

Entonces quiero tomar una entrada como esta:

La primera entrada nos indica el tamaño del array y la segunda línea contiene los números del array de esta forma:

entrada:

3
1 2 3

Y quiero crear un array a partir de la segunda línea de entrada con un tamaño igual al indicado en la primera línea.

Actualmente tengo:


<h1>include <stdio.h></h1> <h1>include <stdlib.h></h1> <h1>include <math.h></h1> int main() { int n; scanf("%d", n); int x[n]; int y[n]; }

Pero después de eso me quedo atascado.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para crear un array a partir de la segunda línea de entrada con un tamaño especificado en la primera línea de entrada, es necesario utilizar un bucle para leer los valores y almacenarlos en el array. Aquí tienes el código actualizado:

    #include <stdio.h>
    #include <stdlib.h>
    
    int main() {
        int n;
        scanf("%d", &n);
    
        // Asignar memoria para el array
        int *arr = (int*) malloc(n * sizeof(int));
    
        // Leer los valores de la segunda línea de entrada y almacenarlos en el array
        for (int i = 0; i < n; i++) {
            scanf("%d", &arr[i]);
        }
    
        // Imprimir los valores para verificar que se almacenaron correctamente
        for (int i = 0; i < n; i++) {
            printf("%d ", arr[i]);
        }
        printf("\n");
    
        // Liberar la memoria asignada para el array
        free(arr);
    
        return 0;
    }
    

    En este código, la función malloc se utiliza para asignar memoria al array basándose en el tamaño especificado en la primera línea de entrada. Luego, un bucle lee los valores de la segunda línea de entrada utilizando scanf y los almacena en el array. Finalmente, otro bucle imprime los valores para verificar que se almacenaron correctamente antes de liberar la memoria utilizando la función free.</stdlib.h></stdio.h>

Comments are closed.