摘要:
题目大意:给定两个矩阵,矩阵的最大大小是M*N(小于等于10),矩阵元素的值的绝对值小于等于100,求矩阵相加后全0的行以及列数。 1 #include 2 using namespace std; 3 #define N 10 4 5 int main() 6 { 7 int n,m,i,j,a[N][N],b[N][N],s; 8 while(cin>>m) 9 { if(m==0) break;10 cin>>n;11 for(i=0;i>a[i][j];14 for(i=0;i>b[i][j]; 17 ...
阅读全文
摘要:
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 当我们需要解决一个复杂的问题时,一个很有效的办法就是从一个具体的问题入手,通过分析简单具体的例子,试图寻找普遍的规律。针对这个问题,我们不妨也从一个具体的例子入手。下面我们以在题目中给出的数组中查找数字7为例来一步步分析查找的过程。 我们发现如下规律:首先选取数组中右上角的数字。如果该数字等于要查找的数字,查找过程结束;如果该数字大于要查找的数字,剔除这个数字所在的列;如果该数字小于要查找的数字,剔除这个数字所在的行。也就
阅读全文
摘要:
实现两个N*N矩阵的乘法,矩阵由一维数组表示。先介绍一下矩阵的加法:1 void Add(int rows, int cols) 2 { 3 for(int i= 0;iusingnamespacestd;#definesize2intmulti(int*a,int*b,intN){inti,j,k,temp;int*c=(int*)malloc(N*N);for(i=0;i<N;i++){for(j=0;j<N;j++){temp=i*N+j;*(c+temp)=0;for(k=0;k<N;k++){*(c+temp)+=a[i*N+k]*b[k*N+j];...
阅读全文
摘要:
题目(一):我们可以用static修饰一个类的成员函数,也可以用const修饰类的成员函数(写在函数的最后表示不能修改成员变量,不是指写在前面表示返回值为常量)。请问:能不能同时用static和const修饰类的成员函数?分析:答案是不可以。C++编译器在实现const的成员函数的时候为了确保该函数不能修改类的实例的状态,会在函数中添加一个隐式的参数const this*。但当一个成员为static的时候,该函数是没有this指针的。也就是说此时static的用法和static是冲突的。我们也可以这样理解:两者的语意是矛盾的。static的作用是表示该函数只作用在类型的静态变量上,与类的实例没
阅读全文