Cerinţa
Se dă o matrice cu n linii şi m coloane şi elemente numere naturale. Să se determine cea mai mare valoare care apare în matrice de cel puțin două ori.
Date de intrare
Programul citește de la tastatură numerele n şi m, iar apoi n*m numere naturale, separate prin spaţii, reprezentând elementele matricei, linie cu linie.
Date de ieşire
Programul afișează pe ecran cea mai mare valoare care apare în matrice de cel puțin două ori.
Restricţii şi precizări
1 ≤ m,n ≤ 100
elementele matricei vor fi mai mici decât 1.000.000
dacă în matrice nu se repeta nici o valoare se va afișa IMPOSIBIL
Răspunsuri la întrebare
Răspuns de
1
#include <iostream>
using namespace std;
int main()
{
int mat[100][100],n,m,i,j,maxim=0,k=0;
cin>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
cin>>mat[i][j];
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(maxim<mat[i][j])
maxim=mat[i][j];
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(maxim==mat[i][j])
k=k+1;
if(k>=2)
cout<<maxim;
else
cout<<"IMPOSIBIL";
return 0;
}
using namespace std;
int main()
{
int mat[100][100],n,m,i,j,maxim=0,k=0;
cin>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
cin>>mat[i][j];
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(maxim<mat[i][j])
maxim=mat[i][j];
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(maxim==mat[i][j])
k=k+1;
if(k>=2)
cout<<maxim;
else
cout<<"IMPOSIBIL";
return 0;
}
andreiavram37:
nu merge chiar asa bine
4 6
4 70 15 23 38 9
1 8 23 23 14 18
17 15 13 38 12 15
3 18 8 23 12 5
Date de ieșire
38
using namespace std;
int main()
{
int mat[101][101],n,m,i,j,maxim,k,y,t;
cin>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
cin>>mat[i][j];
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
maxim=mat[i][j];
k=0;
for(y=1;y<=n;y++)
for(t=1;t<=m;t++)
if(mat[y][t]>maxim)
{
maxim=mat[y][t];
k=k+1;
}
if(k>=2)
{
cout<<maxim;
return 0;
}
else
{
for(y=1;y<=n;y++)
for(t=1;t<=m;t++)
if(mat[y][t]==maxim)
mat[y][t]=-1000001;
}
}
}
cout<<"IMPOSIBIL";
return 0;
}
Răspuns de
5
#include <iostream>
using namespace std;
int a[101][101],n,m,i,j,Min,Max,p,s;
int main()
{
cin >> n >> m;
Min=1000001;
Max=-1000001;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
cin >> a[i][j];
if(a[i][j]>Max) Max=a[i][j];
else if(a[i][j]<Min) Min=a[i][j];
}
for(int k=Max;k>=Min;k--)
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
if(k==a[i][j])
{
if(p!=k) s=0;
s++;
if(k==p and s==2)
{
cout << k;
return 0;
}
p=k;
}
}
cout << "IMPOSIBIL";
return 0;
}
using namespace std;
int a[101][101],n,m,i,j,Min,Max,p,s;
int main()
{
cin >> n >> m;
Min=1000001;
Max=-1000001;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
cin >> a[i][j];
if(a[i][j]>Max) Max=a[i][j];
else if(a[i][j]<Min) Min=a[i][j];
}
for(int k=Max;k>=Min;k--)
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
if(k==a[i][j])
{
if(p!=k) s=0;
s++;
if(k==p and s==2)
{
cout << k;
return 0;
}
p=k;
}
}
cout << "IMPOSIBIL";
return 0;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă