#include <iostream>
#include <fstream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
using namespace std;
const int n=5;
const int m=6;
void wypelnij(int t[n][m],int a, int b);
void wypisz(int t[n][m]);
void indeksymaks(int t[n][m], int &imaks, int &jmaks);
struct indeks{
int im;
int jm;
};
indeks maks2(int t[n][m]);
void indeksymaks3(int t[n][m], indeks &ind);
void wypiszind(indeks ind);
struct ekstrema{
int max,min;
indeks ijmin, ijmax;
};
ekstrema maxmin(int t[n][m]);
int main()
{
srand(time(NULL));
indeks id,ind;
ekstrema wartosc_max;
int t[n][m];
int im,jm;
int imaks,jmaks;
wypelnij(t,3,60);
wypisz(t);
indeksymaks(t,imaks,jmaks);
id=maks2(t);
cout<<endl<<id.im<<endl<<id.jm<<endl;
indeksymaks3(t,ind);
wypiszind(ind);
cout<<endl;
maxmin(t);
cout<<wartosc_max.max;
return 0;
}
void wypelnij(int t[n][m],int a,int b)
{
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
t[i][j]=(rand()%(b-a)+a);
}
}
}
void wypisz(int t[n][m])
{
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
cout<<t[i][j]<<" ";
}cout<<endl;
}
}
void indeksymaks(int t[n][m],int &imaks, int &jmaks)
{
imaks=0;
jmaks=0;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
if(t[i][j]>t[imaks][jmaks])
{
imaks=i;
jmaks=j;
}
}
}cout<<endl<<imaks<<endl<<jmaks<<endl;
}
indeks maks2( int t[ n ][ m ] )
{
indeks id;
id.im = 0;
id.jm = 0;
for( int i = 0; i < n; i++ )
{
for( int j = 0; j < m; j++ )
{
if( t[ i ][ j ] > t[ id.im ][ id.jm ] )
{
id.im = i;
id.jm= j;
}
}
} return id;
}
void indeksymaks3(int t[n][m], indeks &ind)
{
ind.im=0;
ind.jm=0;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
if(t[i][j]>t[ind.im][ind.jm])
{
ind.im=i;
ind.jm=j;
}
}
}
}
void wypiszind(indeks ind)
{
cout<<endl<<ind.im<<endl<<ind.jm<<endl;
}
ekstrema maxmin(int t[n][m])
{
ekstrema wartosc_max;
wartosc_max.ijmax.im=0;
wartosc_max.ijmax.jm=0;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
if(t[i][j]>t[wartosc_max.ijmax.im][wartosc_max.ijmax.jm])
{
wartosc_max.max=t[i][j];
}
}return wartosc_max;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnN0cmVhbT4KI2luY2x1ZGUgPGlvbWFuaXA+CiNpbmNsdWRlIDxjc3RkbGliPgojaW5jbHVkZSA8Y3RpbWU+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjb25zdCBpbnQgbj01Owpjb25zdCBpbnQgbT02Owp2b2lkIHd5cGVsbmlqKGludCB0W25dW21dLGludCBhLCBpbnQgYik7CnZvaWQgd3lwaXN6KGludCB0W25dW21dKTsKdm9pZCBpbmRla3N5bWFrcyhpbnQgdFtuXVttXSwgaW50ICZpbWFrcywgaW50ICZqbWFrcyk7CnN0cnVjdCBpbmRla3N7CmludCBpbTsKaW50IGptOwp9OwppbmRla3MgbWFrczIoaW50IHRbbl1bbV0pOwp2b2lkIGluZGVrc3ltYWtzMyhpbnQgdFtuXVttXSwgaW5kZWtzICZpbmQpOwp2b2lkIHd5cGlzemluZChpbmRla3MgaW5kKTsKc3RydWN0IGVrc3RyZW1hewppbnQgbWF4LG1pbjsKaW5kZWtzIGlqbWluLCBpam1heDsKfTsKZWtzdHJlbWEgbWF4bWluKGludCB0W25dW21dKTsKCmludCBtYWluKCkKewogICAgc3JhbmQodGltZShOVUxMKSk7CiAgICBpbmRla3MgaWQsaW5kOwogICAgZWtzdHJlbWEgd2FydG9zY19tYXg7CiAgICBpbnQgdFtuXVttXTsKICAgIGludCBpbSxqbTsKICAgIGludCBpbWFrcyxqbWFrczsKICAgIHd5cGVsbmlqKHQsMyw2MCk7CiAgICB3eXBpc3oodCk7CiAgICBpbmRla3N5bWFrcyh0LGltYWtzLGptYWtzKTsKICAgIGlkPW1ha3MyKHQpOwogICAgY291dDw8ZW5kbDw8aWQuaW08PGVuZGw8PGlkLmptPDxlbmRsOwogICAgaW5kZWtzeW1ha3MzKHQsaW5kKTsKICAgIHd5cGlzemluZChpbmQpOwogICAgY291dDw8ZW5kbDsKICAgIG1heG1pbih0KTsKICAgIGNvdXQ8PHdhcnRvc2NfbWF4Lm1heDsKCnJldHVybiAwOwp9CnZvaWQgd3lwZWxuaWooaW50IHRbbl1bbV0saW50IGEsaW50IGIpCnsKICAgIGZvcihpbnQgaT0wO2k8bjtpKyspCiAgICB7CiAgICAgICAgZm9yKGludCBqPTA7ajxtO2orKykKICAgICAgICB7CiAgICAgICAgICAgIHRbaV1bal09KHJhbmQoKSUoYi1hKSthKTsKICAgICAgICB9CiAgICB9Cn0Kdm9pZCB3eXBpc3ooaW50IHRbbl1bbV0pCnsKICAgICBmb3IoaW50IGk9MDtpPG47aSsrKQogICAgewogICAgICAgIGZvcihpbnQgaj0wO2o8bTtqKyspCiAgICAgICAgewogICAgICAgICAgICBjb3V0PDx0W2ldW2pdPDwiICAgIjsKICAgICAgICB9Y291dDw8ZW5kbDsKICAgIH0KCn0Kdm9pZCBpbmRla3N5bWFrcyhpbnQgdFtuXVttXSxpbnQgJmltYWtzLCBpbnQgJmptYWtzKQp7CiAgICBpbWFrcz0wOwogICAgam1ha3M9MDsKICAgICBmb3IoaW50IGk9MDtpPG47aSsrKQogICAgewogICAgICAgIGZvcihpbnQgaj0wO2o8bTtqKyspCiAgICAgICAgewogICAgICAgICAgICBpZih0W2ldW2pdPnRbaW1ha3NdW2ptYWtzXSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaW1ha3M9aTsKICAgICAgICAgICAgICAgIGptYWtzPWo7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Y291dDw8ZW5kbDw8aW1ha3M8PGVuZGw8PGptYWtzPDxlbmRsOwp9CgppbmRla3MgbWFrczIoIGludCB0WyBuIF1bIG0gXSApCnsKICAgIGluZGVrcyBpZDsKICAgIGlkLmltID0gMDsKICAgIGlkLmptID0gMDsKICAgIGZvciggaW50IGkgPSAwOyBpIDwgbjsgaSsrICkKICAgIHsKICAgICAgICBmb3IoIGludCBqID0gMDsgaiA8IG07IGorKyApCiAgICAgICAgewogICAgICAgICAgICBpZiggdFsgaSBdWyBqIF0gPiB0WyBpZC5pbSBdWyBpZC5qbSBdICkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWQuaW0gPSBpOwogICAgICAgICAgICAgICAgaWQuam09IGo7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9IHJldHVybiBpZDsKfQoKdm9pZCBpbmRla3N5bWFrczMoaW50IHRbbl1bbV0sIGluZGVrcyAmaW5kKQp7CiAgICBpbmQuaW09MDsKICAgIGluZC5qbT0wOwogICAgZm9yKGludCBpPTA7aTxuO2krKykKICAgIHsKICAgICAgICBmb3IoaW50IGo9MDtqPG07aisrKQogICAgICAgIHsKICAgICAgICAgICAgaWYodFtpXVtqXT50W2luZC5pbV1baW5kLmptXSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaW5kLmltPWk7CiAgICAgICAgICAgICAgICBpbmQuam09ajsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICB9Cgp9Cgp2b2lkIHd5cGlzemluZChpbmRla3MgaW5kKQp7CiAgICBjb3V0PDxlbmRsPDxpbmQuaW08PGVuZGw8PGluZC5qbTw8ZW5kbDsKfQoKZWtzdHJlbWEgbWF4bWluKGludCB0W25dW21dKQp7CiAgICBla3N0cmVtYSB3YXJ0b3NjX21heDsKICAgIHdhcnRvc2NfbWF4LmlqbWF4LmltPTA7CiAgICB3YXJ0b3NjX21heC5pam1heC5qbT0wOwoKICAgIGZvcihpbnQgaT0wO2k8bjtpKyspCiAgICB7CiAgICAgICAgZm9yKGludCBqPTA7ajxtO2orKykKCiAgICAgICAgaWYodFtpXVtqXT50W3dhcnRvc2NfbWF4LmlqbWF4LmltXVt3YXJ0b3NjX21heC5pam1heC5qbV0pCiAgICAgICAgewogICAgICAgICAgICB3YXJ0b3NjX21heC5tYXg9dFtpXVtqXTsKICAgICAgICB9CgogICAgfXJldHVybiB3YXJ0b3NjX21heDsKfQo=