Új hozzászólás Aktív témák
-
Jester01
veterán
válasz
Dave-11
#2178
üzenetére
Ha szabad néhány dolgot megjegyeznem (konstruktív célzattal):
* a magyar és az angol elnevezések keverése nem szép dolog.
* return után nem kell else
* ha már c++ akkor van benne sort gyárilag
* ha nem használod a sort-ot akkor legalább függvénybe illene kitenni a saját implementációt
* a négyzetgyökre még meg kell nézni az oszthatóságot, vagyis <= kell
* nem kell float-ra castolni az sqrt hívásban
* a 2-t nem kell speciálisan kezelni
* nem kell új vektorAz én megoldásom így néz ki (bele szabad kötni):
#include <vector>
#include <algorithm>
#include <cmath>
#include <iostream>
using namespace std;
static bool isPrime(int a)
{
if (a <= 1) return false;
for(int i = 2; i <= sqrt(a); i++)
{
if ((a % i) == 0) return false;
}
return true;
}
static void problem5(vector<int>& v)
{
vector<int>::iterator boundary = partition(v.begin(), v.end(), isPrime);
sort(v.begin(), boundary, less<int>());
sort(boundary, v.end(), greater<int>());
}
int main()
{
int numbers[] = { 2, 3, 1, 6, 7, 4, 5, 9, 8 };
vector<int> v(numbers, numbers + sizeof(numbers) / sizeof(numbers[0]));
problem5(v);
for(unsigned i = 0; i < v.size(); i += 1)
{
cout << v[i] << ' ';
}
cout << endl;
return 0;
}
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Apple iPhone 15 Pro Max 512GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Galaxy S25 FE 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- GYÖNYÖRŰ iPhone 13 mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS4062
- Garmin Forerunner 405 GPS óra
- Apple iPhone 13 Pro Max 128GB,Újszerű,Dobozával,12 hónap garanciával
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi

