Вывести исходный массив и массив после преобразования по условию задачи.




ОДНОМЕРНЫЕ МАССИВЫ

Эта тема вынесена на лабораторные и практические занятия, а также на самостоятельную работу студентов. Умение решать задачи по данной теме является основой для дальнейшего понимания и изучения остальных тем по курсу «Программирование на ЯВУ»

Общие указания при составлении программ к данной теме:

Размер массива задать константой в блоке описания.

Массив заполнить случайными числами, если другого заполнения не диктует задача.

Вывести исходный массив и массив после преобразования по условию задачи.

Далее представлены варианты типовых заданий, выполняемые на практических занятиях и для самостоятельной проработки данной темы.

1) Создать массив А [1..N]. Определить среднее арифметическое положительных чисел. Все отрицательные элементы увеличить на это среднее.

2) Определить, сколько нулей находится до минимального значения в массиве Е[1..N] и среднее арифметическое положительных чисел, находящихся после минимального значения.

3) Определить среднее арифметическое положительных чисел, лежащих после минимального значения в массиве В[1..N]. Числа, находящиеся до минимального значения в массиве В, рассортировать по возрастанию.

4) Создать массив М[1..N]. Определить минимальное значение среди первой половины массива (т.е. N DIV 2 чисел). Максимальное значение всего массива заменить в массиве М на найденное минимальное значение.

5) В массиве М[1..N] найти среднее арифметическое положительных чисел и количество отрицательных до последнего нулевого значения в массиве.

6) Определить сумму элементов, лежащих до максимального значения в массиве С[1..N] и среднее арифметическое отрицательных чисел, находящихся после максимального значения.

7) В массиве С[1..N] все элементы, большие среднего арифметического положительных чисел, заменить на первое значение массива.

8) Определить среднее арифметическое четных чисел, находящихся после максимального значения в массиве D[1..N].

9) Определить, есть ли в массиве L[1..N] значение, равное половине суммы минимального и максимального чисел (т.е. (min +max) / 2) и вывести номер первого значения, если такое число есть, иначе сообщить, что таких значений не найдено.

10) В массиве А[1..N] определить максимальное значение.

Все элементы, находящиеся в массиве до максимального значения, увеличить на первое значение массива, а все числа, расположенные после максимального значения, рассортировать по убыванию.

11) Все элементы в массиве С[1..N], меньшие среднего арифметического положительных чисел массива, заменить на максимальное значение массива.

12) Создать массив А[1..N]. Определить сумму отрицательных чисел. Из положительных чисел массива А создать массив В и определить в нем минимальное число. Вывести сумму, массив В и его минимальное.

13) Определить, сколько нулей находится между минимальным и максимальным значениями массива Н[1..N]. Если нулей нет, то рассортировать эти числа.

14) В массиве Z[1..N] определить сумму нечетных чисел от последнего нулевого значения до Z[N] и среднее арифметическое четных чисел, находящихся в массиве до последнего нуля. Если нулей в массиве нет, то рассортировать числа по убыванию.

15) Определить, сколько нулей лежит вне минимального и максимального значений массива X[1..N]. Числа, расположенные между минимальным и максимальным значениями, рассортировать по возрастанию.

16) В массиве А[1..N] определить сумму всех положительных чисел, количество нулей, из отрицательных чисел массива А создать массив В. Определить максимальное в массиве В.

17) В массиве D[1..N] найти, есть ли два элемента, стоящих друг за другом, сумма которых больше максимального числа. Вывести на экран эти значения и их номера. Если таких чисел нет, то сделать сообщение об этом.

18) Создать массив Х[1..N]. Организовать массив Y так, чтобы в начале были положительные числа массива Х, в конце отрицательные числа. При этом сортировку не применять. Определить среднее арифметическое отрицательных чисел.

19) Из массива С[1..N] создать массив D так, чтобы элемент массива D[ i ],был равен сумме элементов массива С от первого числа до i –того числа.

20) В массиве Y[1..N] определить суммы первого числа с последним числом, второго с предпоследним и т.д. Из сумм создать новый массив и определить минимальное значение в этом массиве сумм.

21) Создать массив X[1..N]. Определить среднее арифметическое положительных чисел, из отрицательных чисел создать новый массив Y. Минимальное и максимальное значения в массиве Х заменить на это среднее арифметическое.

22) В массиве A[1..N] найти среднее арифметическое индексов положительных чисел и количество нулей. Если нулей больше 2, то все нули заменить на это среднее арифметическое.

23) В массиве Z[1..N] каждое из чисел уменьшить на минимальное значение. Минимальное число в массиве не изменять.

24) Создать массив A[1..N]. Если количество положительных чисел меньше, чем отрицательных, то каждое положительное число увеличить на первое положительное значение в массиве. Определить минимальное и максимальное значения и их порядковые номера.

25) Создать два целочисленных массива X[1..n] и Y[1..k], где n>k. Определить, можно ли в массиве Х найти такие k идущих подряд элементов X[i+1], X[i+2],...,X[i+k], чтобы X[i+1]=Y[1], X[i+2]=Y[2],...,X[i+k]=Y[k]. Написать программу, которая дает ответ 'да' и выводит начальный индекс в массиве Х (т.е. i+1) или дает ответ 'нет'.

26) Создать целочисленный массив A[1..n] и ввести число М. Найти, есть ли такое множество подряд идущих элементов A[i+1], A[i+2],...,A[i+k], что сумма их равна М (A[i+1]+A[i+2]+...+A[i+k]=M). Вывести эти числа и индекс, с которого начинается эта последовательность, либо сообщить, что таких чисел не найдено.

27) В массиве A[1..N] определить минимальное значение. Все числа, лежащие за минимальным значением записать в новый массив В и определить в нем среднее арифметическое положительных чисел.

28) В массиве В[1..N] определить максимальное значение. Составить новый массив С из чисел, лежащих до максимального. Найти в нем минимум.

29) Создать одномерный массив A[1..N]. Все его элементы, не равные нулю, переписать, сохраняя их порядок, в начало массива, а нулевые значения - в конец массива. Новый массив при этом не заводить.

30) Создать массив Х, заканчивающийся нулем (т.е. заранее не знаем, сколько чисел получится в массиве Х при создании его). Все элементы массива Х циклически сдвинуть на k разрядов влево, если k – положительно, иначе сдвинуть числа вправо.

31) Создать массив целых чисел M[1..N], в котором могут быть нули. Последовательность чисел до первого нуля, между нулями и от последнего нуля до последнего числа назовем серией. Отсортировать массив М по убыванию количества чисел в каждой серии.

32) Создать массив целых чисел R[1..N], содержащий серии чисел, разделенных нулями (пояснение см. в задании 31). Отсортировать массив по возрастанию сумм чисел в сериях.

33) Создать массив целых чисел W[1..N], содержащий серии чисел, разделенных нулями (пояснение см. в задании 31). Отсортировать по убыванию числа внутри серии.

 

34) По заданной последовательности целых чисел массива А[1..N] построить такую последовательность В (т.е. массив), где каждое B[i] - это количество элементов из массива А, превосходящих число A[i] в начальном отрезке массива А длиной от 1-го до (i-1)-го числа.

35) Найти максимальную по длине монотонную (т.е. либо не убывающую, либо не возрастающую) последовательность чисел в массиве Х[1..N] целых чисел.

36) Создать 2 массива: А[1..N], отсортированный по возрастанию и массив В[1..M], отсортированный по убыванию. Произвести слияние массивов А и В в массив С[1..N+M] таким образом, чтобы массив С был упорядочен по возрастанию. Слияние производить в соответствии с упорядоченностью чисел в массивах А и В (т.е. сортировку массива С не делать).

37) Создать массив целых чисел F[1..N]. Напечатать неубывающую последовательность, содержащуюся в массиве F и включающую в себя минимальное значение массива.

38) Создать массив целых чисел P[1..N]. Отсортировать по убыванию только отрицательные числа. Сортировку производить в массиве Р. Положительные числа должны оставаться на своих местах. Желательно новый массив не заводить.

39) Создать массив целых чисел D[1..N]. Отсортировать по возрастанию только числа, меньше порога, введенного с клавиатуры. Сортировку производить в массиве D. Числа, больше порога, должны оставаться на своих местах.

40) Создать массив целых чисел C[1..N]. В одном цикле найти 3 максимальных значения в массиве. Заменить эти максимальные на их среднее.

41) Создать массив целых чисел B[1..N]. Сформировать новый массив, содержащий суммы элементов, расположенных между соседними локальными минимумами (локальным минимумом называется значение, соседние числа у которого больше его).

42) Создать массив А[1..N] целых положительных чисел Определить, содержатся ли в данном массиве числа Фибоначчи (числа Фибоначчи – это константы и определяются они по закону F[1]=1;F[2]=1; каждое следующее определяется как: F[i]=F[i-1]+F[i-2]; сколько сгенерировать таких чисел Фибоначчи – решать самому). Найти сумму чисел и сумму индексов чисел, находящихся в массиве и среди чисел Фибоначчи.

43) Даны 3 массива: A[1..N], B[1..M], C[1..K]. Создать массив D из чисел, которые встречаются во всех трех массивах. Числа в массиве D учитывать один раз.

44) Подсчитать количество различных чисел, встречающихся в массиве A[1..N]. Повторяющиеся числа учитываются один раз. Организовать новый массив из этих чисел.

45) В массиве N целых чисел. Определить, сколько раз встречаются числа Фибоначчи и сколько чисел в массиве, первая значащая цифра в десятичной записи которых равна 1 или 2. (Числа Фибоначчи равны: F[1]=1; F[2]=1;..; F[ i ]=F[ i -2 ]+F[ i - 1], т.е. это константы).

46) Дано целое N в пределах от 2 до 1000. Используя метод " решетка Эратосфена ", напечатать в убывающем порядке все простые числа из диапазона N.. 2N. (Суть метода: выписываются все целые числа, большие 1; выбирается первое из них (это 2, простое число) и вычеркиваются все кратные ему числа, кроме него самого; затем берется следующее из не вычеркнутых чисел (это 3, опять простое) и вычеркиваются все кратные ему, опять же кроме него самого; и так для каждого не вычеркнутого ранее числа. Наконец, у нас останутся только простые числа, начиная с 2, но нам их нужно вывести в убывающем порядке).

47) Для последовательности целых положительных чисел М определить значение функции В(m) по следующему алгоритму: число М преобразовывается в двоичную систему счисления, затем разряды в этой записи переставляются местами в обратном порядке и снова преобразуются в десятичную систему счисления. Получившееся число принимается за значение функции B(m). Напечатать значения B(m) для m=512, 513, 514,...,1023. (Начало распечатки должно быть 1, 513, 257,...).

48) Создать массив X[1..m]. Найти длину k и вывести на печать самую длинную "пилообразную" (зубьями вверх) последовательность идущих подряд чисел. X[ p+1]< X[ p+2 ]> X[ p+ +3 ]<...>X[ p+k ].

49) Правый больший. Создать массив положительных чисел A[1.. n]. Для каждого числа A[i] среди элементов массива, следующих по порядку за A[i] и больших, чем A[i], выберем элемент с наименьшим номером j и заменим значение A[i] на A[j]. Если такого элемента A[j] не найдется, то заменим значение A[i] нулем. Можно завести вспомогательные массивы. Например, массив из чисел: 2,9,8,5,9,3,4,5,2 после замены преобразуется в массив: 9,0,9,9,0,4,5,0,0.

50) В массиве X[1..n] каждый элемент равен 0, 1 или 2. Переставить элементы массива так, чтобы сначала располагались все 0, затем 1, затем 2. Сортировку при этом не делать.

51) Составить программу вывода всех трехзначных десятичных чисел, сумма цифр которых равна данному натуральному числу М.

52) Напечатать все натуральные четырехзначные числа, в десятичной записи которых нет одинаковых цифр.

53) Мода. В целочисленном массиве A[1..n] найти число, повторяющееся максимальное количество раз. Если таких чисел окажется несколько, то вывести их все. Новый массив при этом не заводить.

54) Создать последовательность натуральных чисел, заканчивающихся нулем (т.е. размер массива заранее не известен). Вычислить сумму тех из них, порядковые номера которых простые числа.

55) Создать последовательность натуральных чисел, заканчивающихся нулем (т.е. размер массива заранее не известен). Записать в новый массив все числа, являющиеся полиндромом, т.е. таким, десятичная запись которого читается одинаково слева направо и справа налево.

56) Создать две последовательности по N чисел в каждой. Найти наименьшее среди тех чисел первой последовательности, которые не входят во вторую последовательность (считая, что хотя бы одно такое число есть).

57) Создать последовательность натуральных чисел, за которой следует ноль (т.е. размер массива заранее не известен). Вычислить сумму тех из них, порядковые номера которых - числа Фибоначчи (о числах Фибоначчи см. вариант 42).

58) Вычислить все пары чисел - "близнецов" в первой сотне чисел натурального ряда. "Близнецами" называются такие простые числа p и q, для которых выполняется равенство: p-q=2 (пример простых чисел – «близнецов» 3 и 5 или 11 и 13).

59) Перевертыши. Создать числовой массив A[1..n]. Найти отрезок массива максимальной длины, в котором первое число равно последнему, второе - предпоследнему и т.д. Вывести длину этого отрезка и сам отрезок.

60) Индексы порядка. Создать числовой массив A[1..m]. В дополнительном массиве сделать такую перестановку индексов i1,i2,...,im, чтобы A[i1]<=A[i2]<=...<=A[im].

61) Дан массив целых чисел Х[1].. X[m+n], рассматриваемый как соединение двух его отрезков: начала X[1].. X[m] длины m и конца X[m+1].. X[m+n] длины n. Не используя дополнительных массивов, переставить начало и конец массива (число действий желательно m+n).

62) Даны две последовательности X[1].. X[n] и Y[1].. Y[k] целых чисел, где n>=k. Выяснить, является ли вторая последовательность чисел «подпоследовательностью» первой, т.е. можно ли из первой вычеркнуть некоторые члены так, чтобы осталась вторая (число действий желательно n+k).

63) В массиве целых чисел найти все числа, в десятичной записи которых нет повторяющихся цифр.

64) Рассортировать по убыванию только четные числа массива, находящиеся до минимального значения в массиве.

65) В массиве X[1..N] переставить местами 1-е с 3-м, 4-е с 6-м, 7-е с 9-м и т. д. 2-е,5-е,8-е и т. д. числа записать в новый массив и рассортировать его.

66) Рассортировать только четные числа в массиве. Нечетные должны остаться на своих местах.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2018-01-08 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: