数组(C++)

数组:
1).定义时:不能用变量定义数组的维数
          不能用函数调用,不是常量表达式不能用来定义数组维数

2).不允许数组直接复制和赋值:(error:ia1=ia2);

3).数组的复制和输出
#include "stdafx.h"
#include <iostream>
using namespace std;

int main()
{
 const size_t array_size=10;
 int ia[array_size];  //10 ints,elements are

uninitialied

 //loop through array,assigning value of its index to each

element
 for(size_t ix=0;ix!=array_size;++ix)
 {
  ia[ix]=ix;
  cout<<ia[ix]<<" ";
 }
 cout<<endl;

 const size_t array_size1=7;
 int ia1[]={0,1,2,3,4,5,6};
 int ia2[array_size1];  //local array,elements

uninitialized

 //copy elements from ia1 into ia2
 for(size_t ix1=0;ix1!=array_size1;++ix1)
 {
  ia2[ix1]=ia1[ix1];
  cout<<ia2[ix1]<<" ";
 }
 return 0;
}

4).让用户输入10个数到一个数组中 并逆序输出,然后赋给另外一个数组 并一

次输出
#include "stdafx.h"
#include <iostream>
using namespace std;

int main()
{
 cout<<"Please Enter Arrays: "<<endl;
 const size_t array_size=10;
 int array[array_size];
 int ival,ix=0;
 //read input
 while(cin>>ival)
 {
  array[ix]=ival;
  ++ix;
 }

 //reverse the value of array,then output
 for(size_t iy=array_size-1;iy!=-1;iy--)
 {
  cout<<array[iy]<<" ";
 }
 
 cout<<endl;

 //assign the array[array_size] to another
 int ia[array_size];
 //copy elements from array into ia
 for(size_t index=0;index!=array_size;++index)
 {
  ia[index]=array[index];
  cout<<ia[index]<<" ";
 }

 cout<<endl;

 return 0;
}

5).让用户创建一个vector并赋值给另一个vector且输出
#include "stdafx.h"
#include <iostream>
#include <string>
#include <vector>
using namespace std;

int main()
{
 cout<<"Pleas Enter numbers(Ctrl+Z to end): "<<endl;
 vector<int> ivec;
 int ival;
 while(cin>>ival)
  ivec.push_back(ival);
 if(ivec.size()==0)
 {
  cout<<"No Elements?! "
   <<endl;
  return -1;
 }

 vector<int> ivec1;
 for(vector<int>::iterator iter=ivec.begin();iter!=ivec.end

();++iter)
 {
  ivec1.push_back(*iter);
 }
 cout<<endl;

 for(vector<int>::iterator iter1=ivec1.begin();iter1!

=ivec1.end();++iter1)
 {
  cout<<*iter1<<" ";
 }
 cout<<endl;


 return 0;
}

6).判断两个数组是否相等
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;

int main()
{
 const size_t array_size=5;
 int ia1[array_size],ia2[array_size];
 size_t ix=0;

 //读入两个数组的元素值
 cout<<"Please Enter"<<array_size<<"numbers for array1:

"<<endl;
 for(ix=0;ix!=array_size;++ix)
  cin>>ia1[ix];
 cout<<endl;

 cout<<"Please Enter"<<array_size<<"numbers for array2:

"<<endl;
 for(ix=0;ix!=array_size;++ix)
  cin>>ia2[ix];
 cout<<endl;

 //判断两个数组是否相等
 for(ix=0;ix!=array_size;++ix)
  if(ia1[ix]!=ia2[ix])
  {
   cout<<"array1 is not equal to array2"<<endl;
   return 0;
  }
 cout<<"array1 is equal to array2"<<endl;

 return 0;
}

7).一个有10个int型元素的数组,并以其在数组中的位置作为各元素的初值且输


#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;

int main()
{
 const size_t array_size=10;
 int ia[array_size];
 size_t ix;
 for(ix=0;ix!=array_size;++ix)
 {
  ia[ix]=ix+1;
  cout<<ia[ix]<<" ";
 }
 cout<<endl;

 return 0;
}

8).判断两个vector是否相等
#include "stdafx.h"
#include <iostream>
#include <vector>
using namespace std;

int main()
{
 vector<int> ivec1,ivec2;
 int ival;
 //读入两个vector的元素值
 cout<<"Enter numbers for vector1(0 to end): "<<endl;
 cin>>ival;
 while(ival!=0)
 {
  ivec1.push_back(ival);
  cin>>ival;
 }

 cout<<"Enter numbers for vector2(0 to end): "<<endl;
 cin>>ival;
 while(ival!=0)
 {
  ivec2.push_back(ival);
  cin>>ival;
 }

 //判断两个vector是否相等
 if(ivec1.size()!=ivec2.size())
  cout<<"Vector1 is not equal to vector2"<<endl;
 else if(ivec1.size()==0)
  cout<<"Vector1 is equal to vector2"<<endl;
 else {
  //两个vector长度相等且不为0
  vector<int>::iterator iter1,iter2;
  iter1=ivec1.begin(),iter2=ivec2.begin();
  while(*iter1==*iter2&&iter1!=ivec1.end()&&iter2!=ivec2.end())
  {
   ++iter1;
   ++iter2;
  }
  if(iter1==ivec1.end()) //所有元素都相等
   cout<<"Vector1 is equal to vector2"<<endl;
  else
   cout<<"Vector1 is not equal to vector2"<<endl;
 }

 return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值