如何从二维数组中找到素数
How to find prime numbers from two dimensional array?
本文关键字:二维数组 更新时间:2023-10-16
我需要在由随机数生成的二维数组中找到素数。我有两个函数函数 1 和函数 2。Funtion1 负责在二维数组中查找素数,然后它应该将素数保存到一维数组中,然后它应该返回一维数组的大小。函数 1 负责打印一维数组。
函数 1 接受 2 个参数二维数组和一维数组。函数 2 采用 2 个参数数组和数组大小。
#include <iostream>
#include <stdlib.h> /* srand, rand */
#include <time.h>
using namespace std;
int function1(int arrayA[][15],int arrayB[] );
void function2(int array[],int x);
int main(int argc, char** argv) {
int myA[10][15];
int myB[150];
srand(time(NULL));
for (int i = 0; i < 10; i++) // ...initialize it
{
for (int j = 0; j < 14; j++) {
int row = rand() % 401 + 100;
int column = rand() % 401 + 100;
myA[i][j] = row, column;
cout<< myA[i][j]<< " ";
}
cout<<endl;
}
int x=function1(myA,myB);
function2(myB,x);
}
int function1(int arrayA[][15],int arrayB[] ){
for (int i = 0; i < 10; i++) //accessing two dimensional array row
{
for (int j = 0; j < 15; j++) { //accesing two dimensional array column
for(int prime=2;prime<arrayA[i][j];prime++){ //for prime control
if(arrayA[i][j]%prime!=0){
for(int k=0;k<150;k++){ //keeping arrayA`s prime numbers in arrayB
arrayB[k]=arrayA[i][j];
}
}
}
}
}
int sizeB=sizeof(arrayB)/sizeof(arrayB[0]);
return sizeB;
}
void function2(int array[],int x){
for(int i=0;i<x-1;i++){
cout<<array[i];
}
}
我像上面一样编码解决方案,但它只是打印随机生成的二维数组,但我实际需要的是随机生成的二维数组和该数组的素数(函数 2 的输出(我没有收到任何编译错误。
谢谢!
函数 1 不会将质数添加到数组 B。此数组将填充一个数字。所有 150 个职位都有一个不一定是素数的数字。最终检查将是 2D 数组 % 中的最后一个数字(本身减去 1(,它不会为 0。因此,数组 B 的所有内容都将是该数字。
函数 1 应始终返回 150。
函数2 没有输出的原因是函数 1 访问未初始化的内存位置或数组位置。所以不知道那个内存位置是什么。看看你是如何在main中填充myA的。
这段代码非常草率。你需要密切关注你在做什么。如果它在你的脑海中不起作用,那么当你编码它时它就不起作用。
相关文章:
- 将值从二维数组输出到文本文件
- 在二维数组中查找最小值和最大值?
- 移动二维数组中的字符
- 如何正确填充在堆上分配的二维数组?
- 传递二维数组时出现问题
- 具有随机数的二维数组不会更改
- 如何在C++中获取二维数组中最少的一列数?
- 如何使用用户输入变量制作二维数组?
- C++ 中动态二维数组的访问冲突
- 遍历二维数组的所有子数组
- 将二维数组的所有元素插入到一维数组中
- 在函数中传递二维数组
- 为什么指针在对二维数组进行排序时无法正常工作?
- 创建 std::string 的二维数组的最佳做法
- 如何将文本文件读取到二维数组中并以 c++ 打印
- 元素在二维数组 c++ 中的出现次数
- 执行 c++ 二维数组
- C++ 中的二维数组初始化为一个值
- 在C++中初始化第一维大小未知的二维数组
- 如何在二维数组中存储值?