⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 数组.txt

📁 钱能主编 C++程序设计教程(第一版) 该书习题的答案代码
💻 TXT
字号:
//*************************
//**      ch7_2.cpp      **
//*************************

#include <iostream.h>

int array1[5]={1,2,3};
static int array2[5]={1};

void main()
{
	int arr1[5]={2};
	static int arr2[5]={1,2};

	int n;
	cout<<"global:"<<endl;
	for(n=0;n<5;n++)
		cout<<"  "<<array1[n];

	cout<<endl<<"global static:"<<endl;
	for(n=0;n<5;n++)
		cout<<"  "<<array2[n];

	cout<<endl<<"local:"<<endl;
	for(n=0;n<5;n++)
		cout<<" "<<arr1[n];

	cout<<endl<<"local static:"<<endl;
	for(n=0;n<5;n++)
		cout<<" "<<arr2[n];
	cout<<endl;
}

//*************************
//**      ch7_5.cpp      **
//*************************

#include <iostream.h>

int sum(int [],int);

void main()
{
	static int ia[5]={2,3,6,9,10};
	int sumOfArray;
	sumOfArray=sum(ia,5);
	cout<<"sum of array: "<<sumOfArray<<endl;
}

int sum(int array[],int len) 
{
	int iSum=0;
	for(int i=0;i<len;i++)
		iSum+=array[i];
	return iSum;
}


//*************************
//**      ch7_7.cpp      **
//*************************

#include <iostream.h>

int maximum(int[][4],int,int);

void main()
{
	int sg[3][4]={{68,77,73,86},{87,96,78,89},{90,70,81,86}};
	
	cout<<"the max grade is "<<maximum(sg,3,4)<<endl;
}

int maximum(int grade[][4],int pupils,int tests)
{
	int max=0;
	for(int i=0;i<pupils;i++)
		for(int j=0;j<tests;j++)
			if(grade[i][j]>max)
				max=grade[i][j];
	return max;
}


//*************************
//**      ch7_8.cpp      **
//*************************

#include <iostream.h>

int maximum(int[],int);

void main()
{
	int sg[3][4]={{68,77,73,86},{87,96,78,89},{90,70,81,86}};
	
	cout<<"the max grade is "<<maximum(&sg[0][0],3*4)<<endl;
}

int maximum(int grade[],int num)
{
	int max=0;
	for(int i=0;i<num;i++)
			if(grade[i]>max)
				max=grade[i];
	return max;
}


//*************************
//**      ch7_9.cpp      **
//*************************

#include <iostream.h>

void bubble(int[],int);

void main()
{
	int array[]={4,5,8,9,1,98,7,3,2,6};

	int len=sizeof(array)/sizeof(int);
	for(int i=0;i<len;i++)
		cout<<array[i]<<",";

	cout<<endl<<endl;

	bubble(array,len);
}

void bubble(int a[],int size)
{
	int i,tmp;

	for(int pass=1;pass<size;pass++)
	{
		for(i=0;i<size-pass;i++)
		{
			if(a[i]>a[i+1])
			{
				tmp=a[i];
				a[i]=a[i+1];
				a[i+1]=tmp;
			}
		}

		for(i=0;i<size;i++)
			cout<<a[i]<<",";
		cout<<endl;
	}
}


//**************************
//**      ch7_10.cpp      **
//**************************

#include <iostream.h>

void isort(int a[],int);

void main()
{
	int array[10]={55,2,6,4,32,12,9,73,26,37};

	int len=sizeof(array)/sizeof(int);
	for(int i=0;i<len;i++)
		cout<<array[i]<<",";

	cout<<endl<<endl;

	isort(array,len);
}

void isort(int a[],int size)
{
	int inserter,index;

	for(int i=1;i<size;i++)
	{
		inserter=a[i];
		index=i-1;
		while(index>=0 && inserter<a[index])
		{
			a[index+1]=a[index];
			index--;
		}
		a[index+1]=inserter;

		for(int j=0;j<size;j++)
		{
			cout<<a[j]<<",";
			if(j==i)
				cout<<"|";
		}
		cout<<endl;
	}
}


//**************************
//**      ch7_11.cpp      **
//**************************

#include <iostream.h>

void qsort(int a[],int,int);

void main()
{
	int array[10]={55,2,6,4,32,12,9,73,26,37};

	int len=sizeof(array)/sizeof(int);
	for(int i=0;i<len;i++)
		cout<<array[i]<<",";

	cout<<endl<<endl;

	qsort(array,0,len-1);

	for(i=0;i<len;i++)
		cout<<array[i]<<",";
	cout<<endl;
}

void qsort(int a[],int left,int right)
{
	int pivot,l,r,tmp;

	l=left;
	r=right;
	pivot=a[(left+right)/2];

	while(l<r)
	{
		while(a[l]<pivot) ++l;
		while(a[r]>pivot) --r;

		if(l>=r) break;

		tmp=a[l];
		a[l]=a[r];
		a[r]=tmp;

		//if(l!=pivot) --r;
		//if(r!=pivot) ++l;
		--r;
		++l;
	}
	
	if(l==r) l++;
	if(left<r) qsort(a,left,l-1);
	if(l<right) qsort(a,r+1,right);
}

//****************************
//**      Josephus.cpp      **
//****************************

#include <iostream.h>

void main()
{
	//建立小孩数组
	const int num=10;
	int interval;         //每次数interval个小孩,让其离开
	int a[num];

	//给小孩编号
	for(int i=0;i<num;i++)
		a[i]=i+1;

	//input the interval
	cout<<"please input the interval:"<<endl;
	cin>>interval;

	//output all the children
	for(i=0;i<num;i++)
		cout<<a[i]<<",";
	cout<<endl;

	int k=1;
	i=-1;

	//process the win boy
	while(1)
	{
		for(int j=0;j<interval;)
		{
			i=(i+1)%num;
			if(a[i]!=0)
				j++;
		}

		if(k==num) break;

		cout<<a[i]<<" , ";
		a[i]=0;

		k++;
	}

	cout<<endl<<"No."<<a[i]<<" boy've won."<<endl;
}


//**************************
//**      ch7_12.cpp      **
//**************************

#include <iostream.h>
#include <iomanip.h>

int a[3][4] = {{5,7,8,2},
				{-2,4,1,1},
				{1,2,3,4}};

int b[4][5] = {{4,-2,3,3,9},
				{4,3,8,-1,2},
				{2,3,5,2,7},
				{1,0,6,3,4}};

int c[3][5];

int MultiMatrix(int a[][4], int arow, int acol,
				int b[][5], int brow, int bcol,
				int c[][5], int crow, int ccol);

void main()
{
	if(MultiMatrix(a,3,4,b,4,5,c,3,5))
	{
		cout<<"illegal matrix multiply."<<endl;
		return;
	}

	for(int i=0;i<3;i++)
	{
		for(int j=0;j<5;j++)
			cout<<setw(5)<<c[i][j];
		cout<<endl;
	}
}

int MultiMatrix(int a[][4], int arow, int acol,
				int b[][5], int brow, int bcol,
				int c[][5], int crow, int ccol)
{
	if(acol!=brow)
		return 1;
	if(crow!=arow)
		return 1;
	if(ccol!=bcol)
		return 1;

	for(int i=0;i<crow;i++)
	{
		for(int j=0;j<ccol;j++)
		{
			for(int n=0;n<acol;n++)
				c[i][j]+=a[i][n]*b[n][j];
		}
	}
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -