Здравствуйте.
А как именно мы должны вам помочь? У вас есть свои наработки, которые можно подправить, чтобы ваша программа заработала? Нет? Тогда держите:
#include <ctime>
#include <cstdlib>
#include <iterator>
#include <iostream>
#include <algorithm>
struct op {
int p;
op(int _p): p(_p) {}
bool operator()(int x) {
int px = 1;
for (; x != 0; x /= 10) px *= x % 10;
return px != p;
}
};
int rnd() { return rand() % 100; }
int main() {
srand(time(0));
int n, p;
std::cout << "размер массива? ";
std::cin >> n;
int *a = new int[n];
std::cout << "\nмассив: \n";
std::generate_n(a, n, rnd);
std::copy(a, a + n, std::ostream_iterator<int>(std::cout, " "));
std::cout << "\n\nпроизведение? ";
std::cin >> p;
int *e = std::remove_if(a, a + n, op(p));
std::cout << "\nрезультат: \n";
std::copy(a, e, std::ostream_iterator< int >(std::cout, " "));
std::cout << std::endl;
delete[] a;
}
Другие языки программирования и технологии
удалить все элементы, кроме имеющих заданное произведение цифр. язык си++.нужна срочная помощь
И разумеется, ни слова о типе контейнера.
int* ?
std::vector<int> ?
ещё что-то?
int* ?
std::vector<int> ?
ещё что-то?
for( i = 0; i < size; i++ ) { m = 1; for( n = a[ i ]; n > 0; n /= 10 ) m *= n % 10; if (m != req) delete_el( i ); }
Похожие вопросы
- Программирование на языке Си. Нужна небольшая помощь.
- Нужна срочная помощь
- Язык Си. Нужна методичка хорошая, в которой на примерах и глубоко обьясняются основы. Например, сейчас буксую на
- Кто программирует на Си, нужна ваша помощь!
- Треугольник задан координатами своих вершин. вычислить его площадь. На языке СИ!
- Найти число Фибоначчи, ближайшее к заданному натуральному числу N. (программирование в языке Си)
- Язык Си: В одномерном массиве, состоящем из n вещественных элементов, вычислить: номер максимального по модулю элемента
- Как удалить стиль элемента, заданный в каком-то .css файле
- Поменять местами первый и последний отрицательные элементы массива B (18). (Язык Си) (Язык Си)
- Двумерный массив/Турбо паскаль/нужна помощь=( А(12)Заменить отрицательные элементы стоящие на чётных местах цифрой 8.