#include <iostream>
using namespace std;
const int MAX_SIZE = 10 ;
class Array {
private :
int elements[ MAX_SIZE] ;
int size;
public :
Array( ) : size( 0 ) { }
void addElement( int value) {
if ( size < MAX_SIZE) {
elements[ size++ ] = value;
cout << "Element added successfully." << endl;
} else {
cout << "Array is full. Cannot add more elements." << endl;
}
}
void display( ) {
if ( size == 0 ) {
cout << "Array is empty." << endl;
} else {
cout << "Array elements:" << endl;
for ( int i = 0 ; i < size; ++ i) {
cout << elements[ i] << " " ;
}
cout << endl;
}
}
int findMax( ) {
if ( size == 0 ) {
cout << "Array is empty. No maximum element." << endl;
return - 1 ;
}
int maxElement = elements[ 0 ] ;
for ( int i = 1 ; i < size; ++ i) {
if ( elements[ i] > maxElement) {
maxElement = elements[ i] ;
}
}
return maxElement;
}
} ;
int main( ) {
Array arr;
arr.addElement ( 10 ) ;
arr.addElement ( 5 ) ;
arr.addElement ( 20 ) ;
arr.addElement ( 8 ) ;
arr.display ( ) ;
int maxElement = arr.findMax ( ) ;
if ( maxElement ! = - 1 ) {
cout << "Maximum element in the array: " << maxElement << endl;
}
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNvbnN0IGludCBNQVhfU0laRSA9IDEwOwoKY2xhc3MgQXJyYXkgewpwcml2YXRlOgogICAgaW50IGVsZW1lbnRzW01BWF9TSVpFXTsKICAgIGludCBzaXplOwoKcHVibGljOgoKICAgIEFycmF5KCkgOiBzaXplKDApIHt9CiAgICB2b2lkIGFkZEVsZW1lbnQoaW50IHZhbHVlKSB7CiAgICAgICAgaWYgKHNpemUgPCBNQVhfU0laRSkgewogICAgICAgICAgICBlbGVtZW50c1tzaXplKytdID0gdmFsdWU7CiAgICAgICAgICAgIGNvdXQgPDwgIkVsZW1lbnQgYWRkZWQgc3VjY2Vzc2Z1bGx5LiIgPDwgZW5kbDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBjb3V0IDw8ICJBcnJheSBpcyBmdWxsLiBDYW5ub3QgYWRkIG1vcmUgZWxlbWVudHMuIiA8PCBlbmRsOwogICAgICAgIH0KICAgIH0KCiAgICB2b2lkIGRpc3BsYXkoKSB7CiAgICAgICAgaWYgKHNpemUgPT0gMCkgewogICAgICAgICAgICBjb3V0IDw8ICJBcnJheSBpcyBlbXB0eS4iIDw8IGVuZGw7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgY291dCA8PCAiQXJyYXkgZWxlbWVudHM6IiA8PCBlbmRsOwogICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IHNpemU7ICsraSkgewogICAgICAgICAgICAgICAgY291dCA8PCBlbGVtZW50c1tpXSA8PCAiICI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY291dCA8PCBlbmRsOwogICAgICAgIH0KICAgIH0KCiAgICBpbnQgZmluZE1heCgpIHsKICAgICAgICBpZiAoc2l6ZSA9PSAwKSB7CiAgICAgICAgICAgIGNvdXQgPDwgIkFycmF5IGlzIGVtcHR5LiBObyBtYXhpbXVtIGVsZW1lbnQuIiA8PCBlbmRsOwogICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgfQoKICAgICAgICBpbnQgbWF4RWxlbWVudCA9IGVsZW1lbnRzWzBdOwogICAgICAgIGZvciAoaW50IGkgPSAxOyBpIDwgc2l6ZTsgKytpKSB7CiAgICAgICAgICAgIGlmIChlbGVtZW50c1tpXSA+IG1heEVsZW1lbnQpIHsKICAgICAgICAgICAgICAgIG1heEVsZW1lbnQgPSBlbGVtZW50c1tpXTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICByZXR1cm4gbWF4RWxlbWVudDsKICAgIH0KfTsKCmludCBtYWluKCkgewogICAgQXJyYXkgYXJyOwogICAgYXJyLmFkZEVsZW1lbnQoMTApOwogICAgYXJyLmFkZEVsZW1lbnQoNSk7CiAgICBhcnIuYWRkRWxlbWVudCgyMCk7CiAgICBhcnIuYWRkRWxlbWVudCg4KTsKCiAgICBhcnIuZGlzcGxheSgpOwogICAgaW50IG1heEVsZW1lbnQgPSBhcnIuZmluZE1heCgpOwogICAgaWYgKG1heEVsZW1lbnQgIT0gLTEpIHsKICAgICAgICBjb3V0IDw8ICJNYXhpbXVtIGVsZW1lbnQgaW4gdGhlIGFycmF5OiAiIDw8IG1heEVsZW1lbnQgPDwgZW5kbDsKICAgIH0KCiAgICByZXR1cm4gMDsKfQ==