Генералиссимус. Сталин
Гуру
(2572)
4 месяца назад
Чтобы обернуть данный код в функцию с двумя входными параметрами (размер массива и сам массив), нужно сделать следующие изменения:
Копировать код
#include <iostream>
using namespace std;
void printOddNumbers(int n, int* a) {
int k = 0;
for (int i = 0; i < n; i++) {
if (a[i] % 2 != 0) {
k = 1;
cout << a[i] << " ";
}
}
if (k == 0) {
cout << "Array doesn't contain odd numbers";
}
cout << "\n";
}
int main() {
int n;
cout << "Enter the size of the array: ";
cin >> n;
int* a = new int[n];
cout << "Enter " << n << " numbers:\n";
for (int i = 0; i < n; i++) {
cin >> a[i];
}
printOddNumbers(n, a);
delete[] a;
system("pause");
return 0;
}
В этом коде произведены следующие изменения:
Создана функция printOddNumbers, которая принимает два параметра: n (размер массива) и a (сам массив).
В функции printOddNumbers перенесена логика вывода нечетных чисел и сообщения об их отсутствии.
В main функции теперь сначала запрашивается размер массива n, затем массив a заполняется пользовательскими значениями.
После заполнения массива вызывается функция printOddNumbers с параметрами n и a.
Удаление массива и вызов system("pause") остались в main функции.
Таким образом, код стал более структурированным и модульным, что облегчает его понимание и поддержку.