#include void leeAlturas( FILE *entrada, int size, float *array ) { int i; for( i = 0; i < size; i++ ) fscanf( entrada, "%f", &( array[i] ) ); } void escribeSalida( FILE *salida, int size, float *array ) { int *intervalos = new int[size]; int i, picoInicio = -1, countPicos = 0; for( i = 1; i < size; i++ ) if( array[i] < array[i-1] ) { if( picoInicio > -1 ) { intervalos[2*countPicos] = picoInicio+1; intervalos[2*countPicos+1] = i; countPicos++; } picoInicio = -1; } else if( array[i] > array[i-1] ) picoInicio = i; fprintf( salida, "%d\n", countPicos ); for( i = 0; i < countPicos; i++ ) fprintf( salida, "%d %d ", intervalos[2*i], intervalos[2*i+1] ); delete[] intervalos; } int main() { int size; float *array; FILE *entrada = fopen( "input.txt", "rt" ); fscanf( entrada, "%d", &size ); array = new float[size]; leeAlturas( entrada, size, array ); fclose( entrada ); FILE *salida = fopen( "output.txt", "wt" ); escribeSalida( salida, size, array ); fclose( salida ); delete[] array; return 0; }