改写要求1:改写为以单链表表示二维数组

#include <cstdlib>
#include <iostream> using namespace std;
struct LinkNode
{
int Row;
int Column;
int Data;
LinkNode *next;
};
class MATRIX
{
int m;
int sum; public:
struct LinkNode* creat(int x[][40],int k)
{
m=k;
LinkNode *pHead = new LinkNode;
pHead->next = NULL;
LinkNode* p = pHead;
for(int i=0;i<k;i++)
for(int j=0;j<k;j++)
{
LinkNode* pNewNode = new LinkNode;
pNewNode->Row = i;
pNewNode->Column = j;
pNewNode->Data = x[i][j];
pNewNode->next = NULL;
p->next = pNewNode;
p = pNewNode;
}
sum=0;
return pHead;
} void process(LinkNode* pHead);
void show(LinkNode* pHead)
{
int i=0;
LinkNode* p = pHead;
p=p->next;
while(p)
{
cout<<p->Data<<"\t";
p=p->next;
i++;
if(i%4==0)
cout<<endl;
}
cout<<"sum="<<sum<<endl;
}
};
void MATRIX::process(LinkNode* pHead)
{
LinkNode* p = pHead;
p=p->next;
while(p)
{
if((p->Row==p->Column)||(p->Row+p->Column==m-1))
continue;
sum+=p->Data;
}
}
int main(int argc, char *argv[])
{
int b[40][40]={{1,1,1,1},{1,2,2,1},{1,2,2,1},{1,1,1,1}};
LinkNode *pHead=new LinkNode;
MATRIX mtx;
pHead=mtx.creat(b,4);
mtx.process(pHead);
mtx.show(pHead);
system("PAUSE");
return EXIT_SUCCESS;
}

  

C++程序设计实践指导1.2二维数组的操作运算改写要求实现的更多相关文章

  1. C++程序设计实践指导1.10二维数组元素换位改写要求实现

    改写要求1:改写为以单链表和双向链表存储二维数组 改写要求2:添加函数SingleLinkProcess()实现互换单链表中最大结点和头结点位置,最小结点和尾结点位置 改写要求3:添加函数Double ...

  2. C++使用VARIANT实现二维数组的操作

    C++使用VARIANT实现二维数组的操作 VARIANT变量是COM组件之间互相通信的重要的参数变量之一,它可以容纳多种不同的类型,如short.long.double等,包括各类指针和数组.组件之 ...

  3. C++ 出现bug :二位数组的操作运算,求非对角线的元素的和

    编写一个通用程序,求出二位数组(行数和列数必须相等)的非对角线的元素之和,试建立类MATRIX完成上述功能 #include<iostream> using namespace std; ...

  4. C++程序设计实践指导1.1删除序列中相同的数改写要求实现

    改写要求1:改写为以指针为数据结构 #include <iostream> #include <cstdlib> using namespace std; class ARP ...

  5. C++程序设计实践指导1.7超长数列中n个数排序改写要求实现

    改写要求1:将以上程序改写为适合超长整数 改写要求2:将以上程序改写为适合超长数列 改写要求3:将数列中指定位置m开始的n个结点重新按降序排序 改写要求4:输出指定位置m开始的n个结点的超长整数 #i ...

  6. C++程序设计实践指导1.5求两个整数集合并集改写要求实现

    改写要求1:改写为单链表结构可以对任意长度整数集合求并集 #include <cstdlib> #include <iostream> using namespace std; ...

  7. nRF51800 蓝牙学习 进程记录 2:关于二维数组 执念执战

    前天在玩OLED时想完成一直想弄得一个东西,就是简单的单片机游戏.因为STM32和nRF51822的内存足够,所以就用缓存数组的方法来显示图像(我也不知道术语是啥,反正就是在内存中建立一个128X64 ...

  8. numpy数组(4)-二维数组

    python创建二维 list 的方法是在 list 里存放 list : l = [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]] numpy可以直接 ...

  9. 对二维数组使用指针进行操作的探索(C语言)

    /* Name: 对二维数组使用指针进行操作的探索 Copyright: Author: lingr7 Date: 01/12/18 11:55 Description: */ #include< ...

随机推荐

  1. jQuery对checkbox的各种操作

    //注意: 操作checkbox的checked,disabled属性时jquery1.6以前版本用attr,1.6以上(包含)建议用prop //1.根据id获取checkbox $("# ...

  2. 提高MySQL数据库查询效率的几个技巧(转载)

    [size=5][color=Red]提高MySQL数据库查询效率的几个技巧(转)[/color][/size]      MySQL由于它本身的小巧和操作的高效, 在数据库应用中越来越多的被采用.我 ...

  3. [转]MySQL 5.6 全局事务 ID(GTID)实现原理(三)

    原文连接:http://qing.blog.sina.com.cn/1757661907/68c3cad333002s5l.html 原文作者:淘长源 转载注明以上信息 这是 MySQL 5.6 全局 ...

  4. project euler 19: Counting Sundays

    import datetime count = 0 for y in range(1901,2001): for m in range(1,13): if datetime.datetime(y,m, ...

  5. linux系统文件夹的作用 good

    /bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 如:环境变量 /etc/rc.d 启动的配置文件和脚本 /home用户主目录的基点,比如用户user的主目录就是/ho ...

  6. Android实现自适应正方形GridView

    Android实现自适应正方形GridView  

  7. C语言调用库函数实现生产者消费者问题

    #include<stdio.h> #include<stdlib.h> #include<semaphore.h> #include<pthread.h&g ...

  8. Clock network

    https://en.wikipedia.org/wiki/Clock_network

  9. 用JSmooth制作java jar文件的可运行exe文件教程【图文】

    这是我之前在个人博客3yj上面写的一篇文章,如今转载过来,原文地址 (这不是广告哦) 几年前,刚接触java的是,就想用一些方法把自己的劳动果实保护起来,曾经也用过非常多这种工具,有一个特别好用,今天 ...

  10. LoadRunner如何开展性能测试

    最近一直想理清思路,特别是碰到一些业务复杂的项目,要求做性能测试,结果一时就不知道怎么下手了.因为之前面试的时候,也碰到很多面试官对性能测试知识方面的提问,面试多了,就有经验,现在写下来,脑子不会乱, ...