Напишем программу, которая вычисляем максимальный элемент в массиве.
Нахождение максимального элемента массива.
В строке №7 записываем переменную для хранения величины максимального элемента.
В строке №8 записываем переменную для хранения индекса максимального элемента.
В строке №11 мы включаем функцию Randomize. Эта функция позволяет генерировать случайные числа в программе. В данном случае нам необходимо каждому элементу массива [1..N] (всего 10 элементов) присвоить какое-нибудь значение. В программе «massiv3» значения для всех элементов массива мы вводили с клавиатуры. В этой задаче мы ничего вводить не будем. Функция Randomize сама создаст значения для каждого элемента массива. В массиве у нас 10 элементов ([1..N], const N=10), соответственно будет сгенерировано 10 случайных чисел.
В строке №12 включаем цикл. Переменная «I» будет изменяться в цикле от 1 до «N»
В строке №14 очередному элементу массива мы присваиваем случайное число, которое лежит в диапазоне от – 50 до + 50. (Сначала пишется минимальное число – 50, затем знак +, затем слово RANDOM, затем в скобках указывается общее количество возможных чисел в диапазоне; в диапазоне от – 50 до + 50 получается 100 чисел + число 0, всего 101)
Строка №15. Если мы запустим программу на данном этапе, у нас выведется на экран 10 различных чисел со значением от – 50 до + 50.
В строке №18 в переменную для хранения индекса (номера) максимального элемента мы записали число 1, т.е. будем считать, что первый элемент массива – максимальный.
В строке №19 в переменную для хранения величины максимального элемента записываем значение первого элемента массива (например, если первое сгенерированное число будет 13, то его и будем считать максимальным).
В строке №20 задаем цикл. В него мы не включаем 1-ый элемент. А затем, в строке №21 мы проверяем условие. Мы сравниваем все значения элементов массива (т.е. все сгенерированные числа) начиная со 2-го и до 10-го с 1 - ым числом. И если очередное число в массиве больше чем 1-ое число, то в переменную для хранения максимального числа записываем это очередное число (строка №23), а в переменную для хранения индекса максимального числа записываем индекс этого очередного числа. После выполнения цикла в переменной max должно остаться максимальное число, а в переменной «imax» должен остаться номер этого числа.
После запуска программы в верхней строке у нас вывелось 10 сгенерированных чисел.
Во второй строке вывелось максимальное число из всех этих сгенерированных чисел.
В-третей строке вывелся номер по порядку, где стоит это максимальное число.
Если в массиве несколько маскимальных элементов и нужно вывести на экран индексы всех этих элементов, то программа будет выглядет так:
Предыдущая статья : Randomize и Random в Pascal.
Оглавление : Уроки Паскаль.
Следующая статья : Вычисление суммы положительных элементов массива.
Комментарии
А как быть, если есть несколько максимальных чисел? Как сделать так, чтобы все максимальные индексы выводились?
Пример дописал в конце этой статьи.
Теперь надоп оделить максимальный элемент на минимальный и вывести результат.Не подскажите как это записать в паскале?
Ну а если серьезно, random("число") сгенерирует несколько случайных чисел от нуля до "число-1" (количество этих чисел зависит от ,к примеру, количества возможных чисел "ячеек" массива). После каждого перезапуска программы будут генерироваться разные числа. Randomize(обяза телен) активирует возможность использования функции random.
int[] a = new int[n];
Random r = new Random();
for (int i = 0; i < a.Length; i++)
a = r.Next(-100, 100);
Console.WriteLi ne("Исходный массив:");
for (int i = 0; i < n; ++i)
Console.Write(" \t" + a);
Console.WriteLi ne();
int p = 1;
for (int i = 0; i < a.Length; i++)
{
if (a < 0)
{
p *= a;
}
}
Console.WriteLi ne("Произведени е положительных элементов массива: " + p);
Console.ReadKey ();
The text in your article seem to be running off the screen in Opera.
I'm not sure if this is a format issue or something to do with internet browser compatibility
but I figured I'd post to let you know. The design look great though!
Hope you get the issue resolved soon. Many thanks
Feel free to surf to my page; Paito
Sydney Lotto: https://catdoll.shop/
I will be coming back to your blog for more soon.
My homepage - Data SGP 2025: http://159.223.40.145/
Adderall? Is white round pill gpi a325? How many
25mg Xanax equals 2mg Xanax? Can you enlist in the french
foreign legion with a marijuana charge?
my page; lisinopril 28 mg 81.7sviagra 40 81.7s: https://casino.zonder-cruks.com/
Feel free to surf to my homepage ... penis enlargement surgery cost mumbai: https://www.gambling.com/uk/online-casinos
The Remixes was created in 2007.
Blood pressure measures the smount of pressure on the wall of?
Are digital blood pressure monitors accurate? What is the medical term
meaning idiopathic high blood pressure?
Visit my web blog; penis enlargement san diego: https://yeovilhospital.co.uk
Who does leprosy affect the most? Benefits of
being a blood donor? Why is it important to include nutrient-dense foods in your daily eating?
Feel free to surf to my blog: doxycycline 250: https://yeovilhospital.co.uk/uk-gb/