Dev - C++ - ROTAR UNA MATRIZ A 90 GRADOS EN SENTIDO A LAS MANECILLAS DEL RELOJ

 
Vista:
sin imagen de perfil
Val: 31
Ha disminuido su posición en 4 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

ROTAR UNA MATRIZ A 90 GRADOS EN SENTIDO A LAS MANECILLAS DEL RELOJ

Publicado por fernanda (10 intervenciones) el 21/01/2021 02:09:48

Este es mi código, pero me dice que no estoy contemplando todos los casos:



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <stdio.h>
#define FIL 20
#define COL 20
#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;
 
    scanf("%d",&fil1);
    col1=fil1;
 
    for(i=0;i<fil1;i++){
        for(j=0;j<col1;j++){
            scanf("%d",&matriz[i][j]);
        }
    }
 
    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 ",*matriz2[i][j]);
        }
        printf("\n");
    }
    printf("%d ",*matriz2[i][j]);
    return 0;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

ROTAR UNA MATRIZ A 90 GRADOS EN SENTIDO A LAS MANECILLAS DEL RELOJ

Publicado por Alfil (1444 intervenciones) el 22/01/2021 06:54:12
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <stdio.h>
 
int main()
{
    int fil, col;
 
    printf("\nDimension: ");
    scanf("%d", &fil);
    col = fil;
 
    int m[fil][col];
    int mTemp[fil][col];
 
    for (int i = 0; i < fil; i++)
    {
        printf("\nFila %d:\n", i + 1);
        for (int j = 0; j < col; j++)
        {
            printf("(%d/%d): ", j + 1, col);
            scanf("%d", &m[i][j]);
        }
    }
 
    int t;
    for(int i = 0; i < fil; i++)
    {
        t = 0;
        for(int j = fil-1; j >= 0; j--)
        {
            mTemp[i][t] = m[j][i];
            t++;
        }
    }
 
    printf("\nMatriz Rotada: \n");
    for (int i = 0; i < fil; i++)
    {
        printf("| ");
        for (int j = 0; j < col; j++)
            printf("%d ", mTemp[i][j]);
 
        printf(" |\n");
    }
 
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 31
Ha disminuido su posición en 4 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

ROTAR UNA MATRIZ A 90 GRADOS EN SENTIDO A LAS MANECILLAS DEL RELOJ

Publicado por fernanda (10 intervenciones) el 22/01/2021 16:49:29
Este es mi código, ¿Qué debo implementar para hacer la rotación?

La matriz no debe se cuadrada, es por eso que implemente perdir al usuario que teclee el numero de renglones y columnas.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
    #define REN 30
    #define COL 30
    int main(int argc, char *argv[]) {
        int MATRIZ[REN][COL];  //se declara una matriz de 30x30
        int m,n,renglon,columna;
 
        scanf("%d",&n); //leer desde teclado el valor n=renglones
        scanf("%d",&m); //leer desde teclado el valor m=columnas
 
        //Implementamos un ciclo para leer los valores de la matriz
 
        for (renglon=0;renglon<n;renglon++){
            for(columna=0;columna<m;columna++){
                scanf ("%d",&MATRIZ[renglon][columna]);
            }
        }
 
 
        return 0;
    }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

ROTAR UNA MATRIZ A 90 GRADOS EN SENTIDO A LAS MANECILLAS DEL RELOJ

Publicado por Alfil (1444 intervenciones) el 22/01/2021 23:41:54
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <stdio.h>
 
int main()
{
    int fil, col;
 
    printf("\nFilas: ");
    scanf("%d", &fil);
    printf("Columnas: ");
    scanf("%d", &col);
 
    int m[fil][col];
    int mTemp[col][fil];
 
    for (int i = 0; i < fil; i++)
    {
        printf("\nFila %d:\n", i + 1);
        for (int j = 0; j < col; j++)
        {
            printf("(%d/%d): ", j + 1, col);
            scanf("%d", &m[i][j]);
        }
    }
 
    int k = fil - 1;
    for (int i = 0; i < fil; i++)
    {
        int t = 0;
        for (int j = 0; j < col; j++)
        {
            mTemp[t++][k] = m[i][j];
        }
        k--;
    }
 
    printf("\nMatriz Rotada: \n");
    for (int i = 0; i < col; i++)
    {
        printf("| ");
        for (int j = 0; j < fil; j++)
            printf("%d ", mTemp[i][j]);
 
        printf(" |\n");
    }
 
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 31
Ha disminuido su posición en 4 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

ROTAR UNA MATRIZ A 90 GRADOS EN SENTIDO A LAS MANECILLAS DEL RELOJ

Publicado por fernanda (10 intervenciones) el 22/01/2021 23:56:49
muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar