Пользователь вводит число x через цикл:
for (i=1;i<=n;i++)
cin >> n;
Чисел n заранее вводится пользователем.
Нужно из этого набора взять первое четное число и минимальное число кратное 3.
C/C++
Как записать из набора чисел первое четное и минимальное кратное 3
Странный цикл у тебя. Условие зависит от n, и он тут же в цикле и вводится. Так что подозреваю, что с таким циклом - никак.
// Из условия задания не совсем понятно, цель поиска.
// Первый вариант, ищет одно число, которое удовлетворяет сразу всем условиям: чётности, кратности и минимальности
#include <iostream>
using namespace std;
int main() {
auto min = numeric_limits<int>::max();
cout << "n: ";
size_t n;
cin >> n;
int x;
cout << ">>> ";
for (auto i = 0U; i < n; ++i) {
cin >> x;
if (0 == x % 6 && min > x) min = x;
}
if (min != numeric_limits<int>::max()) {
cout << "min: " << min << '\n';
} else {
puts("Not found!");
}
system("pause > nul");
}
// Второй вариант разделяет поиск и ищет два числа: первое – минимальное кратное трём; второе – первое чётное в последовательности
#include <iostream>
using namespace std;
int main() {
auto min = numeric_limits<int>::max();
cout << "n: ";
size_t n;
cin >> n;
int x;
cout << ">>> ";
auto flag = true;
int even;
for (auto i = 0U; i < n; ++i) {
cin >> x;
if (0 == x % 3 && min > x) min = x;
if (flag && ~x & 1) {
flag = !flag;
even = x;
}
}
if (min != numeric_limits<int>::max()) {
cout << "min: " << min << '\n';
} else {
puts("Min not found!");
}
if (!flag) {
cout << "even: " << even << '\n';
} else {
puts("All odd! Sorry...");
}
system("pause > nul");
}
// Первый вариант, ищет одно число, которое удовлетворяет сразу всем условиям: чётности, кратности и минимальности
#include <iostream>
using namespace std;
int main() {
auto min = numeric_limits<int>::max();
cout << "n: ";
size_t n;
cin >> n;
int x;
cout << ">>> ";
for (auto i = 0U; i < n; ++i) {
cin >> x;
if (0 == x % 6 && min > x) min = x;
}
if (min != numeric_limits<int>::max()) {
cout << "min: " << min << '\n';
} else {
puts("Not found!");
}
system("pause > nul");
}
// Второй вариант разделяет поиск и ищет два числа: первое – минимальное кратное трём; второе – первое чётное в последовательности
#include <iostream>
using namespace std;
int main() {
auto min = numeric_limits<int>::max();
cout << "n: ";
size_t n;
cin >> n;
int x;
cout << ">>> ";
auto flag = true;
int even;
for (auto i = 0U; i < n; ++i) {
cin >> x;
if (0 == x % 3 && min > x) min = x;
if (flag && ~x & 1) {
flag = !flag;
even = x;
}
}
if (min != numeric_limits<int>::max()) {
cout << "min: " << min << '\n';
} else {
puts("Min not found!");
}
if (!flag) {
cout << "even: " << even << '\n';
} else {
puts("All odd! Sorry...");
}
system("pause > nul");
}
какой то бессмысленный цикл
Похожие вопросы
- Вывести на экран набор чисел в виде таблицы. Между столбиками по два пробела. Столбики должны быть выровнены.
- Дано не менее 3-х различных натуральных чисел, за которыми следует 0. Определить 3 наибольших числа в последовательности
- Найти произведение элементов массива а, состоящего из 25 целых чисел, кратных 2 на Паскаль
- Найти сумму цифр чисел, записанных в файл
- Можно ли через функцию memset записать число в элемент массива больше чем 255? (Си)
- Заменить нулями элементы массива, которые расположены между первым минимальным и последним максимальным элементами масси
- Записать значения чисел фиббоначи в переменные и вернутт одновременно три значения переменных.
- Задан целочисленный массив размера N. Определить число элементов в массиве кратных 2.
- Найти сумму и количество случайных элементов последовательности размером n, кратных числу k
- Как компьютер определяет что в памяти записано знаковое или беззнаковое число?