二维数组,行累加与列累加同时进行

 1 #include <stdio.h>
 2 /*
 3 编写程序:读取6X5的整数数组,然后显示出每行的和与每列的和
 4 例:enter row 1: 8 3  9 0 10
 5     enter row 2: 3 5 17 1  1
 6     enter row 3: 2 8  6 23 1
 7     enter row 4:15 7  3  2 9
 8     enter row 5: 6 14 2  6 0
 9     enter row 6: 1 1  1  1 1
10
11 */
12
13 #define M 6
14 #define N 5
15 #define K 2
16 void get_row(int (*p)[N],int n);
17 void input_row_and_list_sum(int (*p)[N],int (*p1)[M],int n);
18 void input_row_sum(int (*p)[M],int n);
19 int main(void)
20 {
21     int arr[M][N];
22     int arr1[K][M] = {0};
23 //逐行的输入整数
24     get_row(arr,N);
25 //每行的和与每列的和存入arr1中
26     input_row_and_list_sum(arr,arr1,N);
27 //打印行的和与列的和
28     input_row_sum(arr1,M);
29
30     return 0;
31 }
32 void get_row(int (*p)[N],int n)
33 {
34     for(int i = 0;i<M;i++)
35     {
36         printf("enter row%d:",i+1);
37         for(int j = 0;j<n;j++)
38             scanf("%d",*(p+i)+j);
39     }
40     return ;
41 }
42
43 void input_row_and_list_sum(int (*p)[N],int (*p1)[M],int n)
44 {
45     for(int i = 0;i<M;i++)
46     {
47         for(int j = 0;j<n;j++)
48         {
49             p1[0][i] += *(*(p+i)+j);//行累计
50             p1[1][j] += *(*(p+i)+j);//列累计
51         }
52     }
53 }
54 void input_row_sum(int (*p)[M],int n)
55 {
56     int i,j;
57     printf("-------打印行的和与列的和-----------\n");
58     for(i = 0;i<K;i++)
59     {
60         for(j = 0;j<n;j++)
61         {
62             printf("%d\t",*(*(p+i)+j));
63         }
64         putchar(10);
65
66     }
67     return ;
68 }

原文地址:https://www.cnblogs.com/wangchaomahan/p/9507835.html

时间: 2024-10-08 19:07:18

二维数组,行累加与列累加同时进行的相关文章

php二维数组按照某一列排序的方法

/**  * 二维数组排序方法,数字的倒叙排列  * @param arr  * @param field  */ function sortArrByField(&$array, $field, $desc = false){ $fieldArr = array(); foreach ($array as $k => $v) { $fieldArr[$k] = $v[$field]; } $sort = $desc == false ? SORT_ASC : SORT_DESC; arra

JavaSE7基础 定义二维数组 不固定的列数 固定的行数

版本参数:jdk-7u72-windows-i586注意事项:博文内容仅供参考,不可用于其他用途. 代码 class Demo{ public static void main(String[] args){ //在初始化的时候,只是确定有多少行 int[][] myArr1=new int[3][];//三行不确定列 myArr1[0]=new int[]{1,2,3,4,5}; myArr1[1]=new int[]{1,2,3}; myArr1[2]=new int[]{1,2,3,6,7

php二维数组对某一列进行数据组装

demo示例: 1 $data = array( 2 '0' => array('id' => 10, 'username' => '陈一'), 3 '1' => array('id' => 11, 'username' => '洪二'), 4 '2' => array('id' => 12, 'username' => '张三'), 5 '3' => array('id' => 13, 'username' => '李四') 6 )

模拟水题,查看二维数组是否有一列都为1(POJ2864)

题目链接:http://poj.org/problem?id=2864 题意:参照题目 哈哈哈,这个题discuss有翻译哦.水到我不想交了. #include <cstdio> #include <cstdlib> #include <cstring> int arr[510][110]; int main(void) { int r, c; int i, j; int flag; while(scanf("%d%d", &c, &

二维数组的列排序

给出一个二维数组,请将这个二维数组按第i列(i从1开始)排序,如果第i列相同,则对相同的行按第i+1列的元素排序,如果第i+1列的元素也相同,则继续比较第i+2列,以此类推,直到最后一列.如果第i列到最后一列都相同,则按原序排列. 实现以下接口: 输入一个m*n 的整数数组,实现按规则排列,返回排列后的数组. 调用者会保证: 比如输入数组为: 1,2,3 2,3,4 2,3,1 1,3,1 按第二列排序: 输出: 1,2,3 2,3,1 1,3,1 2,3,4 分析:从最后一列开始使用稳定的排序

PHP方便快捷的将二维数组中元素的某一列值抽离出来作为此二维数组内元素的key

得益于PHP的强大的内置数组函数array_column();array_combine(); 举个小栗子: <?php // 先查询出用户的基本信息 $userArray = [['id' => 'zs', 'name' => '张三'], ['id' => 'ls', 'name' => '李四'], ['id' => 'wr', 'name' => '王二']]; // 将二维数组内某具体列的值组成一个新用户数组 $userArrayNew = array_

C++_二维数组作为函数参数的使用方法

二维数组作为函数参数的使用方法 /*01)恒等式:ar2[r][c] == *(*(ar2+r)+c)03) ar2+r指向编号为r的元素,该元素由c个int型(或其他类型)数组成,编号从0开始02)int a[100][4]; ....   int total = sum(a,100); //在主函数中调用sum()函数,使用二维数组中的全部的数据   int total = sum(a,10); //在主函数中调用sum()函数,使用二维数组中的前十行数据   int total = sum

每日一题10:在排序的二维数组中查找

排序的二维数组是这样的:在每一行中元素是递增的,在每一列中元素也是递增的,比如: 11 34 35 47 51 13 37 40 52 61 19 42 50 79 80 给定一个值,判断其是否在这样排序的二维数组中. 首先,先来生成测试数据,思路如下:1)先选择一种将给定输入按升序排列.2)构造一个二维数组,寻找该数组中以第一个元素为起点,确定一个最大的正方形区域(其宽要么与原数组的行或与原数组的列数相同).3)按规则,在这个正方形中,每个对角线元素都不小于从数组起点到这个元素所构成的正方形区

perl二维数组

[转载]出处:http://www.cnblogs.com/visayafan/ 1 数组与引用 2 声明的区别 3 访问的区别 4 添加行元素 5 添加列元素 6 访问与打印 6.1 运算符优先级 6.2 访问一个 6.3 遍历 7 切片 1 数组与引用 此处引用相当于C中的指针.二维数组第一列不存储具体元素而是存储指向该行一维数组的引用. 2 声明的区别 数组用如下形式声明:数组名前加@,之后用(). my @AoA = ( [ "fred", "barney"

二维数组名作为实参或者形参

    1.方式1.void fun(int a[4][6]); //二维数据作为函数参数时,要明确指明二维数组的列数.         void fun(int a[][6])    //二维数组行数可以省略         另外,不能用非常量定义二维数组作为其下标.     */ void fun1(int a[][3],int n){//数组的行数    for (int i = 0; i < n; i++) {        for (int j = 0; j < 3; j++) {