Поэтому у меня есть ряд чисел, которые будут останавливаться, когда вы вводите число, которое делится на 3. Я должен подсчитать числа из этой серии, которые также включены в заданный интервал (например, [a, b]), а затем показывают их.
#include <iostream>
using namespace std;
int main() {
unsigned n, a, b, k = 0, x;
cout << "a="; cin >> a;
cout << "b="; cin >> b;
cout << "n="; cin >> n;
while(!(n % 3 == 0))
{
if (a < n && n < b)
{
k++;
x = n;
}
cout << "n="; cin >> n;
}
cout << "No. of numbers from the interval " << k << endl;
cout << "The numbers from the interval " << x << endl;
return 0;
}
Если я приведу, например, 7 номеров, он покажет мне значение k
6
и x
4294967294
. Для a
и b
я использовал значения 1
и 79
и я дал только n
значений от 1
до 20
.
Следующие могут помочь: https://ideone.com/Ig8PEd
#include <iostream>
#include <vector>
int main() {
unsigned n, a, b;
std::cout << "a="; std::cin >> a;
std::cout << "b="; std::cin >> b;
std::cout << "n="; std::cin >> n;
std::vector<int> v;
while (n % 3 != 0) {
if (a < n && n < b) {
v.push_back(n);
}
std::cout << "n="; std::cin >> n;
}
std::cout << "No. of numbers from the interval " << v.size() << std::endl;
std::cout << "The numbers from the interval:" << std::endl;
for (std::size_t i = 0; i != v.size(); ++i) {
std::cout << v[i] << " ";
}
return 0;
}
using namespace std
после ввода библиотек не устранит необходимость писать std :: перед каждой строкой кода? :)
using namespace std
(конфликт using namespace std
). std::vector<int>
- это динамический массив типа int
. push_back
добавляет новое значение в конце. v.size()
возвращает номер элемента массива. v[i]
возвращает i
й элемент массива.
x
, поэтому неудивительно, что он дает такой результат.