gpt4 book ai didi

c++ - 将元素从一个数组复制到另一个 C++

转载 作者:行者123 更新时间:2023-11-28 04:55:46 25 4
gpt4 key购买 nike

我看了又看,仍然不知道如何从数组中复制或获取元素并将它们放入新数组(目标是分而治之)。

我有一个生成 100 个随机数的数组。我需要将随机数分成 4 个较小的数组,显然包含 25 个元素并且没有任何重复项。我读过有关使用指针的内容,但老实说我不明白为什么还要使用指针。为什么我关心另一个变量地址?

我不知道该怎么做。到目前为止,这是我的代码:

#include <iostream>
#include <time.h>
#include <stdlib.h>

using namespace std;


int main()
{
// Seed the random number generator

srand(time(NULL));

//create an array to store our random numbers in

int Orignumbers[100] = {};
// Arrays for the divide and conquer method
int NumbersA [25] = {};
int NumbersB [25] = {};
int NumbersC [25] = {};
int NumbersD [25] = {};


//Generate the random numbers
for(int i =0; i < 100; i++)
{
int SomeRandomNumber = rand() % 100 + 1;

// Throw random number into the array

Orignumbers[i] = SomeRandomNumber;

}

// for(int i = 0; i < ) started the for loop for the other arrays, this is where I am stuck!!

// Print out the random numbers
for(int i = 0; i < 100; i++)
{
cout << Orignumbers[i] << " , ";
}

}

最佳答案

“分而治之”相当容易;当复制到 NumbersA 等等时,您只需要使用适当的偏移量访问您的 Originnumbers,即 0255075:

for(int i = 0; i < 25; i++) {
NumbersA[i] = Orignumbers[i];
NumbersB[i] = Orignumbers[i+25];
NumbersC[i] = Orignumbers[i+50];
NumbersD[i] = Orignumbers[i+75];
}

关于“无重复”的事情有点棘手。生成一个唯一数字的随机序列通常是通过“洗牌”来解决的。标准库为此提供了函数:

#include <random>
#include <algorithm>
#include <iterator>
#include <vector>

int main()
{
std::random_device rd;
std::mt19937 g(rd());

int Orignumbers[100];

//Generate the random numbers without duplicates
for(int i =0; i < 100; i++) {
Orignumbers[i] = i+1;
}
std::shuffle(Orignumbers, Orignumbers+100, g);

// Arrays for the divide and conquer method
int NumbersA [25] = {};
int NumbersB [25] = {};
int NumbersC [25] = {};
int NumbersD [25] = {};


for(int i = 0; i < 25; i++) {
NumbersA[i] = Orignumbers[i];
NumbersB[i] = Orignumbers[i+25];
NumbersC[i] = Orignumbers[i+50];
NumbersD[i] = Orignumbers[i+75];
}

// Print out the random numbers
for(int i = 0; i < 100; i++)
{
cout << Orignumbers[i] << " , ";
}

}

关于c++ - 将元素从一个数组复制到另一个 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47152198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com