Компания ALT Linux
Опубликован: 07.03.2015 | Доступ: свободный | Студентов: 2141 / 488 | Длительность: 24:14:00
Лекция 5:

Массивы

5.7 Задачи для самостоятельного решения

5.7.1 Основные операции при работе с массивами

Разработать программу на языке C++ для решения следующей задачи.

  1. Задан массив целых чисел X(n). Найти
    • сумму чётных элементов массива;
    • наибольшее из отрицательных чисел массива.
    Из данного массива и некоторого массива того же типа, но другой размерности Y (m), сформировать общий массив Z(n + m). Выполнить сортировку полученного массива по возрастанию модулей. Удалить из массива число с номером k.
  2. Задан массив вещественных чисел A(n). Найти
    • произведение положительных элементов массива;
    • сумму отрицательных чисел, расположенных после максимального элемента массива.
    Из данного массива и некоторого массива того же типа, но другой размерности B(m), сформировать общий массив C(n + m). Преобразовать полученный массив так, чтобы все его положительные элементы стали отрицательными, и наоборот. Удалить предпоследний элемент массива.
  3. Задан массив вещественных чисел A(n). Найти
    • произведение ненулевых элементов массива.
    • сумму чётных чисел, расположенных до минимального элемента массива.
    Из заданного массива A(n) все положительные числа переписать в массив B, а отрицательные в массив C. Удалить из массива A(n) первый чётный элемент.
  4. Задан массив целых чисел X(n). Найти
    • сумму положительных чётных элементов массива;
    • количество элементов массива, расположенных после первого нулевого элемента.
    Из данного массива и некоторого массива того же типа, но другой размерности Y (m), сформировать общий массив Z(n + m). Удалить из полученного массива наибольший элемент.
  5. Задан массив вещественных чисел X(n). Найти
    • сумму элементов с нечётными номерами;
    • произведение элементов массива, расположенных между первым и последним отрицательными элементами.
    Из данного массива и некоторого массива того же типа, но другой размерности Y (m), сформировать общий массив Z(n+m). Удалить из полученного массива наименьший элемент.
  6. Задан массив вещественных чисел X(n). Найти
    • сумму положительных элементов массива;
    • произведение элементов с нечётными индексами, расположенных во второй половине массива.
    Из данного массива и некоторого массива того же типа, но другой размерности Y (m), сформировать общий массив Z(n + m) таким образом, чтобы в нём сначала располагались все отрицательные элементы, затем элементы, равные нулю, и в заключение все положительные. Удалить из массива Z(n + m) максимальный элемент.
  7. Задан массив целых чисел B(n). Найти
    • произведение отрицательных элементов с чётными индексами.
    • максимальный элемент среди элементов, которые кратны 3.
    Из данного массива и некоторого массива того же типа, но другой размерности C(m), сформировать массив A, состоящий только из неотрицательных значений заданных массивов. Удалить из массива A первое число, кратное 17.
  8. Задан массив целых чисел X(n). Найти
    • сумму чисел, расположенных в первой половине массива;
    • разность между значениями максимального и минимального элементов массива.
    Из данного массива сформировать новый массив Y, в который записать все ненулевые элементы массива X(n). Удалить из массива X(n) последнее чётное число.
  9. Задан массив целых чисел X(n). Найти
    • произведение элементов массива, кратных трём;
    • сумму чисел, которые расположены между минимальным и максимальными элементами массива.
    Из данного массива сформировать новый массив Y(n), в который переписать все элементы массива X(n) в обратном порядке. Удалить из массива Y(n) минимальный и максимальный элементы.
  10. Задан массив целых чисел X(n). Найти
    • сумму нечётных положительных элементов массива;
    • количество чисел, которые расположены до первого нулевого элемента в массиве.
    Записать элементы заданного массива в обратном порядке. Определить положение максимального элемента до и после преобразования. Удалить максимальный элемент.
  11. Задан массив целых чисел X(n). Найти
    • сумму чётных элементов;
    • количество чисел, которые расположены после минимального элемента массива.
    Заменить нулевые элементы заданного массива значениями их номеров. Определить среднее арифметическое элементов массива до и после преобразования. Удалить минимальный элемент массива X(n).
  12. Задан массив вещественных чисел X(n). Найти
    • процент отрицательных чисел в массиве;
    • сумму первого и последнего положительных элементов.
    Записать элементы заданного массива в обратном порядке. Определить положение минимального элемента до и после преобразования. Удалить минимальный элемент.
  13. Задан массив целых чисел A(n). Найти
    • среднее арифметическое элементов массива;
    • минимальный элемент и его индекс в первой половине массива.
    Из данного массива и некоторого массива того же типа, но другой размерности B(m) сформировать общий массив C, в который переписать удвоенные положительные значения элементов исходных массивов. Удалить из массива C последний чётный элемент.
  14. Задан массив целых чисел A(n). Найти
    • сумму элементов массива, кратных 13;
    • количество чётных чисел, расположенных до максимального элемента массива.
    Сформировать массив C, в который переписать квадраты отрицательных элементов исходного массива A(n). Удалить из массива C три последних чётных элемента.
  15. Задан массив целых чисел P(n). Найти
    • количество нечётных элементов массива;
    • произведение чисел, расположенных до минимума.
    Первую половину массива P(n) переписать в массив R, а вторую в массив Q. Найти сумму квадратов разностей элементов массивов R и Q. Удалить из массива P(n) последнее число, кратное 5.
  16. Задан массив целых чисел X(n). Найти
    • сумму чётных элементов во второй половине массива;
    • количество чисел расположенных между первым и последним отрицательными элементами массива.
    Из заданного массива X(n) все положительные числа переписать в массив Y, а отрицательные в массив Z. Поменять местами максимальный и минимальный элементы в массиве X(n). Удалить третий элемент массива X(n).
  17. Задан массив целых чисел X(n). Найти
    • количество чётных элементов в массиве;
    • среднее геометрическое положительных элементов массива, расположенных в его первой половине.
    Все отрицательные элементы заданного массива заменить значением его максимального элемента. Удалить из массива первый нулевой элемент.
  18. Задан массив целых чисел P(n). Найти
    • сумму модулей элементов массива;
    • номер первого нулевого элемента.
    Из данного массива и некоторого массива того же типа, но другой размерности R(m) сформировать общий массив Q, в который переписать положительные значения элементов исходных массивов. Удалить из массива Q наибольший чётный элемент.
  19. Задан массив целых чисел X(n). Найти
    • произведение чисел, кратных 7;
    • количество чисел, которые расположены между первым и последним чётными числами.
    Из данного массива сформировать новый массив Y, в который переписать первые k положительных элементов массива X(n). Удалить из массива X(n) число, наименее отличающееся от среднего арифметического значения элементов массива.
  20. Задан массив целых чисел A(n). Найти
    • произведение ненулевых элементов массива;
    • среднее арифметическое элементов массива, расположенных в его первой половине.
    Из данного массива и некоторого массива того же типа и размерности B(n) сформировать массив C(n) каждый элемент которого равен квадрату суммы соответствующих элементов массивов A(n) и B(n). Удалить из массива C(n) наибольший и наименьший элементы.
  21. Задан массив вещественных чисел X(n). Найти
    • произведение абсолютных значений элементов массива;
    • количество нечётных элементов массива, расположенных в его второй половине.
    Из данного массива и некоторого массива того же типа и размерности Y(n) сформировать массив Z(n) каждый элемент которого равен квадрату разности соответствующих элементов массивов X(n) и Y(n). Удалить из массива Z(n) минимальный элемент и поменять местами первый и последний элементы.
  22. Задан массив целых чисел A(n). Найти
    • сумму элементов массива, кратных трём;
    • произведение ненулевых элементов массива с чётными индексами.
    Сформировать массива B, в который записать последние k элементов массива A(n). Удалить из массива A(n) максимальный нечётный элемент.
  23. Задан массив вещественных чисел P(n). Найти
    • количество положительных элементов массива;
    • номера первого положительного и последнего отрицательного элементов массива.
    В массиве P(n) поменять местами первые и последние пять элементов. Удалить из массива P(n) элемент, наименее отличающийся от среднего арифметического.
  24. Задан массив целых чисел B(n). Найти
    • среднее геометрическое элементов, которые кратны трём и хранятся в массиве под чётным индексом.
    • минимальный элемент среди положительных чётных элементов.
    Из данного массива и некоторого массива того же типа, но другой размерности C(m) сформировать массив A, состоящий только из положительных значений заданных массивов. Удалить из массива B(n) первый чётный и последний нечётный элементы.
  25. Задан массив вещественных чисел X(n). Найти
    • номер минимального по модулю элемента массива;
    • среднее арифметическое первых k положительных элементов.
    Из данного массива и некоторого массива того же типа, но другой размерности Y(m) сформировать общий массив Z таким образом, чтобы сначала располагались все отрицательные элементы, а затем все положительные. Удалить из массива наибольшее и наименьшее простое число.

5.7.2 Применение функций для обработки массивов.

Разработать программу на языке C++ для решения следующей задачи.

  1. Задан массив целых чисел X(n). Все простые числа переписать в массив Y. Из массива Y удалить 5 наибольших элементов массива. Вывести на экран содержимое массива Y в двоичной системе.
  2. Заданы массивы целых чисел X(n) и Y(k). Все совершённые числа из этих массивов переписать в массив Z. В массиве Z найти четыре наименьших элемента массива. Результаты вывести на экран в восьмеричной системе.
  3. Заданы массивы целых чисел X(n) и Y (k). Два наибольших элемента из массива X и пять последних простых чисел из массива Yпереписать в массив Z. Проверить содержит ли массив Z числа, в которых есть цифра "7".
  4. Заданы массивы целых чисел X(n) и Y (k). Три наименьших простых числа из массива Y и числа из массива X, в которых есть цифры "1" и "9" переписать в массив Z. Из массива Z удалить все нечётные числа.
  5. Задан массив целых чисел X(n). Шесть наибольших чисел этого массива переписать в массив Z. Удалить из массива Z все чётные числа. Вывести на экран элементы массива Z в восьмеричной системе счисления.
  6. Заданы массивы целых чисел X(n) и Y (k). Числа из массива X, в которых нет "нулей" и составные числа из массива Y, переписать в массив Z. Найти в массиве Z пять наибольших нечётных чисел. Выполнить сортировку массивов X, Y и Z в порядке возрастания их элементов.
  7. Заданы массивы целых положительных чисел. X(n) — в двоичной системе счисления, а Y (k) — в восьмеричной. Все числа из массивов X и Y переписать в массив десятичных чисел Z. В массиве Z найти пять наибольших простых числа. Удалить из массива Z все составные числа.
  8. Задан массив целых положительных чисел X(n). Все простые числа длиной не более пяти цифр переписать в массив Y.Удалить из массива два наибольших и три наименьших числа.
  9. Задан массив целых положительных чисел в пятеричной системе X(n). Из массива X сформировать массив десятеричных чисел Z. Найти сумму трёх наименьших и четырёх наибольших чисел массива Z.
  10. Заданы массивы целых положительных чисел X(n), Y (k), Z(m). Сформировать массив U из таких элементов массивов X, Y, Z, которые в восьмеричной системе образуют возрастающую последовательность цифр. Найти пять наибольших чисел в массива U.
  11. Задан массив целых положительных чисел X(n). Все числа в которых нет цифр "1", "2" и "3" переписать в массив Y. Найти сумму двух наибольших и трёх наименьших простых чисел в массиве Y.
  12. Заданы массивы целых положительных чисел X(n), Y (k), Z(m). Сформировать массив U из таких элементов массивов X, Y, Z, которые состоят из одинаковых цифр. Удалить из массива U наибольшее и наименьшее число. Выполнить сортировку массивов X(n), Y (k), Z(m) в порядке возрастания их элементов.
  13. Задан массив целых положительных чисел X(n). Все числа, в которых нет цифры ноль, а их длина не менее трёх цифр переписать в массив Z. Поменять местами наибольшее составное число и наименьшее простое число в массиве Z.
  14. Задан массив целых чисел X(n). Все положительные числа, состоящие из одинаковых цифр, переписать в массив Z. Удалить из массива Z числа с чётной суммой цифр.
  15. Заданы массивы целых чисел X(n) и Y (k). Все числа, с нечётной суммой цифр, переписать в массив Z. Найти три наибольших простых числа в массиве Z.
  16. Заданы массивы целых чисел X(n) и Y (k). Три наибольших числа из массива X и числа из массива Y, в которых нет чётных цифр переписать в массив Z. Элементы массива Z вывести на экран в восьмеричной и десятичной системах счисления.
  17. Задан массив целых чисел X(n). Семь наименьших простых чисел переписать в массив Z. Удалить из массива числа с чётной суммой цифр.
  18. Заданы массивы целых чисел X(n) и Y (k). Положительные числа из массива X и пять наибольших чисел из массива Y переписать в массив Z. Найти сумму четырехзначных чисел массива Z.
  19. Заданы массивы целых положительных чисел: X(n) — в пятеричной, а Y (k) в шестеричной системах счисления. Все числа из массивов переписать в массив десятичных чисел Z. В массиве Z найти пять наибольших чисел с нечётной суммой цифр.
  20. Заданы массивы целых положительных чисел X(n), Z(m). Все простые числа из массивов X и Z, в которых есть цифры "1", "2" или "3" переписать в массив Y. Найти произведение двух наибольших и три наименьших простых чисел массива Y.
  21. Задан массив целых положительных чисел в двоичной системе X(n). Из массива X сформировать массив десятеричных чисел Z. Из массива Z удалить четыре наименьших и три наибольших числа.
  22. Заданы массивы целых положительных чисел X(n), Y (k), Z(m). Сформировать массив U из элементов массивов X, Y, Z, которые образуют убывающую последовательность цифр. Найти сумму семи наименьших чисел массива U.
  23. Задан массив целых положительных чисел X(n). Переписать в массив Y все числа-палиндромы, остальные числа переписать в массив Z. Удалить из массива Z все числа которые есть нули или сумма цифр нечётна.
  24. Заданы массивы целых положительных чисел X(n), Y (k), Z(m). Числа, которые не состоят из одинаковых цифр, переписать в массив U. Удалить из массива U числа с чётной суммой цифр.
  25. Задан массив целых положительных чисел X(n). Все числа с чётной суммой цифр переписать в массив Z. Элементы массива Z упорядочить в порядке убывания суммы цифр.

5.7.3 Работа с группами элементов в массиве

Разработать программу на языке C++ для решения следующей задачи.

  1. В массиве вещественных чисел найти предпоследнюю группу, которая состоит только из отрицательных элементов.
  2. В массиве вещественных чисел найти первую и последнюю группы знакочередующихся элементов.
  3. В массиве целых чисел найти вторую и третью группу, состоящую из нечётных цифр.
  4. В массиве целых чисел найти предпоследнюю группу, состоящую из возрастающей последовательности чисел.
  5. Из массива целых чисел удалить предпоследнюю группу, состоящую из возрастающей последовательности чисел.
  6. Из массива целых чисел удалить последнюю группу, состоящую из убывающей последовательности нечётных чисел.
  7. Из массива целых чисел удалить группу наибольшей длины, которая состоит из возрастающей последовательности нечётных чисел.
  8. В массиве целых чисел найти группу наименьшей длины, которая состоит из убывающей последовательности чётных чисел.
  9. Из массива целых чисел удалить две группы наибольшей длины, состоящие из простых чисел, в которых нет чётных цифр.
  10. Задан массив целых чисел. Вывести на экран первую и последнюю группы, состоящие из простых чисел.
  11. Из массива целых чисел удалить три группы наименьшей длины, состоящие из простых чисел, в представлении которых нет цифры семь.
  12. Из массива целых чисел удалить группу наибольшей длины, которая состоит из возрастающей последовательности простых чисел.
  13. Из массива целых чисел удалить все группы, которые состоят из убывающей последовательности чётных чисел.
  14. В массиве вещественных чисел найти группу максимальной длины, которая состоит из знакочередующихся чисел.
  15. В массиве вещественных чисел найти группу минимальной длины, которая состоит из убывающей последовательности чисел.
  16. Из массива вещественных чисел удалить все группы, состоящие из невозрастающей последовательности чисел.
  17. Из массива вещественных чисел удалить три группы наибольшей длины, состоящие из возрастающей последовательности чисел.
  18. В массиве целых чисел найти две последних группы, состоящие из простых чисел, причём цифры каждого числа образуют возрастающую последовательность.
  19. Из целочисленного массива удалить группу простых чисел минимальной длины, цифры которых образуют убывающей последовательность.
  20. Из целочисленного массива удалить группу минимальной длины, состоящую из элементов, представляющих собой возрастающую последовательность чётных цифр.
  21. В массиве целых чисел найти группы наименьшей и наибольшей длины, которые состоят из простых чисел.
  22. В массиве целых чисел найти группу наибольшей длины, которая состоит из неубывающей последовательности нечётных чисел.
  23. Из массива целых чисел удалить две группы наименьшей длины, состоящие из составных чисел, в записи которых нет цифр "0" и "2".
  24. Задан массив целых чисел. Вывести на экран первую и последнюю группы, состоящие из простых чисел с нечётной суммой цифр в каждом.
  25. Из массива целых чисел удалить три группы наибольшей длины, которые состоят из отрицательных чисел с чётной суммой цифр в каждом.

5.7.4 Сортировка элементов массива

Разработать программу на языке C++ для решения следующей задачи.

  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. Задан массив целых положительных чисел. Сформировать новый массив, куда записать элементы исходного массива, состоящие из нечётных цифр. Упорядочить элементы полученного массива в порядке убывания суммы цифр чисел.
Сергей Радыгин
Сергей Радыгин

Символы кириллицы выводит некорректно. Как сделать чтобы выводился читабельный текст на русском языке?

Тип приложения - не Qt,

Qt Creator 4.5.0 основан на Qt 5.10.0. Win7.

 

Юрий Герко
Юрий Герко

Кому удалось собрать пример из раздела 13.2 Компоновка (Layouts)? Если создавать проект по изложенному алгоритму, автоматически не создается  файл mainwindow.cpp. Если создавать этот файл вручную и добавлять в проект, сборка не получается - компилятор сообщает об отсутствии класса MainWindow. Как правильно выполнить пример?