当前位置: 首页 > 编程笔记 >

C语言实现矩阵翻转(上下翻转、左右翻转)

屠嘉勋
2023-03-14
本文向大家介绍C语言实现矩阵翻转(上下翻转、左右翻转),包括了C语言实现矩阵翻转(上下翻转、左右翻转)的使用技巧和注意事项,需要的朋友参考一下

C语言实现矩阵翻转 上下翻转与左右翻转

实例代码:

#include <stdio.h> 
  
void matrix (int m, int n, int t) 
{ 
  int arr[m][n]; 
  int i, j, k; 
  
  for (i = 0; i < m; i++){ 
    for (j = 0; j < n; j++){ 
      scanf("%d", &arr[i][j]); 
    } 
  } 
  if (t == 0){//左右翻转 
      for (i = 0; i < m; i++){ 
        for (j = n-1; j >= 0; j--){ 
          if ( j == 0 ) { 
            printf("%d", arr[i][j]); 
          } 
          else { 
            printf("%d ", arr[i][j]); 
          } 
        } 
        printf("\n"); 
      } 
  } 
  else if (t == 1){//上下翻转 
    for (i = m-1; i >= 0; i--){ 
      for (j = 0; j < n; j++){ 
        if ( j == n - 1 ) { 
          printf("%d", arr[i][j]); 
        } 
        else { 
          printf("%d ", arr[i][j]); 
        } 
      } 
      printf("\n"); 
    } 
  } 
} 
  
int main() 
{ 
  int m, n, t; 
  
  scanf("%d %d %d", &m, &n, &t); 
  matrix (m, n, t); 
  
  return 0; 
} 

 动态分配内存

void matrix (int m, int n, int t) 
{ 
  int i, j; 
  int **arr=(int**)malloc(m*sizeof(int*)); 
  for(i = 0; i < m; i++) 
  { 
    arr[i] = (int*)malloc(n * sizeof(int)); 
    for(j = 0; j < n;j++) 
    { 
      scanf("%d", &arr[i][j]); 
    } 
  } 
  /* 
  int **arr = new int*[m]; 
  for(i=0;i<m;i++) 
  { 
    arr[i] = new int[n]; 
    for(j=0;j<n;j++) 
    { 
      scanf("%d", &arr[i][j]); 
    } 
  } 
  */ 
  if (t == 0){//左右翻转 
      for (i = 0; i < m; i++){ 
        for (j = n-1; j >= 0; j--){ 
          if ( j == 0 ) { 
            printf("%d", arr[i][j]); 
          } 
          else { 
            printf("%d ", arr[i][j]); 
          } 
        } 
        printf("\n"); 
      } 
  } 
  else if (t == 1){//上下翻转 
    for (i = m-1; i >= 0; i--){ 
      for (j = 0; j < n; j++){ 
        if ( j == n - 1 ) { 
          printf("%d", arr[i][j]); 
        } 
        else { 
          printf("%d ", arr[i][j]); 
        } 
      } 
      printf("\n"); 
    } 
  } 
} 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

 类似资料:
  • 本文向大家介绍Android实现页面翻转和自动翻转功能,包括了Android实现页面翻转和自动翻转功能的使用技巧和注意事项,需要的朋友参考一下 1. 效果图,本功能用了ViewFlipper和GestureDetector (手势检测器)两个关键技术点: 2. 先写好布局文件,这里用到了ViewFlipper类,用于切换视图,毕竟ViewFlipper见得少,先介绍一下。 在xml布局中的方法介绍

  • 本文向大家介绍C++实现翻转单词顺序,包括了C++实现翻转单词顺序的使用技巧和注意事项,需要的朋友参考一下 题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如输入“I am a student.”,则输出“student. a am I”。 思路:首先将整个句子按字符翻转,然后再将其中每个单词的字符旋转。 再给

  • 本文向大家介绍Android ViewPager实现左右滑动翻页效果,包括了Android ViewPager实现左右滑动翻页效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了ViewPager实现左右滑动翻页效果展示的具体代码,供大家参考,具体内容如下 代码如下: 布局文件: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍python实现翻转棋游戏(othello),包括了python实现翻转棋游戏(othello)的使用技巧和注意事项,需要的朋友参考一下 利用上一篇的框架,再写了个翻转棋的程序,为了调试minimax算法,花了两天的时间。 几点改进说明: 拆分成四个文件:board.py,player.py,ai.py,othello.py。使得整个结构更清晰,更通用,更易于维护。 AI 的水平跟

  • 本文向大家介绍Python3 翻转二叉树的实现,包括了Python3 翻转二叉树的实现的使用技巧和注意事项,需要的朋友参考一下 提出问题:翻转一棵二叉树。(除根结点以外) 原始二叉树: 新二叉树: 解题思路:遇见二叉树先想到递归。从最下层的叶子结点开始置换左右子节点,一直置换到到最上层的根结点的左右节点为止。 代码如下( ̄▽ ̄): 时间与空间消耗: 问题来源:https://leetcode-cn

  • 本文向大家介绍Android实现3D翻转动画效果,包括了Android实现3D翻转动画效果的使用技巧和注意事项,需要的朋友参考一下 Android中并没有提供直接做3D翻转的动画,所以关于3D翻转的动画效果需要我们自己实现,那么我们首先来分析一下Animation 和 Transformation。 Animation动画的主要接口,其中主要定义了动画的一些属性比如开始时间,持续时间,是否重复播放