Informatică, întrebare adresată de aledragutza92p8iwyd, 9 ani în urmă

Se da de la tastatura cu n linii si n coloane si elemente numere naturale. Sa se afiseze intr-un fisier, in ordine crescatoare, sumele elementelor din cele patru zone delimitate de diagonale!
Multumesc!!

Răspunsuri la întrebare

Răspuns de marcuandreii68p8oko7
0
#include <iostream>
#include <fstream>
using namespace std;
ofstream g("numere.out");

int main()
{
    int n,m[20][20],i,j,s_sus=0,s_jos=0,s_dreapta=0,s_stanga=0,v[5],OK,aux;
    cin>>n;
    for(i=1;i<=n;++i)
    for(j=1;j<=n;++j)
    cin>>m[i][j];
    for(i=1;i<=n/2;++i)
    {
        for(j=i+1;j<=n-i;++j) s_sus=s_sus+m[i][j];
    }
    v[1]=s_sus;

    for(i=(n/2)+1;i<=n;++i)
    {
        for(j=n-i+2;j<=i-1;++j) s_jos=s_jos+m[i][j];
    }
    v[2]=s_jos;

    for(i=1;i<=n/2;++i)
    {
        for(j=i+1;j<=n-i;++j) s_stanga=s_stanga+m[j][i];
    }
    v[3]=s_stanga;

    for(i=(n/2)+1;i<=n;++i)
    {
        for(j=n-i+2;j<=i-1;++j) s_dreapta=s_dreapta+m[j][i];
    }
    v[4]=s_dreapta;

    OK=0;
    while(OK==0)
    {
        OK=1;
        for(i=1;i<=3;++i)
        {
            if(v[i]>v[i+1])
            {
                aux=v[i];
                v[i]=v[i+1];
                v[i+1]=aux;
                OK=0;
            }
        }
    }
    for(i=1;i<=4;++i) g<<v[i]<<" ";
    g.close();
    return 0;
}

Alte întrebări interesante