Pagini recente » Cod sursa (job #1501120) | Cod sursa (job #1597266) | Cod sursa (job #2298464) | Cod sursa (job #2585646) | Cod sursa (job #1220805)
#include "stdio.h"
int main()
{
//*declarare
FILE *hFileIn , *hFileOut;
int n , a[100] , dub , nr ;
int i , imin , imax, iamin , iamax;
//*preinit
i = 0;
imin = 0; iamin = 0;
imax = 0 ; iamax = 0;
dub=0;
//*init
hFileIn = fopen( "scmax.in" , "r" );
if( hFileIn == NULL )
{
// wprintf(L"[error] could not open input file \nexiting \n");
return 1;
}
hFileOut = fopen( "scmax.out" , "w" );
if( hFileOut == NULL )
{
// wprintf(L"[error] could not create output file \nexiting \n");
return 1;
}
//*use
if(fscanf(hFileIn , "%d" , &n)); //read n from file
if(fscanf(hFileIn , "%d" , &a[0])); //read 1st nr from file
iamin = 0;
for( i=1 ; i < n ; i++) //read numbers from file
{
if(fscanf( hFileIn , "%d" , &nr));
if( nr == a[i-1-dub] )
{
dub ++;
}
else
{
a[i-dub] = nr;
}
if( a[i-dub] > a[i-dub-1] )//subsirul creste
{
iamax = i-dub;
}
else//subsirul a luat sfarsit
{
iamin = i-dub;
}
if(imax-imin < iamax-iamin)//ultimul subsir mai lung decat penultimul
{
imax = iamax;
imin = iamin;
}
}
//write file
fprintf(hFileOut , "%d\n" , imax-imin+1);
for( i=imin ; i <= imax ; i++)
fprintf(hFileOut , "%d " , a[i]);
//*cleanup
return 0;
}