najgolem od minimumite po redica
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int m,n,i,j,red=0,max=-9999,min=9999;
    scanf("%d%d",&m,&n);
    int mat[m][n];

    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            scanf("%d",&mat[i][j]);
        }
    }

    for(i=0;i<m;i++)
    {
        max=-9999;

        for(j=0;j<n;j++)
        {

            if(min>mat[i][j])
            {
                min=mat[i][j];
            }
        }

        if(max<min)
        {
            max=min;
            red=i;
        }
    }

    for(j=0;j<n-1;j++)
    {
        printf("%d ",mat[red][j]);
    }

    printf("%d",mat[red][j]);

    return 0;
}
najgolem pogoden broj
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int m,n,i,j,a,max=0;
    scanf ("%d%d",&m,&n);
    int mat[m][n];
    for(i=1;i<=m;i++)
    {
        for(j=1;j<=n;j++)
        {
            scanf("%d",&mat[i][j]);
        }
    }

    for(i=1;i<=m;i++)
    {
        for(j=1;j<=n;j++)
        {
            a=mat[i][j];
            if(a%i==0&&a%j==0)
            {
                if(max<a)
                {
                    max=a;
                }
            }
        }
    }

    if(max>0)
    {
        printf ("%d\n",max);
    }

    else
    {
        printf ("Nema pogoden broj\n");
    }


    return 0;
}
najmal od maksimalni elementi po kolona
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int mat[9][9],m,n,i,j,maks=-9999,min=9999,kol=0,pom;
    scanf("%d%d",&m,&n);

    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            scanf("%d",&mat[i][j]);
        }
    }

    for(j=0;j<n;j++)
    {
        maks=-9999;
        for(i=0;i<m;i++)
        {

            if(maks<mat[i][j])
            {
                maks=mat[i][j];

            }


        }

        if(min>maks)
        {
            min=maks;
            kol=j;
        }




    }

    for(i=0; i<m-1;i++)
    {
        printf("%d ",mat[i][kol]);
    }

    printf("%d",mat[i][kol]);

    return 0;
}
pechatenje na element koj se pojavuva vo sekoja kolona
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int m,n,i,j,zname,k,l,a,b;
    scanf("%d%d",&m,&n);
    int mat[m][n];

    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            scanf("%d",&mat[i][j]);
        }
    }

    for(i=0;i<m;i++)
    {
        a=mat[i][0];
        zname=0;

        for(k=1;k<n;k++)
        {
            for(l=0;l<m;l++)
            {
                b=mat[l][k];

                if(a==b)
                {
                    zname=1;
                }
            }
            if(zname!=1)
            {
                break;
            }
        }

        if(zname==1)
        {
            printf("Elementot %d go zadovoluva uslovot\n",a);
        }

    }

    return 0;
}
za redici
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int m,n,i,j,a,zname,k,b;
    scanf("%d%d",&m,&n);
    int mat[m][n];

    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            scanf("%d",&mat[i][j]);
        }
    }

    for(j=0;j<n;j++)
    {
        a = mat[0][j];
        zname=0;
        for(i=1;i<m;i++)
        {
            zname=0;

            for(k=0;k<n;k++)
            {
                b = mat[i][k];

                if(a==b)
                {
                    zname=1;
                }

           }

           if(zname!=1)
           {
               break;
           }


        }

        if(zname==1)
        {
            printf("Elementot %d go zadovuluva uslovot\n",mat[0][j]);
        }

    }


    return 0;
}
proizvod na sosedni elementii
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int m,n,i,j,a,proizvod=1;
    scanf ("%d%d",&m,&n);
    int mat[m][n];
    int mat2[m][n];

    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            scanf ("%d",&mat[i][j]);
            mat2[i][j]=mat[i][j];
        }
    }

    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            a=mat[i][j];
            proizvod=1;

            if(i>0 && j<n-1 && (a>mat[i-1][j+1])) // gore desno
            {
                proizvod*=mat[i-1][j+1];
            }

            if(i>0 && j>0 && (a > mat[i-1][j-1])) // gore levo
            {
                proizvod*=mat[i-1][j-1];
            }

            if( j<n-1 && i<m-1 && (a > mat[i+1][j+1])) // dole desno
            {
                proizvod*=mat[i+1][j+1];
            }

            if(j>0 && i<m-1 && (a > mat[i+1][j-1])) // dole levo
            {
                proizvod*=mat[i+1][j-1];
            }

            mat2[i][j]=proizvod;
        }
    }

    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            printf ("%d ", mat2[i][j]);
        }
        printf ("\n");
    }


    return 0;
}
rastechka i opagjachka matrica
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int m,n,i,j,k,t;
    scanf("%d%d",&m,&n);
    int mat[m][n];


    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            scanf("%d",&mat[i][j]);
        }
    }

    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            for(t=0;t<m;t++)
            {
                for(k=0;k<n;k++)
            {
                if(mat[i][j]>mat[t][k])
                {
                    int temp=mat[i][j];
                    mat[i][j]=mat[t][k];
                    mat[t][k]=temp;
                }
            }
            }
        }
    }

printf("Opagjachka matrica: \n");
    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            printf("%d ",mat[i][j]);
        }
        printf("\n");
    }

    printf("\n");

for(i=0;i<m;i++)
{
    for(j=0;j<n;j++)
    {
        for(t=0;t<m;t++)
        {
            for(k=0;k<n;k++)
            {
                if(mat[i][j]<mat[t][k])
                {
                    int temp=mat[i][j];
                    mat[i][j]=mat[t][k];
                    mat[t][k]=temp;
                }
            }
        }
    }
}

printf("Rastechka matrica: \n");

for(i=0;i<m;i++)
{
    for(j=0;j<n;j++)
    {
        printf("%d ",mat[i][j]);
    }
    printf("\n");
}

    return 0;
}
matrica sovrseni
#include <stdio.h>
int sovrsenbroj(int n) {
    int suma=0,i;
    for(i=1; i<n; i++) {
        if(n%i==0) {
            suma+=i;
        }
    }
    if(n==suma)
        return 1;
    else
        return 0;
 
}
 
int main () {
    int n,i,j,max=0,min=0,flag=0,zero=0;
    scanf("%d",&n);
    int a[n][n],b[n][n],c[n][n];
    for(i=0; i<n; i++)
        for(j=0; j<n; j++) {
            scanf("%d",&a[i][j]);
            c[i][j]=0;
 
        }
 
    for(i=0; i<n; i++)
        for(j=0; j<n; j++) {
            if(sovrsenbroj(a[i][j])==1) {
                if(flag==0)
                    min=a[i][j];
 
                flag=1;
                if(min>a[i][j])
                    min=a[i][j];
                if(max<a[i][j])
                    max=a[i][j];
            }
        }
 
    for(i=0; i<n; i++)
        for(j=0; j<n; j++) {
            if(i==j || i+j==n-1)
                b[i][j]=max;
            else
                b[i][j]=min;
        }
    if(flag==1) {
        for(i=0; i<n; i++) {
            printf("\n");
            for(j=0; j<n; j++) {
                printf("%d ",b[i][j]);
 
            }
 
        }
        printf("\n%d",max-min);
    } else {
        for(i=0; i<n; i++) {
            printf("\n");
            for(j=0; j<n; j++) {
                printf("%d ",c[i][j]);
 
            }
 
 
 
        }
        printf("\n%d",zero);
 
    }
 
    return 0;
 
}
zbir na dijagonali
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,i,j,k,suma=0,sumamax=-9999;
    scanf("%d",&n);
    int mat[n][n];

    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            scanf("%d",&mat[i][j]);
        }
    }

    for(k=n;k>0;k--)
    {
        suma=0;

        for(i=0;i<k;i++)
        {
            suma+=mat[(n-k) - (n-k) + i][k-i-1];
        }

        if(sumamax<suma)
        {
            sumamax=suma;
        }
    }

    printf("%d",sumamax);

    return 0;
}
zamena na sekoj ele. so suma na negovite dijag. sosedi
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int mat[10][10],m,n,i,j,mat2[10][10],a;

    scanf("%d%d",&m,&n);

    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            scanf("%d",&mat[i][j]);
        }
    }

    for(i=0;i<m;i++)
    {

        for(j=0;j<n;j++)
        {
            a=mat[i][j];
            int suma=0;

            if(i>0&&j>0)
            {
                suma+=mat[i-1][j-1];// IMAM
            }

            if(i<m-1 && j>0)
            {
                suma+=mat[i+1][j-1];// IMAM
            }

            if(i<m-1 && j<n-1)
            {
                suma+=mat[i+1][j+1]; //IMAM
            }

            if(i>0 && j<n-1)
            {
                suma+=mat[i-1][j+1];
            }

            mat2[i][j]=suma;

        }
    }

    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            printf("%d ",mat2[i][j]);
        }

        printf("\n");
    }

    return 0;
}
transformacija 1-n red
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int m,n,i,j,suma1=0,suma2=0,k;
    scanf("%d%d",&m,&n);
    int mat[m][n];

    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            scanf("%d",&mat[i][j]);
        }
    }



    for(i=0;i<m/2;i++)
    {
        for(j=0;j<n;j++)
        {
            suma1+=mat[i][j];
            suma2+=mat[m-i-1][j];
        }

        if(suma1>suma2)
        {
            for(k=0;k<n;k++)
            {
                int temp=mat[i][k];
                mat[i][k]=mat[m-i-1][k];
                mat[m-i-1][k]=temp;
            }
        }
    }

    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            printf("%d ",mat[i][j]);
        }
        printf("\n");
    }

    return 0;
}
transformacija 1-n kol
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int mat[100][100],m,n,i,j,k,proizvod=1,proizvod_dva=1;

    scanf("%d%d",&m,&n);

    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            scanf("%d",&mat[i][j]);
        }
    }

    for(j=0;j<n/2;j++)
    {
        for(i=0;i<m;i++)
        {
            proizvod*=mat[i][j];
            proizvod_dva*=mat[i][n-j-1];
        }

        if(proizvod>proizvod_dva)
            {
                for(k=0;k<n;k++)
                {
                    int temp=mat[k][j];
                    mat[k][j]=mat[k][n-j-1];
                    mat[k][n-j-1]=temp;
                }
            }
    }

    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            printf("%d ",mat[i][j]);
        }
        printf("\n");
    }
    return 0;
}
beli polinja
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,i,j,suma=0,k,a;
    scanf("%d",&n);
    int mat[n][n];

    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            scanf("%d",&mat[i][j]);
        }
    }

    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            a=mat[i][j];

            if(i%2==0 && j%2!=0)
            {
                suma+=a;
            }

            if(i%2!=0 && j%2==0)
            {
                suma+=a;
            }
        }
    }

    for(k=0;k<n;k++)
    {
        mat[k][k]=suma;   // za sporedna mat[k][dolzina - k - 1] (obratnoto od k)
    }

    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            printf("%d ",mat[i][j]);
        }
        printf("\n");
    }

    return 0;
}
sporedna dijag. nad pod sobiranja 
#include <stdio.h>
#include <stdlib.h>

int main()
{

    int m,n,i,j,a,sumamin=9999,sumamax=0;
    scanf ("%d%d",&m,&n);
    int mat[50][50];

    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            scanf ("%d",&mat[i][j]);
        }
    }
    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            a=mat[i][j];
            if (i+j<n-1)
            {
                if(sumamin>a)
                {
                    sumamin=a;
                }
            }

            if(i+j>n-1)
            {
                if(sumamax<a)
                {
                    sumamax=a;
                }
            }

        }
    }
    int suma=sumamax+sumamin;

    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            if(i+j==n-1)
            {
                mat[i][j]=suma;
            }
        }
    }

    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            printf ("%d ",mat[i][j]);
        }
        printf ("\n");
    }

    return 0;
}
zamena na elementi pod i nad glavna dijagonala
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,i,j,k,t;
    scanf("%d",&n);
    int mat[n][n];

    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            scanf("%d",&mat[i][j]);
        }
    }

    for(k=0;k<n/2;k++)
    {
        int temp = mat[k][k];
        mat[k][k] = mat[n-k-1][n-k-1];
        mat[n-k-1][n-k-1] = temp;
    }


    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            if(i<j)
            {
                for(t=0;t<n;t++)
                {
                    for(k=0;k<n;k++)
                    {
                        if(t<k&&mat[i][j]<mat[t][k])
                        {
                            int temp  = mat[i][j];
                            mat[i][j] = mat[t][k];
                            mat[t][k] = temp;
                        }
                    }
                }
            }


            if(i>j)
            {
                for(t=0;t<n;t++)
                {
                    for(k=0;k<n;k++)
                    {
                        if(t>k && mat[i][j]>mat[t][k])
                        {
                            int temp = mat[i][j];
                            mat[i][j] = mat[t][k];
                            mat[t][k] = temp;
                        }
                    }
                }
            }




        }
    }

    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            printf("%2d ",mat[i][j]);
        }
        printf("\n");
    }

    return 0;
}
zamena na elem. na glavna dijag. so suma na beli polinja
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,i,j,suma=0,k,a;
    scanf("%d",&n);
    int mat[n][n];

    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            scanf("%d",&mat[i][j]);
        }
    }

    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            a=mat[i][j];

            if(i%2==0 && j%2!=0)
            {
                suma+=a;
            }

            if(i%2!=0 && j%2==0)
            {
                suma+=a;
            }
        }
    }

    for(k=0;k<n;k++)
    {
        mat[k][k]=suma;   // za sporedna mat[k][dolzina - k - 1] (obratnoto od k)
    }

    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            printf("%d ",mat[i][j]);
        }
        printf("\n");
    }

    return 0;
}
zamena na ele. od spore. dija
#include <stdio.h>
#include <stdlib.h>

int main()
{

    int m,n,i,j,a,sumamin=9999,sumamax=0;
    scanf ("%d%d",&m,&n);
    int mat[50][50];

    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            scanf ("%d",&mat[i][j]);
        }
    }
    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            a=mat[i][j];
            if (i+j<n-1)
            {
                if(sumamin>a)
                {
                    sumamin=a;
                }
            }

            if(i+j>n-1)
            {
                if(sumamax<a)
                {
                    sumamax=a;
                }
            }

        }
    }
    int suma=sumamax+sumamin;

    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            if(i+j==n-1)
            {
                mat[i][j]=suma;
            }
        }
    }

    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            printf ("%d ",mat[i][j]);
        }
        printf ("\n");
    }

    return 0;
}
razlika na suma od red i kolona
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i,j,m,n,a,razlika,k;
    scanf("%d%d",&m,&n);
    int mat[m][n];
    int mat2[m][n];

    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            scanf("%d",&mat[i][j]);
        }
    }

    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            a=mat[i][j];
            int suma_red=0;
            int suma_kol=0;

            for(k=0;k<n;k++)
            {
                suma_red+=mat[i][k];
            }

            for(k=0;k<m;k++)
            {
                suma_kol+=mat[k][j];
            }

            suma_red-=a;
            suma_kol-=a;

            razlika=suma_red - suma_kol;

            mat2[i][j] = razlika;

        }
    }

    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            printf("%d ",mat2[i][j]);
        }
        printf("\n");
    }

    return 0;
}
zemena na sekoj element so zbir na red i kol.
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int m,n,i,j,a,k;
    scanf ("%d%d",&m,&n);
    int mat[m][n];
    int mat2[m][n];

    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            scanf ("%d", &mat[i][j]);
        }
    }

    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            a=mat[i][j];
           int suma=0;
            for (k=0;k<n;k++)
            {

                suma+= mat[i][k];
            }

            for(k=0;k<m;k++)
            {
                suma+=mat[k][j];
            }

            suma=suma-a-a;//suma-=2*a;


            mat2[i][j]=suma;


        }
    }
    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            printf ("%d ",mat2[i][j]);
        }
        printf ("\n");
    }

    return 0;
}
min suma pod glavna dijag.
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,i,j,k,sumamin=9999,suma=0;
    scanf("%d",&n);
    int mat[n][n];

    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            scanf("%d",&mat[i][j]);
        }
    }

    for(k=n;k>0;k--)
    {
        suma=0;
        for(i=0;i<k;i++)
        {
            suma+=mat[n-k+i][i];


        }
         if(sumamin > suma)
            {
                sumamin=suma;
            }

    }

    printf("%d",sumamin);
    return 0;
}
zbir na dija.2
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i,j,n,k,sumamin=9999,suma=0;
    scanf("%d",&n);
    int mat[n][n];

    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            scanf("%d",&mat[i][j]);
        }
    }

    for(k=n;k>0;k--)
    {
        suma=0;
        for(i=0;i<k;i++)
        {
            suma+=mat[n-k+i][k-i-1 + (n-k)];
        }

        if(sumamin > suma)
        {
            sumamin=suma;
        }
    }

    printf("%d",sumamin);


    return 0;
}
zbir na sosedni elem.
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int m,n,i,j,a,suma=0;
    scanf ("%d%d",&m,&n);

    int mat[m][n];
    int mat2[m][n];


    for (i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            scanf("%d",&mat[i][j]);
            mat2[i][j]=mat[i][j];
        }
    }

    for (i=0;i<m;i++)
    {

        for(j=0;j<n;j++)
        {
            suma=0;
            a=mat[i][j];

            if (i > 0&&(a<mat[i-1][j])){    //Goren element

                suma=suma+mat[i-1][j];
            }

            if( i < m-1 && (a<mat[i+1][j]))        //DOlen element
            {
                suma+=mat[i+1][j];
            }

            if( j > 0 && (a<mat[i][j-1]))     //Lev element
            {
                suma+=mat[i][j-1];
            }

            if( j < n - 1 && (a<mat[i][j+1]))    // Desen element
            {
                suma+=mat[i][j+1];
            }

            mat2[i][j]=suma;

        }
    }

    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            printf ("%d ",mat2[i][j]);
        }
        printf ("\n");
    }



    return 0;
}
promena an mesta min i maks
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int m,n,i,j,min_suma=9999,max_suma=-9999,a,maxred,minred,suma;
    scanf("%d%d",&m,&n);
    int mat[m][n];

    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            scanf("%d",&mat[i][j]);
        }
    }

    for(i=0;i<m;i++)
    {
        suma = 0;
        for(j=0;j<n;j++)
        {
            a=mat[i][j];
            suma+=a;



        }

         if(max_suma<suma)
            {
                max_suma=suma;
                maxred=i;
            }

            if(min_suma>suma)
            {
                min_suma=suma;
                minred=i;
            }
    }

    for(j=0;j<n;j++)
    {
        int temp=mat[maxred][j];
        mat[maxred][j]=mat[minred][j];
        mat[minred][j]=temp;
    }

    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            printf("%d ",mat[i][j]);
        }
        printf("\n");
    }
    return 0;
}
promenea na kol min i maks
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int m,n,i,j,sumamin=9999,sumamax=0,a,kol_max,kol_min;
    scanf("%d%d",&m,&n);
    int mat[m][n];
    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            scanf ("%d",&mat[i][j]);
        }
    }

     for(j=0;j<n;j++)
    {
        int suma=0;
        for(i=0;i<m;i++)
        {
            a=mat[i][j];
            suma+=a;
        }

        if(sumamin>suma)
        {
            sumamin=suma;
            kol_min=j;
        }

        if(sumamax<suma)
        {
            sumamax=suma;
            kol_max=j;
        }
    }

    for(i=0;i<m;i++)
    {
        int temp = mat[i][kol_min];
        mat[i][kol_min]= mat[i][kol_max];
        mat[i][kol_max]=temp;
    }

    for (i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
            printf ("%d ",mat[i][j]);
        }
        printf ("\n");
    }

    return 0;
}
