C/C++

Помогите написать код на С++ на уровне первого курса

Дан одномерный массив натуральных чисел. Удалить в этом массиве все обыкновенные числа. Описать функции проверки числа на то, что оно просто, и удаление из массива всех простых чисел. Воспользоваться этими функциями для решения сформулированной задачи.
Дима Dubstep
Дима Dubstep
82
(◔‿◔) Если я правильно понимаю, то так называемые "обыкновенные числа" - это и есть простые? Тогда для массива четырёхбайтных беззнаковых целых чисел типа unsigned, размер и значения компонент которого задаются с экрана, будет так:
#include <iostream>
#include <cmath>
using namespace std;
unsigned *a, n;
bool notprime(int n)
{
if (n == 2 || n == 3) return false;
if (n < 2 || n % 2 == 0) return true;
unsigned l, m = sqrt(n);
for (l = 3; l <= m; l += 2) if (n % l == 0) return true;
return false;
}
void print()
{
for (unsigned l = 0; l < n; l++)
{
cout << l + 1 << " » " << a[l] << endl;
}
}
void udalenie()
{
unsigned l, m = 0, *b = new unsigned [n];
for (l = 0; l < n; l++) if (notprime(a[l]))
{
b[m] = a[l];
++m;
}
delete [] a;
a = new unsigned [m];
for (l = 0; l < m; l++) a[l] = b[l];
delete [] b;
n = m;
}
int main()
{
unsigned l, m = 0;
cout << "n = ?\b";
cin >> n;
a = new unsigned [n];
cout << "» ";
for (l = 0; l < n; l++) cin >> a[l];
cout << "\nYour Array:" << endl;
print();
udalenie();
cout << "\nTransformed Array:" << endl;
print();
system("pause > nul");
}
Игорь Гришин
Игорь Гришин
29 440
Лучший ответ
Игорь Онохов Ко множеству обыкновенных чисел относятся натуральные числа. Например, зарплата в 55000 рублей – это обыкновенной число. А зарплата -55000 рублей – это необыкновенное число)))
Валера Пахомов Ну нахер вашу высшую математику.