严格相同的阵列输入
Strictly Identical arrays input
清理此代码的任何一般技巧?似乎我可以完成所有检查的任务。
谢谢!
TXT书籍问题:(严格相同的数组)两个数组list1 []和list2 []严格相同,如果它们的长度相同,list1 []等于list2 [i]。
写一个函数,如果List1和List2使用以下标头严格相同,则返回true
bool strictlyEqual(const int list1[], const int list2[], int size)
编写一个测试程序,该程序提示用户输入两个整数列表,并显示两者是否严格相同。样本运行以下。请注意,输入中的第一个数字指示列表中元素的数量。此数字不是列表的一部分。假设列表大小为最大
我的代码:
#include <iostream>
using namespace std;
bool strictlyEqual(int const list1[], int const list2[], int size);
bool strictlyEqual (int x1[], int x2[], int n)
{
int f=0; int i;
for (i =1; i<=n; i++)
{
if (x1[i] != x2[])
{
// breaks loop
f=1;
break;
}
}
if (f==0)
return (true);
else
return(false);
}
int main ()
cout << "enter list1: " << endl;
int list1[20], i;
cin >> list1[0];
for (i=1; i<= list1[0]; i++)
cin>> list1[i];
cout <<"enter the list2" << endl;
int list2[20];
cin >> list2[0];
for (i=1; i<= list2[0]; i++)
cin >> list2[i];
if (list1[0] == list2[0]
{
int size = list2[0];
bool v=strictlyEqual(list1, list2, size);
if (v== true)
cout << "identical" << endl;
else
cout << "not identical " << endl;
}
return 0;
}
一个简单的解决方案将使用memcmp函数。
int memcmp ( const void * ptr1, const void * ptr2, size_t num );
比较了
ptr1
指向内存块的第一个num
字节与ptr2
指向的第一个num
字节,如果它们都匹配或与零表示的值不同,则返回零。
bool strictlyEqual (int x1[], int x2[], int n){
return memcmp(x1, x2, n * sizeof(int)) == 0;
}
相关文章:
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 2D数组来自文本输入,中间有空格
- 基于用户输入的 2D 动态阵列
- C 程序仅在字符阵列获得“ 1000!”的输入时才在DELETE上崩溃
- 气泡排序问题不会更改输入阵列
- 如何解决非常大的阵列输入的SIGSEGV错误
- 如何创建一个具有空值、递减编号系统和.txt文件输入值的二维阵列网格
- 动态分配的输入,并在C 中输出2D阵列
- 严格相同的阵列输入
- 阵列输入在按Enter成为0
- 避免在字符阵列中长时间输入
- 将具有2D阵列输入的函数传递给函数
- CUFFT:当输入是倾斜阵列时,如何计算fft
- CUDA大型输入阵列
- OpenGL顶点阵列,根据用户输入绘制
- 井字游戏覆盖阵列用户输入
- 动态1D阵列作为输入
- 如何将用户输入存储到多维数组中?我正在使用 3D 阵列
- 分割错误:11小输入阵列/矢量
- 从文件读取输入并存储到2D阵列中