c++数组函数问题,请大神指点

c++函数问题:请尽量详细注释
1、写一个名为ISSRID的函数,它取三个参数,即整数数组、它的大小和整数值M;然后如果在数组中找到M,则返回true,否则返回false。
2、写一个名为ISLIMIT的函数,它的两个整数数组A1和A2和它们的大小分别是siZe1和siZ2;如果数组A1的所有元素都包含在数组A2中,则返回true;否则返回false。在这个问题中,你必须使用上面(1)部分定义的函数

c++

4个回答

#include <iostream>

bool ISSRID(int* arr, int size, int m){
    //遍历数组,寻找特定的值,找到则返回true
    for (int i = 0; i < size; ++i) {
        if (m == arr[i]) return true;
    }
    return false;
}

bool ISLIMIT(int* arr1, int* arr2, int size1, int size2){
    //遍历第一个数组
    for (int i = 0; i < size1; ++i) {
        //能否在第二个数组中找到第一个数组的值,找不到返回false
        if (! ISSRID(arr2, size2, arr1[i])){
            return false;
        }
    }
    return true;
}

int main(){
    int arr1[] = {5,3,8,3};
    int arr2[] = {1,2,6,3,7,3};
    std::cout<<ISLIMIT(arr1,arr2, sizeof(arr1) / sizeof(arr1[0]), sizeof(arr2) / sizeof(arr2[0]))<<std::endl;
    return 0;
}

bool ISSRID(int *a, int length, int M){
    for(int i = 0; i < length; ++i){    // 遍历数组
        if(a[i] == M)                            // 有相等元素,直接返回
            return true;
    }
    return false;            // 遍历没有找到相等元素,返回false
}
bool ISLIMIT(int *a1, int *a2, int size1, int size2){
    for(int i = 0; i < size1; ++i){                            // 遍历a1
        if(ISSRID(a2, size2, a1[i]) == false)                // 如果a1中某个元素不在a2中,返回false
            return false;
    }
    return true;    // 没有发现不在a2中的,返回true
}
Debug_dodge
Debug_dodge 回复zwzwzwzwzxt: 实在是记不清,最近一段时间java、python、C都有用到,老是混
大约 2 年之前 回复
zwzwzwzwzxt
繁宵微梦 回复Debug_dodge: C++boolean并不需要大写首字母,您说的是Python吧
大约 2 年之前 回复
Debug_dodge
Debug_dodge 这俩问题很基础啊。。。我直接在网页上敲的代码,没有跑。。。另外C++好像是要大写true和false的首字母的
大约 2 年之前 回复

boolean ISSRID(int *sBuff, int iBufSize, int iKey)
{
int i = 0;
if(!sBuff || iBufSize<0) //invalid param
return false;
for(i=0; i< iBufSize; i++) //loop
{
if(iKey == sBuff[i]) //if include, return true;
return true
}
return false; //did not find it
}

boolean ISLIMIT(int *A1, int *A2, int A1Size, int A2Size)
{
int iCount = 0;

if(!A1 || !A2 || A1Size>A2Size) //invalid param
    return false;
for(iCount=0; iCount<A1Size; iCount++)  //循环比较A1里面的数据
{
    if(ISSRID(A2, A2Size, A1[iCount]) == false) //如果返回false 就返回false
        return false;
}   
return true;    //全部存在

}

望采纳

(1) bool ISSRID(int[] numArr,int size,int numM)
{
for(int i = 0;i<size;i++)
{
if(numArr[i] == numM) return true;
}
return false;
}

(2) bool ISLIMIT(int[] numArr1,int[] numArr2,int size1,int size2)
{
if(size1>size2) return false;
for(int i = 0;i<size1;i++)
{
if(!ISSRID(numArr2,size2,numArr1[1])) return false;
}
return true;
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问