C++程序设计实践指导1.2二维数组的操作运算改写要求实现
改写要求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二维数组的操作运算改写要求实现的更多相关文章
- C++程序设计实践指导1.10二维数组元素换位改写要求实现
改写要求1:改写为以单链表和双向链表存储二维数组 改写要求2:添加函数SingleLinkProcess()实现互换单链表中最大结点和头结点位置,最小结点和尾结点位置 改写要求3:添加函数Double ...
- C++使用VARIANT实现二维数组的操作
C++使用VARIANT实现二维数组的操作 VARIANT变量是COM组件之间互相通信的重要的参数变量之一,它可以容纳多种不同的类型,如short.long.double等,包括各类指针和数组.组件之 ...
- C++ 出现bug :二位数组的操作运算,求非对角线的元素的和
编写一个通用程序,求出二位数组(行数和列数必须相等)的非对角线的元素之和,试建立类MATRIX完成上述功能 #include<iostream> using namespace std; ...
- C++程序设计实践指导1.1删除序列中相同的数改写要求实现
改写要求1:改写为以指针为数据结构 #include <iostream> #include <cstdlib> using namespace std; class ARP ...
- C++程序设计实践指导1.7超长数列中n个数排序改写要求实现
改写要求1:将以上程序改写为适合超长整数 改写要求2:将以上程序改写为适合超长数列 改写要求3:将数列中指定位置m开始的n个结点重新按降序排序 改写要求4:输出指定位置m开始的n个结点的超长整数 #i ...
- C++程序设计实践指导1.5求两个整数集合并集改写要求实现
改写要求1:改写为单链表结构可以对任意长度整数集合求并集 #include <cstdlib> #include <iostream> using namespace std; ...
- nRF51800 蓝牙学习 进程记录 2:关于二维数组 执念执战
前天在玩OLED时想完成一直想弄得一个东西,就是简单的单片机游戏.因为STM32和nRF51822的内存足够,所以就用缓存数组的方法来显示图像(我也不知道术语是啥,反正就是在内存中建立一个128X64 ...
- numpy数组(4)-二维数组
python创建二维 list 的方法是在 list 里存放 list : l = [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]] numpy可以直接 ...
- 对二维数组使用指针进行操作的探索(C语言)
/* Name: 对二维数组使用指针进行操作的探索 Copyright: Author: lingr7 Date: 01/12/18 11:55 Description: */ #include< ...
随机推荐
- 写一个Windows上的守护进程(4)日志其余
写一个Windows上的守护进程(4)日志其余 这次把和日志相关的其他东西一并说了. 一.vaformat C++日志接口通常有两种形式:流输入形式,printf形式. 我采用printf形式,因为流 ...
- 使用URLConnection获取网页信息的基本流程
参考自core java v2, chapter3 Networking. 注:URLConnection的子类HttpURLConnection被广泛用于Android网络客户端编程,它与apach ...
- 10 个十分难得的 javascript 开发经验
Javascript 的很多扩展的特性是的它变得更加的犀利, 同时也给予程序员机会创建更漂亮并且更让用户喜欢的网站. 尽管很多的开发人员都乐于颂扬 javascript,但是仍旧有人看到它的阴暗面. ...
- python快速搭建WebServer
#!/usr/bin/python import SimpleHTTPServer import SocketServer import os PORT = 7777 WEBDIR = "/ ...
- wordpress教程之函数site_url()、home_url()、bloginfo(‘url’)的区别
在wordpress插件和主题开发中经常需要获取各种URL路径,wordpress提供了以下集中方法获得URL路径: plugins_url() — 插件目录的 URL (例如:http://www. ...
- Planner – 项目管理软件
http://www.appinn.com/planner/ Planner 是一款开源.易用.跨平台的项目管理软件.@appinn 二猪用了 OpenProject 几年,现在已经受够了它的各种 ...
- C 语言---漂亮的宏定义
写好C 语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性等等.下面列举一些成熟软件中常用得宏定义. 1.防止一个头文件被重复包含 #ifndef COMDEF_H #de ...
- Unix/Linux环境C编程入门教程(31) 数学函数带你战胜企业面试
1.函数介绍: abs()acos()asin()atan()atan2()ceil()cos()cosh()exp()frexp()ldexp()log()log10()pow()sin()sinh ...
- 百度地图LV1.5实践项目开发工具类bmap.util.jsV1.1
/** * 百度地图使用工具类-v1.5 * * @author boonya * @date 2013-7-7 * @address Chengdu,Sichuan,China * @email b ...
- poj1724
ROADS Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 10804 Accepted: 3976 Descriptio ...