Foros del Web » Programación para mayores de 30 ;) » C/C++ »

matriz que rote a la derecha

Estas en el tema de matriz que rote a la derecha en el foro de C/C++ en Foros del Web. Buenas tardes este pseudocodigo hace rotar una matriz a la izquierda, alguien me puede ayudar a modificarlo para que rote a la derecha ... gracias ...
  #1 (permalink)  
Antiguo 04/06/2013, 15:04
 
Fecha de Ingreso: mayo-2013
Mensajes: 2
Antigüedad: 9 años, 1 mes
Puntos: 0
matriz que rote a la derecha

Buenas tardes este pseudocodigo hace rotar una matriz a la izquierda, alguien me puede ayudar a modificarlo para que rote a la derecha ... gracias de antemano


#include <stdio.h>
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>

class ALUMNO{
char nombre[100];
public:
ALUMNO(){ strcpy(nombre,""); }
void IngAlumno(){
cout<<"\n Ing nombre: ";cin>>nombre;
}
void MosAlumno(){
cout<<" "<<nombre;
}
};


class MATRIZ{
ALUMNO a;
MATRIZ *abaj;
MATRIZ *sgte;
int nn;
public:
MATRIZ(){abaj=sgte=NULL;}
void IngMatriz(MATRIZ *&raiz,int nn){
MATRIZ *n,*q,*aux=NULL;
int i,j;
for(i=0;i<nn;i++){
for(j=0;j<nn;j++){
n=new MATRIZ;
n->a.IngAlumno();
if(raiz==NULL) raiz=n;
else{
if(i==0){q=raiz;
while(q->sgte!=NULL) q=q->sgte;
q->sgte=n;
}else{
if(j!=0){aux->sgte=n;}
nodo_dev(raiz,i-1,j)->abaj=n;
aux=n;
}
}
n->abaj=NULL;n->sgte=NULL;
}
n->sgte=nodo_dev(raiz,i,0);
}
}
void m(MATRIZ *&raiz){
raiz=raiz->sgte;
}

void MosMatriz(MATRIZ *raiz, int nn){
int p,q;
for(p=0;p<nn;p++){
cout<<"\n";
for(q=0;q<nn;q++){
nodo_dev(raiz,p,q)->a.MosAlumno();
}
cout<<"\n";
}
}
MATRIZ *nodo_dev(MATRIZ *raiz,int a, int b){
MATRIZ *q=new MATRIZ;
q=raiz;
int i,j;
for(i=0;i<a;i++) q=q->abaj;
for(j=0;j<b;j++) q=q->sgte;
return q;
}
};


int main(int argc, char *argv[]){
char op;
MATRIZ ma, *raiz=NULL;
for(;;){
cout<<"\n Ing Matriz <1>\n Mos Matriz <2>\n Rotar izq <3>\n Salir <4>";
op=getch();
switch(op){
case '1':ma.IngMatriz(raiz, 3);
break;
case '2':ma.MosMatriz(raiz,3);break;
case '3':ma.m(raiz);break;
case '4':return 0;
}
}
}
  #2 (permalink)  
Antiguo 07/06/2013, 19:03
Avatar de paracoccidio  
Fecha de Ingreso: abril-2011
Ubicación: Guadalajara, Jalisco, Mexico
Mensajes: 27
Antigüedad: 11 años, 2 meses
Puntos: 4
Respuesta: matriz que rote a la derecha

esto te podria ayudar

[URL="http://programacionparacoccidio.blogspot.mx/2011/06/girar-una-matriz-de-dos-dimensiones-en.html"]http://programacionparacoccidio.blogspot.mx/2011/06/girar-una-matriz-de-dos-dimensiones-en.html[/URL]


o este :


[URL="http://programacionparacoccidio.blogspot.mx/2011/06/girar-una-matriz-de-tres-dimensiones.html"]http://programacionparacoccidio.blogspot.mx/2011/06/girar-una-matriz-de-tres-dimensiones.html[/URL]
  #3 (permalink)  
Antiguo 08/06/2013, 01:01
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 10 años
Puntos: 127
Respuesta: matriz que rote a la derecha

Hay varias cosas que desconoces:

1. Se ha de indicar explicitamente el namespace usado, en la mayoría de funciones de la librería es std. No lo veo por ninguna parte.

2. Ordena el código. Es una chapuza.

3. Las librerías de C++ no requieren el .h final.
__________________
21añero.
HTML/CSS, PHP, JS/jQuery, Mysql; NodeJS/Socket.io (& V8); C++ ; Python (wxpy); Ensamblador.
Músico (clarinetista/pianista) y compositor

Etiquetas: derecha, int, matriz
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:27.