Skip to content

tp6_ej22 #6

@pkorenblit

Description

@pkorenblit
// 22: 22.c:14: main: Assertion `com1 == 1 && lon1 == 3' failed.
// Aborted (core dumped)
// Consulta sobre falla en el primer assert del programa de prueba.  
 

void secuenciaAsc(const int v[], int dim, int * comienzo, int * longitud)
{
    // caso en el que no hay elementos en el vector (vector vacio)
    if(dim == 0)
    {
        *comienzo = 0; 
        *longitud = 0; 
    }

    *longitud = 0; 
    int longitudAux = 0; 



    for(int i = 0; i < dim; i++){
    
        // caso en el que el vector esta tiene una secuencia en forma ascendente. Tendria que chequear 2 casos:  
        //si el vector tiene una unica subsecuencia mayor y no se encontro otra. 
        //si recorriendo el vector tiene una subsecuencia mayor en la posicion 2 (ejemplo). En ese caso tendria que comenzar la subsecuencia en el elemento actual o en el anterior?
        if(v[i] > v[i-1]){
        
            longitudAux++; 
            
            if(longitudAux > *longitud)
            {
                *comienzo = i-1; // i o i-1 lo anote como duda en los comentarios anteriores. 
                *longitud = longitudAux; // como encontre una longitud mayor a la actual la tendria que actualizar
            }
        
        }
        
        
        else{  
            // el vector contiene solo un elemento o puede no estar ordenado de forma ascendente. Este ultimo caso nose si esta bien 
            // creo que tendria que estar porque en el programa de prueba hay tres vectores distintos v2, v3 y v4 donde la longitud es 1 y se cuenta la      secuencia siguiente con el contador. 
           
           *longitud = longitudAux; // seria 1 
            longitudAux = 0;  

        }
    }

}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions