-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
// 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
Labels
No labels