1. 程式人生 > >C++面向物件程式設計50道程式設計題(第20題)

C++面向物件程式設計50道程式設計題(第20題)

C++面向物件程式設計50道程式設計題(第20題)

摘要:C++程式設計實習是為學生提供了一個既動手又動腦,獨立實踐的機會,將課本上的理論知識和實際有機的結合起來,鍛鍊學生的分析問題和解決問題的能力,提高學生運用所學知識解決實際問題的能力。
  本專輯為程式設計入門者、高校計算機軟體專業學習或複習提供C++程式設計題庫。
  讀者請先獨立思考哦,再與參考程式進行比對檢查。

一、問題描述

在這裡插入圖片描述

二、考察內容

  基本面向物件概念,如何建立類、物件,對類私有資料成員和公有成員函式的理解,簡單的數學運算。

三、難度等級

難度等級:★★☆☆☆

四、參考程式

#include <iostream.h>
class Array{
	int x[4][4];
	int count;
public:
	Array(int a[4][4]);
	int fun(int);
	int encode();
	void print();
};
Array::Array(int a[4][4])
{
	for(int i=0;i<4;i++)
		for(int j=0;j<4;j++)
			x[i][j]=a[i][j];
	count=0;
}
int Array::fun(int n)
{
	if(n==0||n==1||n==2)return 0;
	for(int j=2;j<n;j++)
		if(n%j==0)return 0;
	return 1;
}
int Array::encode()
{
	
	for(int i=0;i<4;i++){
		for(int j=0;j<=i;j++)
			if(fun(x[i][j]))
			{
				count++;
                while(1)
				{
					x[i][j]=x[i][j]+2;
					if(fun(x[i][j]))					
						break;				
				}
			}
	}
	return count;
}
void Array::print()
{
	for(int i=0;i<4;i++){
		for(int j=0;j<4;j++)
			cout<<x[i][j]<<'\t';
		cout<<'\n';
	}
	cout<<'\n';
}
void main()
{
	int m[4][4]={3,6,4,17,8,5,9,10,12,19,7,20,4,14,21,23};
	Array test(m);
	test.print();
	cout<<"count="<<test.encode()<<'\n';
	test.print();
}				

五、心得感受

可以在評論處寫下思考和程式設計此題的感受