Home Web Board ProblemSet Standing Status Statistics
 

Problem H: 整型数组运算符重载

Problem H: 整型数组运算符重载

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 643  Solved: 401
[Submit][Status][Web Board]

Description

定义Array类:

1.拥有数据成员int length和int *mems,分别是数组中元素的个数和元素列表。

2. 无参构造函数,将mems设置为NULL,length为0。

3. 重载==运算符,用于判断两个Array对象是否相等。相等包括两种情况:(1)两个对象是同一个对象,即它们拥有相同的地址(记住: this指针指向当前对象,是当前对象的地址);(2)两个对象的length相同,且mems中对应元素的值相同。其他情况均为不相等。

4. 利用友元函数重载<<和>>运算符。输入、输出格式见下。

Input

输入分多行。

第一行是一个正整数M,表示有M个数组。

每个数组是一行,其中第一个非负整数N表示该数组的元素个数,之后有N个整数。

Output

输出有M行。

第一行输出即为第一个数组。

自第二行开始,首先输出对应的数组元素(两两之间用空格隔开,首尾不能有空格),如果数组为空,则不输出元素。之后根据这个数组与上个数组是否相同,输出“unequal to above.”(不相等)和“equal to above”(相等)。

Sample Input

5
3 1 2 3
3 1 2 3
0
7 1 2 3 4 5 6 7
7 1 2 3 4 5 6 8

Sample Output

1 2 3
1 2 3 equal to above.
unequal to above.
1 2 3 4 5 6 7 unequal to above.
1 2 3 4 5 6 8 unequal to above.

HINT

 

Append Code

[Submit][Status][Web Board]

#include<iostream>
#include<cmath>
#define dd delete
using namespace std;
class Array{
public:
int length;
int *mems;
Array():length(),mems(NULL){}
int operator==(Array &a)
{
int i;
for(i=;i<length;i++)
{
if(mems[i]!=a.mems[i])
break;
}
if(this==&a)
return ;
else if(a.length==length&&length==i)
return ;
else
return ;
}
~Array(){if(mems!=NULL) dd []mems;}
friend istream &operator>>(istream &is,Array &a);
friend ostream &operator<<(ostream &os,Array &a); };
istream &operator>>(istream &is,Array &a)
{
is>>a.length;
a.mems = new int[a.length];
for(int i=;i<a.length;i++){
is>>a.mems[i];
}
return is;
}
ostream &operator<<(ostream &os,Array &a)
{
for(int i=;i<a.length;i++)
if(i!=a.length-)
os<<a.mems[i]<<" ";
else
os<<a.mems[i];
return os;
}
int main()
{
int cases;
cin>>cases;
Array arraies[cases];
for (int i = ; i < cases; i++)
{
cin>>arraies[i];
}
cout<<arraies[]<<endl;
for (int i = ; i < cases; i++)
{
if (arraies[i] == arraies[i - ])
{
cout<<arraies[i]<<" "<<"equal to above."<<endl;
}
else
{
cout<<arraies[i]<<" "<<"unequal to above."<<endl;
}
}
return ;
}

实验12:Problem H: 整型数组运算符重载的更多相关文章

  1. Android jni 编程3(对基本类型一维整型数组的操作)总结版

    主要学习资料:黑马程序员的NDK方法使用(生产类库so)              jni编程指南中文版(已上传至博客园) 博主文章(它使用的是VS和eclipse联合开发):http://www.c ...

  2. c# 计算一个整型数组的平均

    一个整型数组的平均: class Program { static void Main(string[] args) { ,,,,,,,,,}; double avg= GetAvg(array); ...

  3. Java整型数组的最大长度到底有多长?

    Java整型数组的最大长度到底有多长? 今天上网查了一下,各种说法都有,这个问题似乎总困扰我们Java初学者,无奈,只好自己试了一下,以下是我的测试代码,如果有错误,还望不吝赐教! 使用eclipse ...

  4. Android jni 编程4(对基本类型二维整型数组的操作)

    Android jni 编程 对于整型二维数组操作: 类型一:传入二维整型数组,返回一个整型值 类型二:传入二维整型数组,返回一个二维整型数组 声明方法: private native int Sum ...

  5. Android jni 编程2(对基本类型一维整型数组的操作)

    参考教程和这位博主的对一维数组的处理,主要包括以下三种类型: //传入一维数组,无返回值 public native void arrayEncode(int[] arr); //传一个一维数组和数组 ...

  6. 剑指offer40:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字

    1 题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 2 思路和方法 (1)异或:除了有两个数字只出现了一次,其他数字都出现了两次.异或运算中,任 ...

  7. 057 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 04 案例:求整型数组的数组元素的元素值累加和

    057 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 04 案例:求整型数组的数组元素的元素值累加和 本文知识点:求整型数组的数组元素的元素值累加和 案例:求整型数 ...

  8. js获取整型数组最大值、最小值、平均值

    ---恢复内容开始--- let values = [];//数组(整型数字) //获取数组最大值function arrMaxNum(arr){ var maxNum = null; for (va ...

  9. 整型数组处理算法(八)插入(+、-、空格)完成的等式:1 2 3 4 5 6 7 8 9=N[华为面试题]

    有一个未完成的等式:1 2 3 4 5 6 7 8 9=N 当给出整数N的具体值后,请你在2,3,4,5,6,7,8,9这8个数字的每一个前面,或插入运算符号“+”,或插入一个运算符号“-”,或不插入 ...

随机推荐

  1. 解析Javascript中大括号“{}”的多义性

    JS中大括号有四种语义作用 语义1,组织复合语句,这是最常见的 复制代码 代码如下: if( condition ) {   //... }else {   //... } for() {   //. ...

  2. div 等高

    padding-bottom: 5000px; margin-bottom: -5000px;

  3. Flex Error #2156问题

    出现这个问题是因为应用程序使用了特殊端口,修改端口就可以解决. 特殊端口列表 A security change has been made in Adobe Flash Player 9.0.115 ...

  4. 2014 网选 上海赛区 hdu 5047 Sawtooth

    题意:求n个'M'型的折线将一个平面分成的最多的面数! 思路:我们都知道n条直线将一个平面分成的最多平面数是 An = An-1 + n+1 也就是f(n) = (n*n + n +2)/2 对于一个 ...

  5. iOS-上拉刷新,下拉加载-----------详解

    一.使用的第三方库 1.AFNetworking       ----> 网络请求 2. MJRefresh           ----> 刷新 3. MBProgressHUD  -- ...

  6. js获取html5 audio 音频时长方法

    <audio src="我的好兄弟.mp3" controls="controls"  id="audio" style=" ...

  7. jquery获取url参数

    js/jquery 获取url参数 2010年04月27日 星期二 13:45 js代码: function GetQueryString(name) { var reg = new RegExp(& ...

  8. CSS魔法堂:盒子模型简介

    本文讨论的是块级盒子(Block-level box)的盒子模型(Box Model) 一.W3C标准的盒子模型   二.IE盒子模型 三.两种模型的区别 W3C标准盒子模型: 外盒模型 元素空间宽度 ...

  9. Linux内核分析课程笔记(一)

    linux内核分析课程笔记(一) 冯诺依曼体系结构 冯诺依曼体系结构实际上就是存储程序计算机. 从两个层面来讲: 从硬件的角度来看,冯诺依曼体系结构逻辑上可以抽象成CPU和内存,通过总线相连.CPU上 ...

  10. ASP.NET MVC中错误日志信息记录

    MVC中有一个处理异常的过滤器 HandleErrorAttribute 1.新建一个类继承自 HandleErrorAttribute,然后重写OnException这个方法 public clas ...