San*_*sal 3 c++ arrays sorting algorithm primes
我必须WAP打印给定大小的数组中最小和最大的素数而不进行排序.我已经编写了最大数字的代码,但是对于最小的数字,它没有运行,因为我将素数的值与初始化为0的min进行比较,但是如果我将If_else分成两部分
然后它运行,因为然后在c == 2,min已经从数组中提供了一个值,但是如果我一起运行它们,那么在这里任何工作都不能让我获得最小的数字而不会破坏if_else.代码如下
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <ctype.h>
void main ()
{
int i,j,m;
clrscr();
int a[20],x,min=0,c=0;
cout<<"Enter size of array "<<endl;
cin>>m;
cout<<"Enter "<<m<<" Numbers "<<endl;
for(i=0;i<m;i++)
{
cin>>a[i];
}
for(i=0;i<m;i++)
{
for(j=1;j<=a[i];j++)
{
if(a[i]%j==0)
{
c++;
}
}
if(c==2 && a[i]<min)//problem is here
{
min=a[i];
}
c=0;
}
cout<<endl<<"the min prime no out of array is " <<min;
getch();
}
Run Code Online (Sandbox Code Playgroud)
解决你的问题:
对于min_max,您可以使用以下内容:
void find_min_max(const std::vector<int>& primes, int& minValue, int& maxValue)
{
assert(!primes.empty());
auto result = std::minmax_element(primes.begin(), primes.end());
minValue = *result.first;
maxValue = *result.second;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1624 次 |
| 最近记录: |