👤

Ce am gresit la acest algoritm? Iau doar 20p/100. (nu era necesar sa pun si z.. dar oricum asta nu se considera o greseala)


Cerinta :
Se dă o matrice cu n linii şi m coloane şi elemente numere naturale. Să se ordoneze liniile matricei crescător după suma elementelor.

Codul:


Ce Am Gresit La Acest Algoritm Iau Doar 20p100 Nu Era Necesar Sa Pun Si Z Dar Oricum Asta Nu Se Considera O Greseala Cerinta Se Dă O Matrice Cu N Linii Şi M Col class=

Răspuns :

#include <iostream>
using namespace std;

int main()
{
    int a[101][101],s[101],m,n;
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    for(int j=1;j<=m;j++)cin>>a[i][j];
    for(int i=1;i<=n;i++)
    {
        int sum=0;
        for(int j=1;j<=m;j++) sum=sum+a[i][j];
        s[i]=sum;
    }
    for(int i=1;i<n;i++)
        for(int j=i+1;j<=n;j++)
            if(s[i]>s[j])
            {
                int aux=s[i]; s[i]=s[j]; s[j]=aux;
                for(int k=1;k<=m;k++)
                {
                    aux=a[i][k]; a[i][k]=a[j][k]; a[j][k]=aux;
                }
            }
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
            cout<<a[i][j]<<' ';
        cout<<endl;
    }
    return 0;
}