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

 更新时间:2017年05月18日 17:23:20   作者:NCITS  
这篇文章主要介绍了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"); 
    } 
  } 
} 

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

相关文章

  • C++中友元类和嵌套类使用详解

    C++中友元类和嵌套类使用详解

    友元是一种允许非类成员函数访问类的非公有成员的一种机制。可以把一个函数指定为类的友元,也可以把整个类指定为另一个类的友元,所谓嵌套类,就是在类中声明的类。如下代码中,类Inner就是一个嵌套类,类Outer是外围类
    2022-08-08
  • 基于C++中常见编译错误的总结详解

    基于C++中常见编译错误的总结详解

    本篇文章是对C++中的常见编译错误进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • 在Vitis IDE中如何使用第三方库 libtiff 保存 tiff 文件

    在Vitis IDE中如何使用第三方库 libtiff 保存 tiff 文件

    这篇文章主要介绍了在Vitis IDE中如何使用第三方库 libtiff 保存 tiff 文件,本文通过图文实例相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • 正确理解C++的构造函数和析构函数

    正确理解C++的构造函数和析构函数

    在C++的学习中,可以把类当作一个模具,类实例化出来的对象就是根据这个模具所产生的实体,对象看作是自己创建的一个新的数据类型。本文主要介绍了类对象通过拷贝函数进行初始化,分析类对象的内存模型,以及通过this指针实现更复杂的功能。最后介绍了析构函数的基础知识
    2021-06-06
  • C语言中的文件操作详解

    C语言中的文件操作详解

    这篇文章主要介绍了C语言中的文件操作详解,使用文件可以将数据直接存放到电脑的硬盘上,做到了数据的持久化
    2022-07-07
  • C语言程序设计第五版谭浩强课后答案(第二章答案)

    C语言程序设计第五版谭浩强课后答案(第二章答案)

    这篇文章主要介绍了C语言程序设计第五版谭浩强课后答案(第二章答案),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2021-04-04
  • C++智能指针shared_ptr与weak_ptr的实现分析

    C++智能指针shared_ptr与weak_ptr的实现分析

    shared_ptr是一个标准的共享所有权的智能指针,允许多个指针指向同一个对象,定义在 memory 文件中,命名空间为 std,这篇文章主要介绍了C++ 中 shared_ptr weak_ptr,需要的朋友可以参考下
    2022-09-09
  • 教你用c++从头开始实现决策树

    教你用c++从头开始实现决策树

    从头实现一个分类决策树分类器似乎是一个适当的挑战。这已经被证明是一个测试但有益的学习旅程,我想分享一些我在这个过程中的主要经验,对c++实现决策树相关知识感兴趣的朋友一起看看吧
    2021-05-05
  • C语言编程入门之程序头文件的简要解析

    C语言编程入门之程序头文件的简要解析

    这篇文章主要介绍了C语言编程入门之程序头文件的简要解析,包括头文件重复包含问题等方面的说明,需要的朋友可以参考下
    2015-12-12
  • C语言结构体指针案例解析

    C语言结构体指针案例解析

    这篇文章主要介绍了C语言结构体指针案例解析,本文通过例子来解释说明了C语言的结构体概念和如何用指针去操作结构体,文章标明了详细的代码,需要的朋友可以参考下
    2021-07-07

最新评论