Лекция: Задачи на одномерные и двумерные массивы

1. Пусть дано 100 целых чисел. Распечатайте их в обратном порядке по 6 чисел в строке.

2. Пусть дано 100 чисел. Напечатайте сначала все отрицательные из них, затем – все остальные.

3. Пусть вводится последовательность символов, длина которой не больше наперед заданного числа n_max. Замените каждую из рядом стоящих групп точек одной точкой. Решите эту задачу в двух вариантах:

а) полученная последовательность просто выводится на печать, а массив, в котором хранится исходная последовательность, не изменяется;

б) преобразованная последовательность должна заместить исходную в массиве.

4. Известно, что длина последовательности символов не превышает наперед заданного числа n_max. Подсчитайте максимальное количество идущих подряд пробелов.

5. Пусть дано натуральное число n и вещественные числа a1, …. аN. В последовательности a1, …. аN все отрицательные члены увеличьте на 0,5, а все неотрицательные, меньшие среднего арифметического, заменить на 0,1.

6. Пусть даны натуральное число n, целые числа a1, …., аN. Получите сумму положительных, число отрицательных и число нулевых членов последовательности a1, …., аN.

7. С помощью следующего фрагменты программы вычислите сумму s тех элементов массива х, индексы которых совпадают со значениями элементов массива a (ai ≠ aj при i ≠ j).

var x: array[ l… 100] of real;

a: array[ l… 30] of1 ..100;

s: array;

8. Пусть дана последовательность из 100 различных целых чисел. Найдите средние арифметическое чисел этой последовательности, расположенных между максимальным и минимальным числами (в сумму включить и оба этих числа).

9. Пусть дан массив из N элементов. Каждый отрицательный элемент замените полусуммой тех двух элементов, которые стоят рядом с ним справа и слева.

10. Пусть дана последовательность из N элементов. Увеличьте её, вставив после минимального элемента максимальный.

11. Пусть дана последовательность из N элементов. Уменьшить её, удалив первый из отрицательных и минимальный из положительных (считайте, что такой элемент один) и сдвинув все остальные к началу.

12. Пусть дана последовательность из N элементов. Уменьшите ее, удалив все минимальные и максимальные элементы и сдвинув все остальные к началу последовательности.

13. Пусть дана последовательность из N элементов. Увеличьте ее, вставив после каждого элемент такой же.

14. Замените каждый элемент массива средним арифметическим всех предшествующих ему элементов.

15. Используя следующий фрагмент программы, упорядочьте массив х по неубыванию (т.е. переставьте его элементы так, чтобы для всех k выполнялось условие xk ≤ xk+1) в соответствии с перечисленными ниже алгоритмами сортировки (упорядочения):

Const n = 100;

var x: array[ l… n] of real;

а) сортировка выборов – отыскивается максимальный элемент и переносится в конец массива; затем этот метод применяется ко всем элементам, кроме последнего (он уже находится на своем месте) и т.д.;

б) сортировка обменом (пузырьковая сортировка) — последовательно сравниваются пары соседних элементов xk и xk+1 (k = 1, 2, 3. …, n-1), и если xk > xk+1, то они переставляются; тем самым наибольший элемент оказывается на своем месте в конце массива; затем этот метод применяется ко всем элементам, кроме последнего, и т.д.;

в) сортировка вставками – пусть первые k элементов массива уже упорядочены по неубыванию; берется (k+1)-ей элемент и размещается среди первых k элементов так, чтобы упорядоченными оказались уже k+1 первых элементов; этот метод применяется при k от 1 до n-1.

16. Пусть даны целые числа a1, a2, a3. Получите целочисленную матрицу В размером 3 х 3, для которой bij = ai – 3aj.

17. Получите целочисленную матрицу А размером 8 х 14, для которой

aij = i+2j.

18. Получите вещественную матрицу А размером 23 х 17, для которой:

aij =

19. Все элементы с наибольшим значением в данной целочисленной квадратной матрицы порядка 10 замените нулями, если эти элементы не принадлежат первой или последней строкам.

20. Пусть дана вещественная матрица размерами 6 х 9. Найдите среднее арифметическое наибольшего и наименьшего значений её элементов, расположенных ниже главной диагонали.

21. Пусть дана вещественная матрица размером 18 х n. Найдите значение наибольшего по модулю элементы матрицы и укажите его местоположение в матрицы.

22. В данной вещественной квадратной матрице порядка n найдите сумму элементов строки, в которой расположен элемент с наименьшим значением. Предполагается, что такой элемент единственный.

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

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

25. Пусть дана вещественная матрица размером m x n, все элементы которой различны. В каждой строке выберите элемент с наименьшим значением, затем среди этих чисел выберите наибольшее. Укажите индексы найденного элемента.

26. Пусть дана целочисленная матрица порядка 8. Найдите наименьшее из значений элементов столбца, который обладает наибольшей суммой модулей элементов. Если таких столбцов несколько, надо взять первый из них.

27. Пусть дана целочисленная квадратная матрица порядка n. Найдите номера строк:

— все, элементы которых – нули;

— элементы, в каждой из которых, одинаковы;

— все элементы, которых четны;

— элементы, каждой из которых, образуют монотонную последовательность (монотонно убывающую или монотонно возрастающую);

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

28. Пусть дана вещественная квадратная матрица порядка 10. В строках с отрицательным элементом на главной диагонали найдите:

— сумму элементов;

— наибольший из элементов.

29. Пусть дана символьная квадратная матрица порядка 10. Замените буквой «а» все ее элементы, расположенные выше главной диагонали.

30. Используя следующий фрагмент программы, вычислите перечисленные ниже соотношения:

const n = 20;

var A, B, C: array[l..n, l..n] of real;

x, y: array[l..n] of real;

а) C=A+B;

б) Y=Ax;

в) C=A-B:

г) B=BT (транспонировать).

 

еще рефераты
Еще работы по информатике