在这里,我们将看到一个布尔数组难题。一个数组具有两个元素0和1。我们必须将所有元素都设为0。我们应该考虑一些规范-
在数组中,一个元素为0,这是固定的,但我们不知道该元素的位置是什么
另一个元素可以是0或1
此处仅允许补码运算,不能执行其他运算
我们不能使用分支和循环语句
我们不能将0直接分配给数组元素
我们可以用不同的方式解决这个问题。其中有三个-
方法1 -
#include <iostream> using namespace std; void makeZero(int arr[2]) { arr[ arr[1] ] = arr[ !arr[1] ]; } int main() { int arr[] = {1, 0}; makeZero(arr); cout<<"arr[0] = "<<arr[0]<<endl; cout<<"arr[1] = "<<arr[1]; }
输出结果
arr[0] = 0 arr[1] = 0
方法2 -
#include <iostream> using namespace std; void makeZero(int arr[2]) { arr[ arr[1] ] = arr[ arr[0] ]; } int main() { int arr[] = {1, 0}; makeZero(arr); cout<<"arr[0] = "<<arr[0]<<endl; cout<<"arr[1] = "<<arr[1]; }
输出结果
arr[0] = 0 arr[1] = 0
方法3 -
#include <iostream> using namespace std; void makeZero(int arr[2]) { arr[0] = arr[arr[0]]; arr[1] = arr[0]; } int main() { int arr[] = {1, 0}; makeZero(arr); cout<<"arr[0] = "<<arr[0]<<endl; cout<<"arr[1] = "<<arr[1]; }
输出结果
arr[0] = 0 arr[1] = 0
本文向大家介绍Objective-C语言排序数组,包括了Objective-C语言排序数组的使用技巧和注意事项,需要的朋友参考一下 示例
数组是编程语言中用来存储元素的集合。在 C 语言中,集合是储存相同类型元素的集合。并且可以通过一个名称来来访。 -------------------------------------------- | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | …… | N-1 | -------------------------------------------- 第一个元素
数组是一种内存分配的形式,数组是定义了一个连续的空间,与指针类似。 数组定义方式 类型 数组名[数组大小];//类型为每个空间的大小,我们通过数组名和下标访问数据,数组名指向存储数据的首地址,但是我们不可以改变数组名指向的地址。数组大小只有在定义的时候生效,定义之后不可以被改变。 int a[100]; //申请了一个名叫a的数组,它包含了100个整型。 数组的访问 我们可以通过数组的下标访问数
C 语言中的多维数组与我们在数学中学习到的多维数组是一致的。如果你还不知道什么是多维数组也没有关系。多维数组可以看成是之前学习过的数组的扩展。它能让你完成一些仅仅依靠一维数组没有办法完成的事情。让很多事情完成的更为简单。 1. 多维数组的声明 多维数组可以看作是一维数组的扩展。所以,它的声明就是在之前学习的数组,也叫一维数组,之后继续添加大括号,如果添加一组大括号,那么称之为二维数组,以此类推,就
本文向大家介绍C语言解数独程序的源码,包括了C语言解数独程序的源码的使用技巧和注意事项,需要的朋友参考一下 用C语言写的解数独的程序。在linux下测试成功运行。 效果如图: 这是带解的数独,需要填写的部分用数字0代替。 这是程序运行后的效果图。看看,数独已经搞定啦。 程序源码如下: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
对于一个开发者而言,能够胜任系统中任意一个模块的开发是其核心价值的体现。 对于一个架构师而言,掌握各种语言的优势并可以运用到系统中,由此简化系统的开发,是其架构生涯的第一步。 对于一个开发团队而言,能在短期内开发出用户满意的软件系统是起核心竞争力的体现。 每一个程序员都不能固步自封,要多接触新的行业,新的技术领域,突破自我。