Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Program C++ untuk menyusun semula semua elemen yang merupakan gandaan x dalam tatasusunan dalam susunan yang semakin meningkat

Program C++ untuk menyusun semula semua elemen yang merupakan gandaan x dalam tatasusunan dalam susunan yang semakin meningkat

王林
王林ke hadapan
2023-08-30 20:25:061173semak imbas

Program C++ untuk menyusun semula semua elemen yang merupakan gandaan x dalam tatasusunan dalam susunan yang semakin meningkat

Kami mempunyai tatasusunan jenis integer `int arr[]` dan pembolehubah jenis integer `x`. Tugasnya adalah untuk menyusun semula semua elemen tatasusunan supaya ia boleh dibahagikan dengan nilai integer yang diberikan `x` dan susunannya harus meningkat.

Mari kita lihat pelbagai situasi input dan output masalah ini:

Input - int arr[] = {4,24, 3 , 5, 7, 22, 12, 10}, int x = 2

Output - Hasil penyusunan semula semua elemen dalam tatasusunan yang boleh dibahagikan dengan x =2 ialah : 4 10 3 5 7 12 22 24

Penjelasan - Kami mempunyai tatasusunan jenis integer yang mengandungi nilai {4,24, 3, 5 , 7, 22 , 12, 10}, dan x dengan nilai 2. Sekarang pertama kita akan menyemak semua elemen dalam tatasusunan yang boleh dibahagikan dengan 2 iaitu 4, 24, 22, 12, 10. Kemudian kita akan menyusun semua elemen dalam susunan yang semakin meningkat iaitu 4, 10, 3, 5, 7, 12, 22, 24 dan ini adalah keluaran akhir.

Input - int arr[] = {4,24, 3, 5, 7, 22, 12, 10}, int x = 3

# 🎜🎜#

Output - Hasil penyusunan semula semua elemen dalam tatasusunan yang boleh dibahagikan dengan x=3 ialah: 4 3 12 5 7 22 24 10

#🎜 🎜# Penjelasan

- Kami mempunyai tatasusunan jenis integer yang mengandungi nilai {4,24, 3, 5, 7, 22, 12, 10}, dan x dengan nilai 3. Sekarang pertama kita akan menyemak semua elemen dalam tatasusunan yang boleh dibahagikan dengan 3 iaitu 4, 24, 12. Kemudian kita akan menyusun semua elemen dalam susunan yang semakin meningkat iaitu 4, 3, 12, 5, 7, 22, 24, 10 dan ini adalah keluaran akhir. Kaedah yang digunakan dalam atur cara berikut adalah seperti berikut

    Isytiharkan tatasusunan jenis integer. Kira saiz tatasusunan dan simpannya dalam pembolehubah yang dipanggil saiz. Isytiharkan pembolehubah 'x' jenis integer untuk menyusun semula tatasusunan.
  • Hantar data ke fungsi Rearrange_Elements(arr, size, x)
  • Dalam fungsi Element (arr , saiz, x) dalam
    • Buat pembolehubah jenis vektor bernama vec untuk menyimpan nilai jenis integer.
    • Gelung daripada i kepada 0 sehingga i kurang daripada saiz. Dalam gelung, semak IF arr[i] % x = 0, kemudian tolak arr[i] ke dalam vec
    • Gunakan kaedah isihan C++ STL untuk mengisih Isih tatasusunan , di mana kita lulus begin() dan end() sebagai parameter kepada fungsi.
    • Gelung daripada i kepada 0 sehingga i kurang daripada saiz. Semak JIKA arr[i] % x = 0, kemudian tetapkan arr[i] kepada vec[j++].
    • Gunakan gelung for untuk mencetak tatasusunan, merentasi dari elemen pertama tatasusunan ke elemen terakhir yang tersedia.
  • Contoh
#include <bits/stdc++.h>
using namespace std;
void Rearrange_Elements(int arr[], int size, int x){
   vector<int> 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;
}

Output#🎜🎜🎜#🎜🎜 kod di atas ia akan Output berikut akan dijana

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

Atas ialah kandungan terperinci Program C++ untuk menyusun semula semua elemen yang merupakan gandaan x dalam tatasusunan dalam susunan yang semakin meningkat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam