Pagini recente » Cod sursa (job #20739) | Cod sursa (job #1365561) | Cod sursa (job #574417) | Cod sursa (job #1329974) | Cod sursa (job #570959)
Cod sursa(job #570959)
#include <iostream>
#include <fstream>
using namespace std;
class legnagyobb{
int* elem;
int n;
public:
legnagyobb();
void beir();
legnagyobb vissza();
legnagyobb(int *tomb,int m);
~legnagyobb();
};
legnagyobb::legnagyobb(){
ifstream be ("scmax.in" , ifstream::in );
be>>n;
elem=new int[n];
for (int i=0;i<n;i++){
be>>elem[i];}
be.close();
}
legnagyobb::legnagyobb(int *tomb,int m){
elem=new 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 elozo=elem[0];
int eleje=0;
int vege=0;
int elso=0;
int utolso=0;
int max=0;
int akt=0;
bool f=false;
int i;
for (i=1;i<n;i++){
if (elem[i]>=elozo){
elozo=elem[i];
utolso=i;
akt++;
vege=i;
f=false;
}
else if (akt>=max){
max=akt;
eleje=elso;
vege=utolso;
elso=i;
utolso=i;
akt=0;
elozo=elem[i];
f=true;
}
else {
akt=0;
elozo=elem[i];
elso=i;
utolso=i;
f=true;
}
}
if (akt>=max){
max=akt;
eleje=elso;
vege=utolso;
elso=i;
utolso=i;
akt=0;
elozo=elem[i];
f=true;
}
int* seged;
max++;
seged=new int[max];
for (int i=0;i<max;i++)
seged[i]=elem[i+eleje];
legnagyobb vissza(seged,max);
delete[] seged;
return vissza;
}
legnagyobb::~legnagyobb(){
// delete [] elem;
}
int main(){
legnagyobb v;
v.vissza().beir();
return 0;
}