Array12. Дан массив $$A$$ размера $$N$$ ($$N$$ — четное число). Вывести его элементы с четными номерами в порядке возрастания номеров: $$A_2, A_4, A_6, …, A_N$$. Условный оператор не использовать.
Решение от Дмитрия:
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 |
# include <iostream> # include <windows.h> # include <cmath> # include <iomanip> # include <fstream> # include "arraydouble.h" using namespace std; int main () { SetConsoleCP(1251); SetConsoleOutputCP(1251); cout << "Дан массив: "; double a[NMAX]; int n = inputArray (a, NMAX, "Array12.txt"); showArray (a, n); cout << "Элементы с четными номерами в порядке возрастания номеров: "; for(int i = 0; i < n; i+=2) { cout << a[i] << " "; } printf ("\n"); system ("pause"); return 0; } |
arraydouble.h
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# include <iostream> # include <fstream> using namespace std; int inputArray (double 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 double a[], int n) { for (int i = 0; i < n; ++i) { cout << a[i] << " "; } cout << endl; } |
Array12.txt
1 |
-2 -6 3 0 -5 -2 6 88 33 24 66 12345 |
Другие задачи из раздела Array можно посмотреть здесь.
Комментарии: