Pagini recente » Cod sursa (job #2067847) | Cod sursa (job #3219975) | Cod sursa (job #1078426) | Cod sursa (job #453929) | Cod sursa (job #571019)
Cod sursa(job #571019)
#include <iostream>
#include <fstream>
using namespace std;
class legnagyobb{
int elem[10005];
int n;
public:
legnagyobb();
void beir();
legnagyobb vissza();
legnagyobb(int *tomb,int m);
};
legnagyobb::legnagyobb(){
ifstream be ("scmax.in" , ifstream::in );
be>>n;
int p;
for (int i=0;i<n;i++){
be>>p;
elem[i]=p;}
be.close();
}
legnagyobb::legnagyobb(int *tomb,int m){
n=m;
for (int i=0;i<n;i++)
elem[i]=tomb[i];
}
void legnagyobb::beir(){
ofstream ki("scmax.out");
ki<<n<<"\n";
int j;
for (j=0;j<n;j++)
ki<<elem[j]<<" ";
ki.close();
}
legnagyobb legnagyobb::vissza(){
int l=0;
int seged[10000];
int j=0;
for (j=0;j<n;j++){
if (elem[j]!=elem[j+1]){
seged[l]=elem[j];
l++;}
}
seged[l]=elem[j+1];
n=l;
int elozo=seged[0];
int eleje=0;
int vege=0;
int elso=0;
int utolso=0;
int max=0;
int akt=0;
int i;
for (i=1;i<n;i++){
if (seged[i]>=elozo){
elozo=seged[i];
utolso=i;
akt++;
vege=i;
}
else if (akt>=max){
max=akt;
eleje=elso;
vege=utolso;
elso=i;
utolso=i;
akt=0;
elozo=seged[i];
}
else {
akt=0;
elozo=seged[i];
elso=i;
utolso=i;
}
}
if (akt>=max){
max=akt;
eleje=elso;
vege=utolso;
elso=i;
utolso=i;
akt=0;
elozo=seged[i];
}
max++;
int seged2[10005];
for (int i=0;i<max;i++)
seged2[i]=seged[i+eleje];
legnagyobb vissza(seged2,max);
return vissza;
}
int main(){
legnagyobb v;
v.vissza().beir();
return 0;
}