Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- #include <stdio.h>
- int main() {
- int linhas, colunas;
- printf("Digite quantas linhas e colunas a matriz tem: ");
- scanf("%d %d", &linhas, &colunas);
- int matriz[linhas * colunas];
- int matrizrodada[linhas * colunas];
- int matrizantirodada[linhas * colunas];
- int contador = 0;
- for (int i = 0; i < linhas * colunas; i++) {
- matriz[i] = i+1;
- }
- printf("Matriz original:\n");
- for (int i = 0; i < linhas * colunas; i++) {
- if ((i + 1) % colunas == 0) {
- printf("%d \n", matriz[i]);
- } else {
- printf("%d ", matriz[i]);
- }
- }
- /* Aqui eu rotaciono a matriz usando uma matriz nova */
- for (int i = 0; i < linhas * colunas; i++) {
- int linha = i / colunas; // Pego uma linha inteira
- int coluna = i % colunas; // Pego uma coluna inteira
- int novalinha = coluna;
- int novacoluna = linhas - 1 - linha;
- matrizrodada[novalinha * linhas + novacoluna] = matriz[i];
- }
- for (int i = 0; i < linhas * colunas; i++) {
- int linha = i / colunas; // Pego uma linha inteira
- int coluna = i % colunas; // Pego uma coluna inteira
- int novalinha = linhas - 1 - coluna;
- int novacoluna = linha;
- matrizantirodada[novalinha * colunas + novacoluna] = matriz[i];
- }
- printf("\n\nMatriz rotacionada:\n");
- for (int i = 0; i < colunas; i++) {
- for (int j = 0; j < linhas; j++) {
- printf("%d ", matrizrodada[i * linhas + j]);
- }
- printf("\n");
- }
- printf("\n\nMatriz rotacionada:\n");
- for (int i = 0; i < colunas; i++) {
- for (int j = 0; j < linhas; j++) {
- printf("%d ", matrizantirodada[i * linhas + j]);
- }
- printf("\n");
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment