PDA

View Full Version : [C++] spostamento in una matrice


drunkenpenguin
04-09-2010, 11:21
Presente le "cornici concentriche" dela settimana enigmistica?
In pratica si tratta di una matrice in cui ci sono delle parole che si devono leggere nelle cornici(percorrendole in senso orario), via via sempre più piccole.
Ad esempio, tanto per dare un'idea, ho la matrice in cui compare solo "LIBRO" nella prima cornice:

retbrbnLI
sdedefrB
djcjdncrR
dkcifjridO

come faccio a scrivere una funzione che mi ricerca nelle varie cornici una parola inserita dall'utente?
Il problema principale che non riesco a sbrogliare è come passare da un lato del quadrato all'altro continuando la ricerca dei caratteri...

oNaSsIs
04-09-2010, 19:20
Guarda se questo programmino fa al caso tuo:


#include<iostream>

using namespace std;

int main()
{
const int N = 6;
int numeroCornice = 0;
int i;
int j;

i=0;

while(numeroCornice<=N/2)
{
for(j=numeroCornice;j<N-numeroCornice;j++)
cout<<i<<" "<<j<<" "<<endl;
j--;
cout<<endl;
for(i=numeroCornice+1;i<N-numeroCornice;i++)
cout<<i<<" "<<j<<" "<<endl;
i=N-1-numeroCornice;
cout<<endl;
for(j=N-2-numeroCornice;j>=numeroCornice;j--)
cout<<i<<" "<<j<<" "<<endl;
j++;
cout<<endl;
for(i=N-2-numeroCornice;i>=numeroCornice+1;i--)
cout<<i<<" "<<j<<" "<<endl;
numeroCornice++;
i = numeroCornice;
cout<<endl;

}
}


L'ho buttato giù al volo, con qualche altra accortezza penso possa tornarti utile. Se fai caso i numeri stampati dovrebbero essere proprio gli indici della matrice nell'ordine che interessano a te. Certo potrei anche sbagliarmi dato che non ho mai giocato a quei cruciverba...:D

drunkenpenguin
05-09-2010, 15:22
boia idolo, non è poi così facile come magari può sembrare...grazie mille!