Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Parcurgere matrice in spirala  (Citit de 23809 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
miculprogramator
Nu mai tace
*****

Karma: 65
Deconectat Deconectat

Mesaje: 306



Vezi Profilul
« : August 08, 2009, 21:41:57 »

Salut !  Ma poate ajuta cineva cu o parcurgere in spirala a unei matrici ? Eu am reusit sa fac numai pentru cele patratice si m-am chinuit ceva ...

Asta e tot ce am reusit sa fac:

Cod:
for(k=1;k<=(nrlin+1)/2;k++)
       {
       for(j=k;j<=nrlin-k+1;j++)
          cout<<a[k][j]<<" ";
       for(i=k+1;i<=nrlin-k+1;i++)
          cout<<a[i][nrlin-k+1]<<" ";
       for(i=nrlin-k;i>=k;i--)
          cout<<a[nrlin-k+1][i]<<" ";
       for(i=nrlin-k; i>k;i--)
          cout<<a[i][k]<<" ";
    }

Din pacate imi omnite intotdeauna ultima coloana... sad
Memorat
chera_lary
De-al casei
***

Karma: -2
Deconectat Deconectat

Mesaje: 106



Vezi Profilul
« Răspunde #1 : August 10, 2009, 15:13:31 »

Salut!  Very Happy Uite aici codul! Il mai optimizezi tu daca e ceva, ca eu l-am scris in graba! Succces!  Ok
Cod:
#include <iostream>
#include <conio.h>

using namespace std;

int a[100][100], a2[100][100];
int n, m;

int main(){
cout<<"n:";cin>>n;
cout<<"m:";cin>>m;

for(int i=1;i<=n;i++)
  for(int j=1;j<=m;j++){
cout<<"a["<<i<<"]["<<j<<"]:";
cin>>a[i][j];
      }

for(int i=1;i<=n;i++){
  for(int j=1;j<=m;j++)
cout<<a[i][j]<<" ";
      cout<<endl;
}
    cout<<endl;

for(int k=0;k<=(n*m)/2;k++){
  for(int i=1+k;i<=m-k;i++) {int l=k+1; if(!a2[l][i]) cout<<a[l][i]<<" ", a2[l][i]=1;}
  for(int j=2+k;j<=n-k;j++) {int l=m-k; if(!a2[j][l]) cout<<a[j][l]<<" ", a2[j][l]=1;}
  for(int i=m-1-k;i>=1+k;i--) {int l=n-k; if(!a2[l][i]) cout<<a[l][i]<<" ", a2[l][i]=1;}
  for(int j=n-1-k;j>=2+k;j--) {int l=k+1; if(!a2[j][l]) cout<<a[j][l]<<" ", a2[j][l]=1;}
}

getch();

return 0;
}
Memorat
miculprogramator
Nu mai tace
*****

Karma: 65
Deconectat Deconectat

Mesaje: 306



Vezi Profilul
« Răspunde #2 : August 10, 2009, 15:19:06 »

Mersi Laurentiu. Am primit ajutor intre timp, dar e binevenita si interventia ta.  Smile
Memorat
balakraz94
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 18



Vezi Profilul
« Răspunde #3 : Februarie 11, 2010, 08:22:16 »

Naspa rau codul . Angry
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines