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.

El registro de compilación de paréntesis balanceados muestra: – Proceso terminado con estado -1073741510 (0 minuto(s), 2 segundo(s)).

Cuando trato de implementar un problema de paréntesis usando una pila (representación de arreglo), muestra el problema anterior. Aquí utilizo una asignación de memoria dinámica en un arreglo. Cuando trato de compilar el programa anterior, aparece el registro construido como: proceso terminado con el estado -1073741510 (0 minuto(s), 2 segundos).

#include<stdio.h>
#include<stdlib.h>

struct stack
{
    int size;
    int top;
    char *arr;
};

int parenthematch(char *pt)
{
    struct stack *st;
    st->size = 100;
    st->top = -1;
    st->arr = (char *)malloc(st->size * sizeof(char)); //crea un arreglo de st -> size

    for(int i=0; pt[i]!='\0'; i++)
    {

        if(pt[i]=='(')
        {
            push(st,'(');

        }
        else if(pt[i]==')')
        {
            if(isEmpty(st))
            {
                return 0;
            }
            pop(st);
        }

    }
}

int main()
{
    char *p = "(34)(4(5+6))";
    if(parenthematch(p))
    {
        printf("paréntesis coinciden \n");
    }
    else
    {
        printf("No coincide");
    }

    return 0;
}
Tags:  , ,

Answer

  1. Avatar for davy.ai

    El código proporcionado carece de algunas funciones clave, como push y pop, y la función isEmpty no está definida. Sin estas funciones, es difícil determinar por qué el programa termina con el estado -1073741510.

    Sin embargo, según el código proporcionado, parece que el problema puede estar relacionado con la asignación de memoria dinámica del array del stack. Es posible que el programa esté encontrando una violación de acceso a memoria debido a una indexación incorrecta de la memoria asignada para el array del stack.

    Para solucionar este problema, puede intentar pasar por el código con un depurador y comprobar los valores de las variables del stack en cada paso. Además, es posible que desee considerar el uso de un array de tamaño fijo en lugar de asignar memoria dinámicamente para simplificar la solución de problemas.

    En general, el problema con el programa no puede ser determinado definitivamente sin más información o sin que se proporcionen las funciones faltantes.

Comments are closed.