1. 程式人生 > >陣列章節總結

陣列章節總結

                          陣列

一、知識點:

陣列:是一組具有相同型別的變數的組合。可用於儲存大量同類型的相關資料。也指按順序排列的一組同種型別的資料所構成的集合。一個數組在記憶體中佔一片連續的儲存空間。陣列名不僅表示名稱。而且還表示首地址。注意:陣列下標從零開始。

一維陣列的定義初始化:陣列定義後的初值仍是隨機數,一般需我們來初始化。下標越界是大忌。

二維陣列:指的是一維陣列元素的型別也是一維陣列時的情況。

對於字元陣列和字串型別:同一維陣列和二維陣列,不過要注意字元要用單引號引起來。字串要以反斜槓零結束。

二、補充:

①memset(a,0,sizeof(a))的作用是將陣列清零

②定義全域性陣列

③bool型別 可節省空間,只包含“兩面”

④預處理

三、題目總結:

        自己的亮點

⑴#include<iostream>

#include<algorithm>

using namespace std;

int a[1010];

int main()

{

 int n,i,j,k,m;

 cin>>n;

    for(i=0;i<n;i++)

 {cin>>a[i];}

 sort(a,a+n);

 m=0;

    for(i=0;i<n-2;i++)

  { for(j=i+1;j<n-1;j++)

   { for(k=j+1;k<n;k++)

 { if(a[k]==a[i]*a[j])

  {m+=1;}

 }

   }

  }

 

    cout<<m;

}

⑵#include<iostream>

using namespace std;

bool a[10001];

int main()

{

   int i,j,L,M,B,E,t;

   cin>>L>>M;

  for(j=0;j<=L;j++)

    a[j]=1;

   for(i=0;i<M;i++)

   {cin>>B>>E;

 for(j=B;j<=E;j++)

 a[j]=0;

 }t=0;

    for(j=0;j<=L;j++)

 {if(a[j]!=0)

  t+=1;

     }

  cout<<t<<endl;return 0;

  }

⑶#include<iostream>

#include<algorithm>

#include<math.h>

using namespace std;

int a[3001],b[3001];

int main()

{

 int n,i,s;

 cin>>n;

 if(n==1)

 cout<<"Jolly";

 else

{ for(i=0;i<n;i++)

 {cin>>a[i];}

 for(i=0;i<n-1;i++)

 {b[i]=fabs(a[i]-a[i+1]);}

  sort(b,b+n-1);

   s=0;

 for(i=0;i<n-2;i++)

{ while(b[i+1]-b[i]==1)

 { s+=1;break;}

} if(s==n-2)

  cout<<"Jolly"<<endl;

  else

  cout<<"Not jolly"<<endl;

}  

  return 0;

  }

需注意的

⑴#include<iostream>

using namespace std;

int main()

{

    int i,j,k,b,c,a[101][101],max,min;

    for(i=1;i<=5;i++)

    {for(j=1;j<=5;j++)

  {cin>>a[i][j];}

    }

 for(i=1;i<=5;i++)

{ max=a[i][1];b=1;

   for(j=1;j<=5;j++)

   {if(max<=a[i][j])

   {max=a[i][j];b=j;}

   }

   min=max;

   for(k=1;k<=5;k++)

   {if(min>=a[k][b])

   {min=a[k][b];c=k;}

   }if(max==min)

   {cout<<c<<" "<<b<<" "<<min<<endl;break;}

}  

 if(max!=min)

 cout<<"not found";}

⑵#include<iostream>

using namespace std;

int main()

{

 int i,j,t,n,m;

 char c[101][101]={'*','?'};

 cin>>n>>m;

 for(i=0;i<n;i++)

 {for(j=0;j<m;j++)

  {cin>>c[i][j];}

 }

 for(i=0;i<n;i++)

 {for(j=0;j<m;j++)

  {if(c[i][j]=='*')

  { cout<<"*";}

   else if(c[i][j]=='?')

   { t=0;

   if(c[i][j-1]=='*')t++;

   if(c[i][j+1]=='*')t++;

   if(c[i+1][j]=='*')t++;

   if(c[i-1][j]=='*')t++;

   if(c[i+1][j+1]=='*')t++;

   if(c[i-1][j-1]=='*')t++;

   if(c[i-1][j+1]=='*')t++;

   if(c[i+1][j-1]=='*')t++;

   cout<<t;}}cout<<endl;}

}