Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском.
Закрыт 2 года назад.
Напишите программу, которая заполняет массив из N элементов случайными целыми числами в диапазоне [ A , B ] и определяет количество положительных трёхзначных чисел в этом массиве, которые не делятся на 5.
Входные данные
Входная строка содержит три числа: границы диапазона случайных чисел A и B , а также размер массива N . Все числа разделены пробелами. Гарантируется, что 0 < N ≤ 10000 .
Выходные данные
В первой строке программа должна вывести N элементов построенного массива, разделив их пробелами, а во второй строке – количество трёхзначных чисел в массиве, которые не делятся на 5.
Примеры Входные данные
50 200 10
Выходные данные
50 54 180 80 91 151 98 74 106 114
3
Мой код:
#include <iostream>
#include <vector>
#include <cstdlib>
#include <time.h>
using namespace std;
int main()
{
int a, b, n;
cin >> a >> b >> n;
if(n>10000) n = 10000;
vector<int> v(n);
srand(time(0));
for(int i = 0; i < v.size(); ++i)
{
v[i] = rand()%(b-a+1) + a;
cout << v[i] << " ";
}
for (int i = 0; i < v.size(); ++i)
if ((v[i]>99) && (v[i]<1000) && (v[i]%5!=0))
cout << v[i] <<" ";
return 0;
}
Проблема в том,что не знаю как сделать подсчет чисел не кратных 5
int neKratnyh5 = 0;
for (int i = 0; i < v.size(); ++i) {
if (v[i] > 99 && v[i] < 1000 && v[i] % 5) {
neKratnyh5++;
}
}
cout << "\n" << neKratnyh5;
Когда что-то решаете, в первую очередь - продумайте механизмы решения, распишите в псевдокоде или блок-схему сделайте там .... Дальше зайдите на cppref и подумайте какие алгоритмы Вам подойдут.
Тут явно выход std::count_if - он подсчитает кол-во элементов удовлетворяющих предикату
Вот пример кода, ввод данных организуете сами.
#include <vector>
#include <iostream>
#include <iterator>
#include <random>
#include <functional>
std::vector<int64_t> GenVector(uint64_t size, uint64_t low_bound, uint64_t hight_bound) {
std::vector<int64_t> vec(size);
std::mt19937_64 generator(std::random_device{}());
std::uniform_int_distribution<> uid(low_bound, hight_bound);
auto gen{ std::bind(uid, generator) };
std::generate(std::begin(vec), std::end(vec), gen);
return std::move(vec);
}
int main()
{
const uint64_t size{100'000};
const uint64_t low_bound{0};
const uint64_t hight_bound{2'000};
auto vec{ GenVector(size, low_bound, hight_bound) };
std::copy(std::begin(vec), std::end(vec), std::ostream_iterator<uint64_t>{std::cout, " "});
std::ostream_iterator<char>(std::cout, "") = '\n';
std::ostream_iterator<uint64_t>(std::cout, "\n") = std::count_if(vec.begin(), vec.end(), [](int64_t i) {return i > 99 && i < 1000; });
return 0;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Пытаюсь сделать так, чтобы при изменении значения в comboBox база данных выводилась в datagridviewВроде бы все работает, но при закрытии формы выдает...