Как найти максимальное значение массива паскаль

Часто встречаются задачи, где необходимо найти максимальный элемент в массиве. Рассмотрим общий алгоритм решения такой задачи.

Первое, что придётся сделать – создать массив. Как нам уже известно, нужно использовать цикл с параметром. Также удобнее будет создать массив случайным образом, если в условии задачи не оговорён способ задания массива.

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

Сначала указываем, что первый элемент массива считается максимальным, иначе говоря – Max = A[i].

Потом начинаем процесс сравнивания последующих элементов массива с максимальным элементом в массиве.

Тут возможно два случая :

  1. Если максимальный элемент больше следующего, то ничего не меняем.
  2. Если максимальный элемент меньше следующего, то он становиться максимальным.

После этого выводим на экран максимальный элемент.

Блок-схема максимальный элемент массива

Программа максимальный элемент массива Pascal

Ниже представлен текст программы на языке Pascal, как найти максимальный элемент массива. Как было указанно в алгоритме выше, сначала создается сам массив (в моем случает любые целые числа от 0 до 100 включительно).

Program Max_element_massiva ;
Var i, n, max : integer ;
    A : array [1..100] of integer;
Begin
     Writeln('Введите количество элементов массива') ;
     Readln(N) ;
     Randomize;
     For i := 1 to N do
          begin
               A[i] := Random(100);
               Write(A[i]);
          end;
     Max := A[1];
     For i := 2 to N do
          if A[i]>Max then Max := A[i];
     Writeln('Максимальный Элемент массива = ',Max) ;
     Readln ;
End.

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

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

Рассмотрим подробнее каждую операцию.

Вычислим сумму элементов массива из предыдущей теории — усовершенствуем программу. Цикл, с помощью которого выводился массив, заменим на цикл, который будет прибавлять к переменной (s) каждый последующий элемент массива.

Ответ: (55).

Задачи на поиск в массиве

Поиск максимального значения.

Идея поиска максимального значения заключается в следующем: каждый элемент массива поочерёдно сравнивается со следующим. Если он больше, то некоторой переменной max будет присвоено значение этого элемента. Напишем программу.

Ответ: (100).

Найдём наибольшее число, удовлетворяющее некоторому условию.

Задача: найти максимальное чётное число. Для этого добавим в условие проверку на чётность при помощи операции mod.

Ответ: (8).

Обмен значениями между элементами

Допустим, нам нужно удалить некоторый элемент массива.

Скриншот 15-10-2021 023238.jpg

Удалим элемент с индексом (6). Для этого добавляем ещё одну переменную, которая будет обозначать индекс удаляемого элемента. Далее массив будем выводить по частям. До удаляемого элемента — без изменений, пропустим удаляемый элемент и выведем остаток массива.

Скриншот 15-10-2021 030215.jpg

Скриншот 15-10-2021 030236.jpg

Перейти к содержанию

Найти наибольший элемент и его порядковый номер в массиве

Просмотров 17.8к. Обновлено 15 октября 2021

Заполнить одномерный массив случайными числами. Найти и вывести на экран наибольший его элемент и порядковый номер этого элемента.

Заполнение массива и поиск наибольшего элемента можно выполнять в одном цикле.

Поскольку необходимо найти не только максимальный элемент, но и его индекс, то лучше искать индекс, так как по нему всегда можно получить значение из массива. Конечно, при поиске можно сохранять и индекс, и элемент в двух разных переменных. Однако этого делать не обязательно. До цикла присвоим переменной, в которой будет храниться индекс максимального элемента, значение 1. Это значит, предполагается, что максимальный элемент находится в первой ячейке массива.

Тело цикла будет состоять из следующих действий:

  1. Сгенерировать случайное число и записать его в очередную ячейку массива.
  2. Вывести полученное число на экран.
  3. Если это число больше, чем то, что хранится под индексом, записанным в переменную-максимум, то присвоить этой переменной текущий индекс (не само число!).

После того, как индекс наибольшего элемента будет найден, вывести его на экран. Чтобы вывести элемент по данному индексу, надо использовать выражение извлечения элемента из массива. Например, если max — это индекс, а arr — массив, то выражение будет таким: arr[max].

Pascal

найти максимальный элемент массива паскаль


const N = 10;
var
arr: array[1..N] of integer;
i, max: byte;
begin
randomize;
max := 1;
for i:=1 to N do begin
arr[i] := random(100);
write(arr[i], ' ');
if arr[max] < arr[i] then
max := i;
end;
writeln;
writeln('arr[',max,'] = ',arr[max]);
end.



64 26 99 37 57 64 6 21 48 19
arr[3] = 99

Язык Си


#include < stdio.h>
#define N 10
main() {
int arr[N], i, mx;
srand(time(NULL));
mx = 0;
for (i=0; i< N; i++) {
arr[i] = rand() % 100;
printf("%d ", arr[i]);
if (arr[i] > arr[mx])
mx = i;
}
printf("narr[%d] = %dn", mx, arr[mx]);
}



75 46 7 39 11 29 34 77 86 25
arr[8] = 86

Python

найти максимальный элемент массива python


from random import random
N = 10
arr = [0] * N
mx = 0
for i in range(N):
arr[i] = random() * 100
print("%.2f" % arr[i], end='; ')
if arr[i] > arr[mx]:
mx = i
print("narr[%d] = %.2f" % (mx, arr[mx]))



73.83; 16.23; 30.18; 27.41; 94.27; 46.27; 66.17; 61.07; 18.89; 61.16;
arr[4] = 94.27

КуМир


алг
нач
цел N = 10
целтаб arr[1:N]
цел mx, i
mx := 1
нц для i от 1 до N
arr[i] := irnd(100)
вывод arr[i], " "
если arr[mx] < arr[i] то
mx := i
все
кц
вывод нс,"arr[",mx,"] = ",arr[mx]
кон



57 78 14 96 76 9 19 36 45 54
arr[4] = 96

Basic-256


decimal 1
N = 10
dim arr(N)
mx = 0
for i=0 to N-1
arr[i] = rand * 100
print arr[i] + "; ";
if arr[i] > arr[mx] then mx = i
next i
print
print "Номер элемента: " + mx
print "Значение элемента: " + arr[mx]



21.9; 58.4; 24.4; 72.6; 88.5; 65.2; 56.6; 65.1; 72.6; 40.4;
Номер элемента: 4
Значение элемента: 88.5

Напишем программу, которая вычисляем максимальный элемент в массиве.

 Нахождение максимального элемента массива.



program massiv5;
uses crt;
const N=10;
type x=array [1..N] of integer;
var a:x;
i:integer;
max:integer;
imax:integer;
begin
clrscr;
randomize;
for i:=1 to N do
begin
a[i]:= -50+random(101);
write (A[i]:5)
end;
writeln;
imax:=1;
max:=A[1];
for i:=2 to N do
if max<a[i] then
begin
max:=a[i];
imax:=i
end;
writeln (‘Максимальный элемент в массиве=’,max:5);
writeln (‘Его индекс=’,imax:5);
readln
end.



В строке №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» должен остаться номер этого числа.

maksimaljnihyj ehlement massiva

maksimaljnihyj ehlement massiva.

После запуска программы в верхней строке у нас вывелось 10 сгенерированных чисел.
Во второй строке вывелось максимальное число из всех этих сгенерированных чисел.
В-третей строке вывелся номер по порядку, где стоит это максимальное число.


Если в массиве несколько маскимальных элементов и нужно вывести на экран индексы всех этих элементов, то программа будет выглядет так:




program massiv5;
uses crt;
const N=10;
type x=array [1..N] of integer;
var a:x;
i:integer;
max:integer;
imax:integer;
begin
clrscr;
randomize;
for i:=1 to N do
begin
a[i]:= -5+random(3);
write (A[i]:5)
end;
writeln;
imax:=1;
max:=A[1];
for i:=2 to N do
if max<a[i] then
begin
max:=a[i];
imax:=i;
end;
writeln('Максимальный элемент в массиве=',max);
write('Его индекс ');
for i:=1 to N do
if max=a[i] then
begin
write (i,', ');
end;
readln
end.




maxelemmas

maxelemmas.


Предыдущая статья : Randomize и Random в Pascal.

Оглавление : Уроки Паскаль.

Следующая статья : Вычисление суммы положительных элементов массива.


Поиск минимального (максимального) элемента массива

Алгоритм
поиска минимального (максимального)
элемента массива довольно очевиден:
делается предположение, что первый
элемент массива является минимальным
(максимальным), затем остальные элементы
массива сравниваются с этим элементом.
Если обнаруживается, что проверяемый
элемент меньше ( больше) принятого за
минимальный (максимальный) и продолжается
проверка оставшихся элементов. Ниже на
рис. 20 представлена блок-схема алгоритма
поиска минимального элемента в массиве
из 10 целых чисел.

Рис.20.
Блок-схема алгоритма поиска минимального
элемента.

Программа:

Program Example ;

Var

A
: Array[1..10] of integer ; { массив
целых
чисел
] ;

Min
: Integer ; { номер минимального элемента
массива }

i
: Integer ; { номер элемента сравниваемого
с минимальным}

Begin

WriteLn(‘ Введите 10
целых чисел в одной строке через пробел
‘) ;

for
i :=1 to 10 do ReadLn(A[i]) ; { Ввод
массива
целых
}

Min := A[1] ;

for i := 2 to 10 do

if A[i] < Min then Min :=
A[i] ;

WriteLn(‘ Минимальный
элемент массива : ‘, Min:3) ;

End.

Операции с матрицами

Матрицей
A размерности n 
m называется двумерный массив из n строк
и m столбцов :

где


элементы матрицы A.

Наиболее типичные
действия производимые над матрицами:

  1. сложение матриц;

  2. транспонирование
    матрицы;

  3. умножение матриц.

Сложение матриц

Рассмотрим
на примере сложения двух матриц A и B
размерности 3  4.

Блок-схема алгоритма
сложения матриц представлена на рис.
21.

Рис.21.
Блок-схема алгоритма сложения матриц.

Программа:

program
Summa_matrix;

Const

m=4;

n=3;

Type

matrix
= array[1..n,1..m] of Integer;

Var

A,B,C
: matrix;

i,j
: Integer;

BEGIN

Writeln(‘Ввод
матрицы
A’);

for
i:= 1 to n do

begin

writeln(‘Cтрока’,i:2);

for j := 1 to m do

begin

write(‘Столбец’,j:2,’->’);

readln(A[i,j])

end;

end;

Writeln(‘Ввод
матрицы
B’);

for
i:= 1 to n do

begin

writeln(‘Cтрока’,i:2);

for j := 1 to m do

begin

write(‘Столбец’,j:2,’->’);

readln(B[i,j])

end;

end;

writeln(‘Матрица С
— сумма матриц A и B’) ;

for
i:= 1 to n do begin

for j := 1 to m
do begin

C[i,j]
:= A[i,j] + B[i,j] ;

write(C[i,j]:3)

end ;

writeln ;

end

End.

Транспонирование матрицы

Пусть
дана матрица

размерности n 
m. Матрица

размерности m 
n называется транспонированной к матрице
A, если ее элементы определены по формуле


.

Рассмотрим
пример транспонирования матрицы
размерности 2 
3.

Блок-схема алгоритма
транспонирования матрицы представлена
на рис. 22.

Рис.22.
Блок-схема алгоритма транспонирования
матрицы.

Программа:

program Transp_matrix;

Const

m=3;

n=2;

Var

A : array[1..n,1..m] of
integer;

B : array[1..m,1..n] of
integer;

i,j : Integer;

BEGIN

Writeln(‘Ввод
матрицы
A’);

for i:= 1 to n do

begin

writeln(‘Cтрока’,i:2);

for j := 1 to m do

begin

write(‘Столбец’,j:2,’->’);

readln(A[i,j])

end;

end;

writeln(‘Матрица B
— Транспонированная к матрице A’) ;

for
i:= 1 to m do begin

for
j := 1 to n do begin

B[i,j]
:= A[j,i] ;

write(B[i,j]:3)

end
;

writeln
;

end

End.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Понравилась статья? Поделить с друзьями:

Не пропустите также:

  • Я обидела мужчину как это исправить
  • Как найти численность трудоспособного населения формула
  • Как в bios найти advanced mode
  • Фоллаут 2 как найти ферму ужасов
  • Как составить схему работы хит

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии