C++程序以递增顺序重新排列数组中所有x的倍数元素

c++程序以递增顺序重新排列数组中所有x的倍数元素

我们有一个整数类型的数组 `int arr[]` 和一个整数类型的变量 `x`。任务是重新排列数组的所有元素,使它们能够被给定的整数值 `x` 整除,并且排列顺序应该是递增的。

让我们看看这个问题的各种输入输出情况:

输入 – int arr[] = {4,24, 3, 5, 7, 22, 12, 10},int x = 2

输出 – 数组中所有能被 x=2 整除的元素的重新排列结果为:4 10 3 5 7 12 22 24

解释 – 我们有一个整数类型的数组,包含值为 {4,24, 3, 5, 7, 22, 12, 10},以及值为 2 的 x。现在首先我们将检查数组中所有能被 2 整除的元素,即 4, 24, 22, 12, 10。然后我们将按递增顺序排列所有元素,即 4, 10, 3, 5, 7, 12, 22, 24,这就是最终的输出。

立即学习“C++免费学习笔记(深入)”;

输入 – int arr[] = {4,24, 3, 5, 7, 22, 12, 10},int x = 3

输出 – 数组中所有能被 x=3 整除的元素的重新排列结果为:4 3 12 5 7 22 24 10

解释 – 我们有一个整数类型的数组,包含值为 {4,24, 3, 5, 7, 22, 12, 10},以及值为 3 的 x。现在首先我们将检查数组中所有能被 3 整除的元素,即 4, 24, 12。然后我们将按递增顺序排列所有元素,即 4, 3, 12, 5, 7, 22, 24, 10,这就是最终的输出。

下面程序中使用的方法如下

声明一个整数类型的数组。计算数组的大小并将其存储在一个名为size的变量中。声明一个整数类型的变量’x’,用于重新排列数组。

将数据传递给函数Rearrange_Elements(arr, size, x)

在函数Rearrange_Elements(arr, size, x)中

创建一个名为vec的vector类型变量,存储整数类型的值。

从i到0开始循环,直到i小于size。在循环内,检查IF arr[i] % x = 0,然后将arr[i]推入vec中

使用C++ STL的sort方法对数组进行排序,其中我们将begin()和end()作为参数传递给函数。

从i到0开始循环,直到i小于size。检查IF arr[i] % x = 0,然后将arr[i]设置为vec[j++]。

使用for循环打印数组,从数组的第一个元素遍历到最后一个可用元素。

示例

#include using namespace std;void Rearrange_Elements(int arr[], int size, int x){   vector vec;   int j = 0;   for(int i = 0; i < size; i++){      if(arr[i] % x == 0){         vec.push_back(arr[i]);      }   }   sort(vec.begin(), vec.end());   for (int i = 0; i < size; i++){      if(arr[i] % x == 0){         arr[i] = vec[j++];      }   }   cout<<"Rearrangement of all elements of array which are multiples of x "<<x<<" in decreasing order is: ";   for(int i = 0; i < size; i++){      cout << arr[i] << " ";   }}int main(){   int arr[] = {4,24, 3, 5, 7, 22, 12, 10};   int x = 2;   int size = sizeof(arr) / sizeof(arr[0]);   Rearrange_Elements(arr, size, x);   return 0;}

输出

如果我们运行上述代码,将会生成以下输出

Rearrangement of all elements of array which are multiples of x 2 in decreasing order is: 4 10 3 5 7 12 22 24

以上就是C++程序以递增顺序重新排列数组中所有x的倍数元素的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1444138.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 21:03:43
下一篇 2025年12月17日 21:04:14

相关推荐

  • 在C语言中,结构体(Structure)和数组(Array)之间的区别是什么?

    在 C 中,结构体和数组都用作数据类型的容器,即在结构体和数组中我们都可以存储数据,也可以对它们执行不同的操作。 基于内部实现,以下是两者之间存在一些基本差异。 Sr.编号 键 结构 数组 1定义结构体可以定义为一种数据结构,用作容器,可以容纳不同类型的变量。另一方面,数组是一种用作容器的数据结构,…

    2025年12月17日
    000
  • 使用交换最小化两个数组中最大数的乘积

    数据结构操作现在已成为现代编程和计算中成功解决方案开发的一个重要方面。这是由于随着时间的推移,这些结构所呈现的复杂性不断增加。一个例子是执行交换操作以最小化包含在两个数组中的最大数的总和,从而降低它们的整体值。在这篇文章中,我们讨论了两种使用C++完成这些任务的方法,同时根据不同观点承认了这两种方法…

    2025年12月17日
    000
  • 在C程序中,将一个数组中具有最大AND值的一对元素打印出来

    根据问题,我们给定了一个包含n个正整数的数组,我们需要从数组中找到具有最大AND值的一对。 示例 Input: arr[] = { 4, 8, 12, 16 }Output: pair = 8 12The maximum and value= 8Input:arr[] = { 4, 8, 16, 2…

    2025年12月17日
    000
  • 在C++中,查找未排序数组中元素的起始索引和结束索引

    在这个问题中,我们得到一个包含 n 个未排序整数值的数组 aar[] 和一个整数 val。我们的任务是在未排序的数组中查找元素的开始和结束索引。 对于数组中元素的出现,我们将返回, “起始索引和结束索引”(如果在数组中找到两次或多次)。 “单个索引”(如果找到) 立即学习“C++免费学习笔记(深入)…

    2025年12月17日
    000
  • 将数组表示的数字加1(递归方法)

    给定一个数组,该数组是由非负数字表示的数字的集合,将数字加1(增加由数字表示的数字)。数字存储方式是最高位数字是数组的第一个元素。 要将数字加1到由数字表示的数字 从数组末尾开始,加法意味着将最后一个数字4舍入为5。 如果最后一个元素是9,则将其变为0并进位=1。 对于下一次迭代,检查进位,如果加到…

    2025年12月17日
    000
  • 使用C语言在数组中插入元素

    我们可以在任意位置插入元素,这意味着我们可以在数组的起始位置、中间、最后或任意位置插入。 在数组中插入元素后,位置或索引位置增加,但并不意味着数组的大小增加。 插入元素的逻辑是− 输入数组的大小 立即学习“C语言免费学习笔记(深入)”; 输入要插入元素的位置 接下来输入您要在该位置插入的数字 for…

    2025年12月17日
    000
  • 在C语言中,什么是数组的越界索引?

    假设您有一个包含四个元素的数组。那么,数组索引将从0到3,即我们可以访问索引0到3的元素。 但是,如果我们使用大于3的索引,它将被称为索引越界。 如果我们使用越界的数组索引,那么编译器将编译甚至运行。但是,不能保证结果正确。 结果可能不确定,并且会导致许多问题。因此,建议在使用数组索引时要小心。 立…

    2025年12月17日
    000
  • 数组元素的频率是否为质数?

    Suppose we have one array. we have to count how many of the elements present in the array prime number of times. So if the array is {1, 2, 2, 0, 1, 5,…

    2025年12月17日
    000
  • C语言中的数组

    数组是连续内存位置上相同类型元素的集合。最低地址对应于第一个元素,最高地址对应于最后一个元素。 数组索引以零 (0) 开始,以数组大小减一(数组大小 – 1)结束。数组大小必须是大于零的整数。 让我们看一个例子, If array size = 10First index of arra…

    2025年12月17日
    000
  • 如何在C语言中将数组的元素以相反的顺序打印出来?

    尝试按照下面给出的算法以相反的顺序打印元素: 步骤1 – 声明一个大小为5的数组 步骤2 – 使用for循环将5个元素输入到内存中 步骤3 – 以相反的顺序显示元素 立即学习“C语言免费学习笔记(深入)”; 通过递减for循环 唯一的逻辑是通过for循环反转元素:…

    2025年12月17日
    000
  • c语言中数组和指针的区别是什么_数组和指针有什么区别

    数组和指针的核心区别在于:数组是静态存储的同类型数据序列,而指针是动态存储内存地址的变量。1. 数组在声明时大小固定,不能改变;2. 指针可以指向不同的内存区域,具有动态性;3. 数组名代表整个数组,本质是符号,不可赋值,而指针是变量,可修改指向;4. 指针数组本质是数组,元素为指针,数组指针本质是…

    2025年12月17日 好文分享
    000
  • 在c语言中引用数组元素时,其数组下标的数据类型允许是什么

    在c语言中引用数组元素时,其数组下标的数据类型允许是:整型常量或整型表达式。C语言规定只能逐个引用数组元素而不能一次引用整个数组,数据元素的表示形式为“数组名[下标]”,下标可以是整型常量或整型表达式。 本教程操作环境:windows7系统、c99版本、Dell G3电脑。 在c语言中引用数组元素时…

    2025年12月17日
    000
  • C语言中数组所占字节怎么算

    数组在内存中所占字节数可以使用sizeof操作符来计算,该操作符是专门用于检测类型或变量或数组在内存中所占有的空间(字节数);语法“sizeof(x)”,其中x是类型名、变量名或数组名等,可以返回x所占字节数。 本教程操作环境:windows7系统、c99版本、Dell G3电脑。 相关推荐:C语言…

    2025年12月17日
    000
  • 在c语言中,引用数组元素时,其数组下标的数据类型允许是什么?

    在c语言中,引用数组元素时,其数组下标的数据类型允许是:整型常量或整型表达式。数组是用来存储一系列数据,用于区分数组的各个元素的数字编号称为下标;下标只能为整型常量或整型表达式,如为小数时,将自动取整。 C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数…

    2025年12月17日
    000
  • c语言数组在内存中是怎么分配的?

    c语言数组在内存中分配的方法:首先相应的头文件,为负责输入输出的iostream流;然后在主函数中创建一个数组,使用cout语句分别输出各个元素在内存中的地址;最后点击运行按钮进行编译、链接、生成可执行文件。 c语言数组在内存中分配的方法: 1、首先我们打开C语言编译器,可以选择Visual Stu…

    2025年12月17日 好文分享
    000
  • c语言数组冒泡排序是如何实现的?

    方法:1、选定一个数,利用for循环将该数字与另一个数比较;2、用if语句比较两数的大小,根据比较结果进行元素的交换,两两比较,以实现排序。 c语言冒泡排序的方法: 1、先逐个筛选数组中的每个元素 2、再比较每相邻的两个元素 立即学习“C语言免费学习笔记(深入)”; 3、根据比较结果进行元素的交换,…

    2025年12月17日 好文分享
    000
  • 决定数组所占内存单元多少的是什么

    决定数组所占内存单元多少的是:数组元素的个数及其类型。数组就是有序的元素序列。数组是在程序设计中,把具有相同类型的若干元素按有序的形式组织起来的一种形式。 决定数组所占内存单元多少的是:数组元素的个数及其类型。 (推荐学习:c语言教程) 相关知识点介绍: 所谓数组,就是有序的元素序列。 若将有限个类…

    2025年12月17日
    000
  • c++定义数组的方法

    在 c++++ 中如果要声明一个数组,需要指定元素的类型和元素的数量,如下所示: type arrayName [ arraySize ]; arraySize 必须是一个大于零的整数常量,type 可以是任意有效的 C++ 数据类型。 (推荐教程:C语言教程) 例如,要声明一个类型为 double…

    2025年12月17日
    000
  • vb数组怎么定义

    vb数组怎么定义 有两种方法定义数组:  1、知道数组的元素个数,那么直接定义 dim a(9) as integer  2、暂时不知道元素个数,或者该数组应用在多个地方 那么如下定义 dim a() as integer 在使用的时候,再重定义一下就可以了 ReDim a(9) 数组的类型可以和变…

    2025年12月17日
    000
  • 深入了解数组、List和ArrayList的区别

    有些知识点可能平时一直在使用,不过实际开发中我们可能只是知其然不知其所以然,所以经常的总结会对我们的提高和进步有很大的帮助。下面本篇文章就来给大家介绍数组、list和arraylist的区别,希望对大家有所帮助。 数组、List和ArrayList的区别 数组在内存中是连续存储的,所以它的索引速度是…

    2025年12月17日
    000

发表回复

登录后才能评论
关注微信