Pentru tabloul bidimensional dat din n linii şi m coloane Să se ordoneze liniile tabloului în ordine ascendentă a numărului de elemente negative în fiecare linie.
Răspunsuri la întrebare
Răspuns:
#include <iostream>
using namespace std;
int main()
{
int mat[101][101],v[101],n,m;
cin>>n>>m;
for(int i=1;i<=n;i++)
{
int nr=0;
for(int j=1;j<=m;j++)
{
cin>>mat[i][j];
if(mat[i][j]<0)
nr++;
}
v[i]=nr;
}
for(int i=1;i<n;i++)
{
int Max=v[i],k=i;
for(int j=i+1;j<=n;j++)
if(v[j]>Max)
{
k=j;
Max=v[j];
}
if(k!=i)
{
for(int d=1;d<=m;d++)
{
int aux;
aux=mat[i][d];
mat[i][d]=mat[k][d];
mat[k][d]=aux;
}
v[k]=v[i];
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
cout<<mat[i][j]<<" ";
cout<<"\n";
}
return 0;
}
Explicație:
Banuiesc ca ascendent se refera in a ordona liniile in mod crescator de jos in sus. Eu pentru situatia aceasta am scris codul