Informatică, întrebare adresată de diablodeea, 8 ani în urmă

Cum fac sa formez un vector care ia elementele dintr o matrice în forma de spirala?????

Răspunsuri la întrebare

Răspuns de victorboghean
0

#include<stdio.h>

#include<conio.h>

main(){

int i,n,n1,p,q,aux,r,j,t,b[100],a[100][100];

printf("Introdu dimensiunea matricei: n=");

scanf("%d",&n);

printf("Introdu %d de elementele:\n",n*n);

for(i=0;i<n;i++)

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

scanf("%d",&a[i][j]);

printf("Matricea A:\n");

for(i=0;i<n;i++)

 { printf("\n");

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

   printf("%d ",a[i][j]);

 }

if(n%2!=0) n1=n/2+1;

 else n1=n/2;

 p=0;

 for(i=0;i<n1;i++)

{

    for(j=i;j<n-i;j++)

     { b[p]=a[j][i];p++; }

    for(q=i+1;q<n-i;q++)

    { b[p]=a[n-i-1][q];p++; }

    for(r=n-i-2;r>=i;r--)

     { b[p]=a[r][n-i-1];p++; }

    for(t=n-i-2;t>i;t--)

     { b[p]=a[i][t];p++; }

}

 printf("\nVectorul B:\n");

   for(i=0;i<p;i++) printf("%d ",b[i]);

   for(i=0;i<p-1;i++)

     for(j=0;j<p-1;j++)

     { if(b[j+1]<b[j])

 { aux=b[j];

   b[j]=b[j+1];

   b[j+1]=aux;

}

}

  printf("\nVectorul B ordonat  crescator:\n");

   for(i=0;i<p;i++)

    printf("%d ",b[i]);

}


victorboghean: Coroana?
Alte întrebări interesante