sâmbătă, 8 septembrie 2018

Parcurgere matrice in spirala

//parcurgerea matricei in spirala
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
FILE*f;
int g(int &k)
{
 int i,gata=0,s=0,aux=0;
 i=k;
  while(gata==0)
 {
 gata=0;
 s=0;
 aux=i;
 while(aux!=0){
 s=s+aux%10;
 aux=aux/10;
   }
  if(s%5==0)
   gata=1;
 i++;
 }
 k=i-1;
 return k;
}
void main()
{
int a[20][20],n,i,j,k;
clrscr();
f=fopen("matrice.txt","r");
/*fscanf(f,"%d",&n);
for(i=0;i<n;i++)
  for(j=0;j<n;j++)
    fscanf(f,"%d",&a[i][j]);*/
     cout<<"Dati n=";
   cin>>n;
    k=13;
for(i=0;i<n;i++)
 {
   for(j=i;j<n-i;j++)
     a[i][j]=g(++k);
   for(j=i+1;j<n-i;j++)
     a[j][n-1-i]=g(++k);
   for(j=n-i-2;j>i;j--)
     a[n-1-i][j]=g(++k);
   for(j=n-i-1;j>i;j--)
     a[j][i]=g(++k);
   }

   for(i=0;i<n;i++) {
     for(j=0;j<n;j++)
       cout<<a[i][j]<<" ";
       cout<<endl;
       }
       fclose(f);
   getch();
}

Niciun comentariu:

Trimiteți un comentariu