C/C++
Помогите написать код на С++ на уровне первого курса
Дан одномерный массив натуральных чисел. Удалить в этом массиве все обыкновенные числа. Описать функции проверки числа на то, что оно просто, и удаление из массива всех простых чисел. Воспользоваться этими функциями для решения сформулированной задачи.
(◔‿◔) Если я правильно понимаю, то так называемые "обыкновенные числа" - это и есть простые? Тогда для массива четырёхбайтных беззнаковых целых чисел типа 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");
}

#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");
}

Игорь Онохов
Ко множеству обыкновенных чисел относятся натуральные числа. Например, зарплата в 55000 рублей – это обыкновенной число. А зарплата -55000 рублей – это необыкновенное число)))
Валера Пахомов
Ну нахер вашу высшую математику.
Похожие вопросы
- Помогите написать код
- Помогите написать код с файлами C++
- Помогите написать код с файлами C++
- Программирование на C++ .Помогите написать код.
- ПРОШУ, ПОМОГИТЕ НАПИСАТЬ КОД C++
- Помогите написать код решения уравнения, желательно на с++
- Помогите написать код (как можно примитивнее)
- Помогите написать код c++
- Помогите написать код на Си, по теме "строки".
- Помогите написать код C++