Cod sursa(job #1825968)

Utilizator DdariusDarius Ddarius Data 9 decembrie 2016 21:58:56
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.19 kb
#include <iostream>

using namespace std;
typedef int Matrice[1000][1000];
void citire(Matrice m,int x)
{
    int i, j;
    for(i=1; i<=x; i++)
        for(j=1; j<=x; j++)
            cin>>m[i][j];
}
void afisare(Matrice m,int x)
{
    int i, j;
    for(i=1; i<=x; i++)
        {for(j=1; j<=x; j++)
            cout<<m[i][j]<<' ';
            cout<<endl;}
}
void suma(Matrice m, int n, int z,int s)
{
    int r=1, i, j, mij;
    mij=n/2+n%2;
    s=0;
    if(z==1)
    {
        for(i=1; i<=n-1; i++)
            for(j=i+1; j<=n-i; j++)
                s=s+m[i][j];
        cout<<s;
    }
    if(z==2)
    {
        for(j=0, r=n; j<=n-1; j++, r--)
            for(i=2+j; i<=n-1-j; i++)
                s=s+m[i][r];
        cout<<s;
    }
    if(z==3)
    {
        for(i=n, r=1; i>=mij+1; i--, r++)
            for(j=r+1; j<=n-r; j++)
                s=s+m[i][j];
        cout<<s;
    }
    if(z==4)
    {
        for(j=1, r=1; j<=mij-1; j++, r++)
            for(i=r+1; i<=n-r; i++)
                s=s+m[i][j];
        cout<<s;
    }
}
Matrice m;
int main()
{
    int i, j, n, z, s;
    cin>>n>>z;
    citire(m, n);
    suma(m, n, z, s);
    return 0;
}