Array8. Дан целочисленный массив размера $$N$$. Вывести все содержащиеся в данном массиве нечетные числа в порядке возрастания их индексов, а также их количество $$K$$.
Решение от Дмитрия:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# include <iostream> # include <windows.h> # include <cmath> # include <iomanip> # include <fstream> # include "arrayint.h" using namespace std; int main () { SetConsoleCP(1251); SetConsoleOutputCP(1251); int a[NMAX]; int n = inputArray (a, NMAX, "Array8.txt"); cout <<"Дан целочисленный массив: "; showArray (a, n); int k =0; // счетчик элементов for (int i=0; i < n; ++i) { if (a[i]%2 != 0) { cout << a[i] << " "; ++k; } } cout << "Количество нечетных элементов: " << k << endl; system ("pause"); return 0; } |
arrayint.h:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# include <iostream> # include <fstream> using namespace std; const int NMAX = 100; int inputArray (int a[], int nmax, const char* name) { ifstream in (name); int n = 0; // Количество элементов while (n < nmax && in >> a[n]) {++n;} in.close(); return n; } void showArray (const int a[], int n) { for (int i = 0; i < n; ++i) { cout << a[i] << " "; } cout << endl; } |
Array8.txt
1 |
1 2 3 4 5 6 7 8 9 23 54 -1 -4 -3 |
Другие задачи из раздела Array можно посмотреть здесь.
Комментарии: