Напишите программу, которая определяет и инициализирует массив первыми 20 нечетными числами. Выведите числа из массива на консоль по пять в строку. Для вывода используйте нотацию указателей (имя массива в качестве указателя). Подобным образом с помощью указателя выведите элементы массива в обратном порядке.
#include <iostream> int main() { const unsigned n {20}; unsigned odds[n]; // инициализируем массив первыми 20 нечетными числами for (unsigned i{}; i < n; i++) { odds[i] = i * 2 + 1; } const unsigned perline {5}; // количество чисел на строке // вывод чисел на консоль for (unsigned i{}; i < n; i++) { std::cout << *(odds + i) << "\t"; // если i кратно 5, то продолжаем вывод на следующей строке if ((i + 1) % perline==0) { std::cout << std::endl; } } // вывод в обратном порядке std::cout << "\nReverse order:\n"; for (int i {n - 1}; i >= 0; --i) { std::cout << *(odds + i) << "\t"; if (i % perline == 0) { std::cout << std::endl; } } }
Консольный вывод:
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 Reverse order: 39 37 35 33 31 29 27 25 23 21 19 17 15 13 11 9 7 5 3 1
Напишите программу, которая определяет и инициализирует массив первыми 20 нечетными числами. Выведите числа из массива на консоль по пять в строку. Для вывода определите указатель, который указывает на массив. С помощью инкремента (++) указателя выведите элементы в прямом порядке. А с потом в отдельном цикле с помощью декремента указателя выведите элементы массива в обратном порядке.
#include <iostream> int main() { const unsigned n {20}; unsigned odds[n]; // инициализируем массив первыми 20 нечетными числами for (unsigned i{}; i < n; i++) { odds[i] = i * 2 + 1; } const unsigned perline {5}; // количество чисел на строке unsigned* ptr{ odds }; // вывод чисел на консоль for (unsigned i{}; i < n; i++) { std::cout << *ptr++ << "\t"; // если i кратно 5, то продолжаем вывод на следующей строке if ((i + 1) % perline==0) { std::cout << std::endl; } } // вывод в обратном порядке std::cout << "\nReverse order:\n"; for (unsigned i{}; i < n; i++) { std::cout << *--ptr << "\t"; if ((i + 1) % perline==0) { std::cout << std::endl; } } }
Консольный вывод:
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 Reverse order: 39 37 35 33 31 29 27 25 23 21 19 17 15 13 11 9 7 5 3 1