将一个5*5 矩阵中最大的放在中间,四个角分别放最小的数据,顺序分别是左右上下,通过函数完成。
2016-10-03 18:47
459 查看
#include <stdio.h>
void init_tab(int tab[][5])
{
int i, j;
for(i = 0; i < 5; i++)
{
for(j = 0; j < 5; j++)
tab[i][j] = i * 5 + j;
}
}
int dis_tab(int tab[][5])
{
int i, j;
for(i = 0; i < 5; i++)
{
for(j = 0; j < 5; j++)
tab[i][j] = i * 5 + j;
printf("tab[%d][%d] = %d\n",i, j, tab[i][j]);
}
putchar('\n');
}
void cpy_tab(int dst[25], int src[5][5])
{
int i, j;
for(i = 0; i < 5; i++)
{
for(j = 0; j < 5; j++)
{
*dst++ = src[i][j];
}
}
}
void dos_tab(int * tmp)
{
int i;
for(i = 0; i < 25; i++)
{
printf("tmp:[%d]\n", tmp[i]);
}
}
void sort_tab(int * tmp)
{
int i, j;
int tmp1;
for(i = 0; i < 25 - 1; i++)
{
for(j = i + 1; j < 25; j++)
{
if(tmp[i] > tmp[j])
{
tmp1 = tmp[i];
tmp[i] = tmp[j];
tmp[j] = tmp1;
}
}
}
}
void swap_tab(int * a, int *b)
{
int tmp;
tmp = *a;
*a = *b;
*b = tmp;
}
void deal_tab(int tab[][5])
{
int tmp[25];
int i , j;
cpy_tab(tmp, tab);
dis_tmp(tmp);
printf("***************\n");
sort tab(tmp);
dis_tmp(tmp);
printf("******************\n");
for(i = 0; i < 5; i++)
{
for(j = 0; j < 5; j++)
{
if(tab[i][j] == tmp[24])
{
swap_tab(&tab[i][j], &tab[i][j]);
}
if(tab[i][j] == tmp[0])
{
swap_tab(&tab[i][j], &tab[0][0]);
}
if(tab[i][j] == tmp[1])
{
swap_tab(&tab[i][j],&tab[0][4]);
}
}
}
}
int main()
{
int tab[5][5];
init_tab(tab);
dis_tab(tab);
cpy_tab(tab);
swap_tab(tab);
deal_tab(tab);
sort_tab(tab);
dos_tab(tab);
return 0;
}
void init_tab(int tab[][5])
{
int i, j;
for(i = 0; i < 5; i++)
{
for(j = 0; j < 5; j++)
tab[i][j] = i * 5 + j;
}
}
int dis_tab(int tab[][5])
{
int i, j;
for(i = 0; i < 5; i++)
{
for(j = 0; j < 5; j++)
tab[i][j] = i * 5 + j;
printf("tab[%d][%d] = %d\n",i, j, tab[i][j]);
}
putchar('\n');
}
void cpy_tab(int dst[25], int src[5][5])
{
int i, j;
for(i = 0; i < 5; i++)
{
for(j = 0; j < 5; j++)
{
*dst++ = src[i][j];
}
}
}
void dos_tab(int * tmp)
{
int i;
for(i = 0; i < 25; i++)
{
printf("tmp:[%d]\n", tmp[i]);
}
}
void sort_tab(int * tmp)
{
int i, j;
int tmp1;
for(i = 0; i < 25 - 1; i++)
{
for(j = i + 1; j < 25; j++)
{
if(tmp[i] > tmp[j])
{
tmp1 = tmp[i];
tmp[i] = tmp[j];
tmp[j] = tmp1;
}
}
}
}
void swap_tab(int * a, int *b)
{
int tmp;
tmp = *a;
*a = *b;
*b = tmp;
}
void deal_tab(int tab[][5])
{
int tmp[25];
int i , j;
cpy_tab(tmp, tab);
dis_tmp(tmp);
printf("***************\n");
sort tab(tmp);
dis_tmp(tmp);
printf("******************\n");
for(i = 0; i < 5; i++)
{
for(j = 0; j < 5; j++)
{
if(tab[i][j] == tmp[24])
{
swap_tab(&tab[i][j], &tab[i][j]);
}
if(tab[i][j] == tmp[0])
{
swap_tab(&tab[i][j], &tab[0][0]);
}
if(tab[i][j] == tmp[1])
{
swap_tab(&tab[i][j],&tab[0][4]);
}
}
}
}
int main()
{
int tab[5][5];
init_tab(tab);
dis_tab(tab);
cpy_tab(tab);
swap_tab(tab);
deal_tab(tab);
sort_tab(tab);
dos_tab(tab);
return 0;
}
相关文章推荐
- 将一个5*5的矩阵中最大的元素放在中心,四个角分别放四个最小的元素(顺序从左到右,从上到下顺序依次从小到大存放),写一个函数实现之。用main函数调用。
- 习题 8.10 将一个5*5的矩阵中最大的元素放在中心,4个角分别放4个最小的元素(顺序为从左到右,从上到下依次从小到大存放),写一函数实现之。用main函数调用。
- 将一个5*5的矩阵中最大的元素放在中心,4个角分别放4个最小的元素(顺序为从左到右,从上到下顺序依次从小到大存放),写一函数实现之。
- 8.10 将一个5X5的矩阵中最大的元素放在中心,4个角分别放4个最小的元素(顺序为从左到右,从上到下依次从小到大存放),写一函数实现之。用main函数调用。
- 将一个5*5的矩阵中最大的元素放在中心,四个角分别放四个最小的元素
- 将一个5*5的矩阵中最大的元素放在中心,4个角分别放4个最小的元素
- 将一个5*5的矩阵中最大的元素放在中心,4个角分别放在4个最小的元素
- 将一个5*5的矩阵中最大的元素放在中心,4个角分别放4个最小的元素(对比两个程序)
- C语言:将一个5x5的矩阵中最大的元素放在中心,4个角分别放4个最小的元素....
- R语言如何一次输出一组数据的最大值,最小值,平均值(如何一次完成多个函数)
- 设一个长度为10的整型数组, 0)要求每个元素的值通过scanf输入,输入完成后, 1)请顺序输出这些整数, 2)请倒序输出这些整数, 3)输出这些数中的最大值, 4)输出这些数中的最小值
- 【1】 设一个长度为10的整型数组,  0)要求每个元素的值通过scanf输入,输入完成后,  1)请顺序输出这些整数,  2)请倒序输出这些整数,  3)输出这些数中的最大值,最小值
- matlab premnmx归一化函数的使用 1、premnmx 预处理数据使数据的最小值和最大值分别为-1和1. [PN,minp,maxp,TN,mint,maxt] = premnmx(P,T)
- 第九周实验报告任务4 建立一个二维数组类Douary,使该类中有以下数据成员、成员函数及友员函数,完成矩阵的输入、输出、加、减、相等判断等操作。
- 实验9(1)程序填空:下列程序在数组中同时查找最大元素和最小元素的下标,分别存放在 main()函数的max 和 min 变量中。要求:根据运行结果分析程序和填空,并注释说明填充依据。
- 现在,有两个整数A和B,例如A是345,B是478,现在,需要把B插入到A里, 而A有三位,所以有四个位置选择,所得结果分别是: 478345, 347845, 344785, 345478 我们通过对比可以知道,在这当中最小的一个是344785
- 将一个5*5的矩阵中最大的元素放在…
- 5*5最大的元素放在中心,4个角分别最小的元素
- 实验9 指针1 1、程序填空:下列程序在数组中同时查找最大元素和最小元素的下标,分别存放在 main()函数的max 和 min 变量中。要求:根据运行结果分析程序和填空,并注释说明填充依据。
- c++第九周【任务4】建立一个二维数组类Douary,使该类中有以下数据成员、成员函数及友员函数,完成矩阵的输入、输出、加、减、相等判断等操作。