Autor Tema: Introducir matriz por teclado y rotar 90 grados con punteros C lenguajeC  (Leído 4456 veces)

freddy91

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 3
    • Ver Perfil
Hola, estoy haciendo un ejercicio y no sé que estoy haciendo mal. El ejercicio trata de que tienes que introducir una matriz por teclado y luego rotarla 90º a la derecha, pero internamente hay que utilizar una segunda matriz de punteros a enteros y hay que crear un algoritmo para rotar la primera matriz sobre esta segunda, pero en la segunda matriz se deberá cargar no el valor del elemento de la primera matriz, sino el puntero a su posicion.

Gracias de antemano

 
Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
#define FIL 7
#define COL 7
#define MAX 50

int main(int argc, char *argv[]) {

int matriz[FIL][COL]={0};
int *matriz2[FIL][COL]={NULL};
int fil1=0,col1=0;
int i=0,j=0,k=0,w=0;



do {
printf("Introduzca la dimension: ");
scanf("%d",&fil1);
}while(fil1<=0 || fil1>FIL);

col1=fil1;

for(i=0;i<fil1;i++){
for(j=0;j<col1;j++){
do{
printf("Introduzca el elemento [%d %d]: ",i+1,j+1);
scanf("%d",&matriz[i][j]);
}while(matriz[i][j]<=0 || matriz[i][j]>MAX);
}
}

k=0;
w=0;

for(j=0;j<fil1;j++){
    for(i=fil1-1;i>=0;i--){
matriz2[k][w]=&matriz[i][j];
w++;

}
k++;
w=0;
}

for(i=0;i<fil1;i++){
for(j=0;j<col1;j++){
printf("%d ",matriz[i][j]);
}
printf("\n");
}

for(i=0;i<fil1;i++){
for(j=0;j<col1;j++){
printf("%d ",*matriz2[i][j]);
}
printf("\n");
}

return 0;
}


Edit: Ya lo arreglé, me faltaba poner

Código: [Seleccionar]
printf("%d ",*matriz2[i][j]);
Se me olvidó el *

Saludos
« Última modificación: 12 de Marzo 2017, 20:57 por Alex Rodríguez »

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".