Напишем программу, которая находит максимальный элемент случайного целочисленного одномерного массива и значение индекса этого элемента. Решается такая задача перебором всех элементов массива и сравниваем их с «пробным» значением, избранным на роль максимального элемента. Если сравниваемый элемент при этом окажется больше по величине, он становится «пробным» и все последующие значения сравниваются именно с ним. Алгоритм решения приводится ниже.
1. Сформировать случайный целочисленный массив random array.
2. Присвоить вспомогательной переменной max element значение первого элемента массива.
3. Для каждого элемента массива , начиная со второго и заканчивая последним, проверить выполнение условие max element > random array[I]. Если оно выполнено, то продолжать перебор, иначе присвоить max element := random array [I] и index max := I и продолжать перебор.
Исходный текст этой программы приводится ниже в примере1.
Пример. Программа поиска максимального элемента одномерного массива и его индекса.
Program maximum_search;
Const Max = 10000;
Var
Random_array : array[1..max] of integer ;
Max_element , index, index_max : integer;
Begin
Randomize ;
For index := 1 to max do
Random_array[index]:= random(10000);
Max_element := random_array [I];
For index := 2 to max do
If max element <random array [index] then
Begin
Max element := random array [index];
Index max :=index;
End;
Writeln(‘значение’,index max, ‘-го, максимального элемента равно ‘,random array[index max]);
Writeln(‘для завершения работы нажмите <enter>’);
Readln;
End.
В этой программе используется функция Турбо Паскаля - генератор случайных чисел random. Эта функция, которая согласно определенному алгоритму при каждом обращении к ней возвращает случайное число – либо вещественное , из интервала [0, 1], если аргумент отсутствует, либо целое, если задан целочисленный аргумент. Чтобы эта функция работала корректно, рекомендуется вначале ее инициализировать, вызвав процедуру randomizeбез параметров.
Варианты заданий
Вариант 1.
Составить программу, которая вводит массив из 10 целых чисел и выдает на печать сумму этих чисел.
Пользователь вводит слово. Подсчитать количество букв d, c и k в этом слове.
Дана матрица A(n, n). Поменять местами симметричные элементы матрицы относительно диагонали. Вывести новую матрицу на печать.
Вариант 2.
Составить программу, которая каждый элемент массива увеличивает на его порядковый номер.
Составить программу вычисления суммы квадратов четных целых чисел от 1 до 30.
Дана матрица A(n, n). Обнулить те элементы матрицы, сумма индексов которых кратна 3. вывести новую матрицу на печать.
Вариант 3.
Составить программу, которая определяет: сколько раз число 9 встречается среди элементов массива А(n) целых чисел.
Составить программу, которая выводит на печать массив A(n), значение элементов которого равно его удвоенному порядковому номеру.
Дана матрица A(n, n). Найти сумму тех элементов матрицы, сумма индексов которых больше 2 или меньше 4.
Вариант 4.
Найти произведение первых 4 элементов массива A(n) и сумму оставшихся.
Составить программу замены отрицательных элементов массива A(n) их квадратами.
Дана матрица A(n, n). Обнулить те элементы матрицы, индексы которых кратны 3. Вывести новую матрицу на печать.
Вариант 5.
Составить программу, которая заполняет первые N элементов массива A(n) последовательностью 1, 3, 1, 3,…
Дан массив A(n) целых чисел. Выдать на печать массив B, элементы которого состоят из чисел массива А, порядковый номер которых кратен 2.
Дана матрица A(n, n). Обнулить те элементы матрицы, значения которых стоят ниже главной диагонали. Вывести новую матрицу на печать.
Вариант 6.
Составить программу удвоения каждого элемента массива A(n).
Написать программу, которая изменяет значения элементов массива A(n) следующим образом: если a[i]=3, то a[i]=2, если a[i]=2, то a[i]=1, если a[i]=1, то a[i]=3.
Дана матрица A(n, n). Найти сумму четных и произведение нечетных элементов матрицы.
Вариант 7.
Определить сколько раз в массиве A(n) повторяется число 11.
Составить программу, которая четные элементы матрицы A(n, n) умножает на -1. вывести новую матрицу на печать.
Составить программу вычисления суммы квадратов целых чисел от 1 до 30, кратных 7.
Вариант 8.
1. Дан массив A(n) из 10 целых чисел. Выдать на печать массив В , элементы которого состоят из чисел массива А, порядковый номер которых кратен 5.
2. Составить программу, которая вводит массив из10 вещественных чисел и выдает на печать сумму первых 5 чисел.
3. Дана матрица A(n, n) из символов. Составить матрицу В порядковых номеров символов матрицы А. Вывести новую матрицу на печать.
Вариант 9.
Составить программу замены нечетных элементов массива A(n) их квадратами.
Дана матрица A(n, n) целых положительных чисел. Составить матрицу В, элементами которой являются символы, порядковые номера которых соответствуют элементам матрицы А. Вывести новую матрицу на печать.
Составить программу вычисления суммы квадратов нечетных чисел от 1 до 30.
Вариант 10.
Составить программу удвоения каждого элемента массива A(n), порядковый номер которого кратен 3.
Дан массив A(n) целых чисел. Каждый третий элемент массива заменить его порядковым номером. Вывести новый массив на печать.
Дана матрица A(n, n). Обнулить те элементы матрицы, индексы которых кратны 2.
Вариант 11.
Определить, является ли заданное слово перевертышем (казак, шалаш, кабак).
Составить программу, которая вводит массив из 10 вещественных чисел и выдает на печать сумму последних 5 чисел.
Дана матрица A(n, n). Каждый третий элемент матрицы умножить на -2. Вывести новую матрицу на печать.
Вариант 12.
Составить программу , которая каждый элемент массива уменьшает на его порядковый номер.
Пользователь вводит слово. Подсчитать количество букв о, м, и к в этом слове.
Дана матрица A(n, n). Обнулить те элементы матрицы, произведение индексов которых меньше 8. Вывести новую матрицу на печать.
Вариант 13.
Составить программу, которая заполняет первые N элементов массива A(n) последовательностью 1, 2, 5, 1, 2, 5, …
Дан массив A(n) символов. Найти сумму порядковых номеров символов п, р, с, т.
Дана матрица A(n, n). Обнулить каждый второй элемент матрицы. Вывести матрицу на печать.
Вариант 14.
Составить программу, которая вводит массив из 10 вещественных чисел и выдает на печать сумму целых частей этих чисел.
Написать программу, которая изменяет значения элементов массива A(n) следующим образом: если a[i]=1, то a[i]=2, если a[i]=2, то a[i]=3, если a[i]=3, то a[i]=1.
Составить программу, которая нечетные элементы матрицы A(n, n) умножает на -1. Вывести новую матрицу на печать.
Вариант 15.
Определить, является ли номер автобусного билета «счастливым».
Дан массив А(n) из 10 целых чисел. Выдать на печать массив В, элементы которого состоят из чисел массива А, порядковый номер которых кратен 3.
Дана матрица A(n, n). Обнулить каждый пятый элемент матрицы. Вывести новую матрицу на печать.
Вариант 16.
Составить программу вычисления суммы целых чисел от 1 до 30.
Составить программу замены отрицательных элементов массива A(n) их порядковыми номерами.
Дана матрица A(n, n). Каждый второй элемент матрицы умножить на -2. Вывести новую матрицу на печать.