Здрасти,даны две задачки,необходимо написать программку(Паскаль).Пожалуйста распишите свои
Здрасти,даны две задачи,необходимо написать программу(Паскаль).Пожалуйста распишите свои действия,ничего не разумею.Кто разумеет-объясните,пожалуйтса.
1.Найти заключительное вхождение наименьшего элеманта массива.
2.Найти количество элементов одинаковых величайшему элементу массива.
2 ответа
Шелухин Арсений
1)
Const
N = 33;
Var
A:array[1..N] of integer;
i,m:integer;
Begin
Наполнение массива
For i:= 1 to N do
Begin
A[i]:=random(21)-10;
Write(A[i],' ')
End;
WriteLn;
Поиск малого элемента
m:=1;
For i:= 2 to N do
if A[i]lt;=A[m] then m:=i;
WriteLn('Min = A[',m,'] = ',A[m]);
End.
Пример:
6 0 -4 10 2 -4 -3 -9 10 -5 1 0 -8 2 2 9 -3 -6 8 10 -6 -9 9 -2 -6 2 -1 -2 6 6 -2 -3 -4
Min = A[22] = -9
2)
Const
N = 33;
Var
A:array[1..N] of integer;
i,M,k:integer;
Begin
Заполнение массива
For i:= 1 to N do
Begin
A[i]:=random(21)-10;
Write(A[i],' ')
End;
WriteLn;
Поиск наибольшего элемента
M:=A[1];
For i:= 2 to N do
if A[i] gt; M then M:=A[i];
Поиск кол-ва максимальных частей
k:=0;
For i:= 1 to N do
if A[i] = M then k:=k+1;
WriteLn('k_Max = ',k)
End.
Пример:
-10 3 10 -10 1 3 -9 -1 10 0 -10 3 -10 10 -4 -2 -8 3 10 -10 -9 3 -1 -2 9 -5 -6 -5 -5 -5 2 0 8
k_Max = 4
Const
N = 33;
Var
A:array[1..N] of integer;
i,m:integer;
Begin
Наполнение массива
For i:= 1 to N do
Begin
A[i]:=random(21)-10;
Write(A[i],' ')
End;
WriteLn;
Поиск малого элемента
m:=1;
For i:= 2 to N do
if A[i]lt;=A[m] then m:=i;
WriteLn('Min = A[',m,'] = ',A[m]);
End.
Пример:
6 0 -4 10 2 -4 -3 -9 10 -5 1 0 -8 2 2 9 -3 -6 8 10 -6 -9 9 -2 -6 2 -1 -2 6 6 -2 -3 -4
Min = A[22] = -9
2)
Const
N = 33;
Var
A:array[1..N] of integer;
i,M,k:integer;
Begin
Заполнение массива
For i:= 1 to N do
Begin
A[i]:=random(21)-10;
Write(A[i],' ')
End;
WriteLn;
Поиск наибольшего элемента
M:=A[1];
For i:= 2 to N do
if A[i] gt; M then M:=A[i];
Поиск кол-ва максимальных частей
k:=0;
For i:= 1 to N do
if A[i] = M then k:=k+1;
WriteLn('k_Max = ',k)
End.
Пример:
-10 3 10 -10 1 3 -9 -1 10 0 -10 3 -10 10 -4 -2 -8 3 10 -10 -9 3 -1 -2 9 -5 -6 -5 -5 -5 2 0 8
k_Max = 4
Грушаков
Жека
Что конкретно неясно?
Мария Куантова
Спасибо Для вас огромное!Попsтаюсь разобраться.
Анжелика Алтомонова
Не могу сама писать программки,не разумею вобще как даже на словах отыскать элемент,или что-либо иное.Не знаю как объяснить,пыталась читать,разбираться,но никак не выходит.
Ivako Jana
К раскаянию,задачи только с информатикой в школе.но пока каникулы постараюсь больше ей позаниматься.Спасибо Для вас большое!
Виктор Ратобыльский
// PascalABC.NET 3.2, сборка 1411 от 23.03.2017
// Внимание! Если программка не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-10,10); a.Println;
Writeln('Заключительнее вхождение минимального элемента: ',a.LastIndexMin+1);
var mx:=a.Max;
Writeln('Количество частей, одинаковых наибольшему: ',
a.Where(x-gt;x=mx).Count)
end.
Пример
n= 20
10 10 -10 2 -8 9 8 -8 4 -5 10 -9 9 -2 1 7 -4 9 -10 7
Заключительное вхождение минимального элемента: 19
Количество частей, одинаковых наибольшему: 3
Объяснения
ArrRandom(ReadInteger('n='),-10,10); запрашиваем количество частей n в массиве, а затем создаем целочисленный массив наполняем его случайными целыми числами на промежутка [-10;10]
a.Println; выводим содержимое массива а на монитор
a.LastIndexMin+1 обретаем в массиве a позицию заключительного малого элемента. Счет позиций идет с нуля, потому прибавляем единицу.
var mx:=a.Max; обретаем в массиве а наибольший элемент и запоминаем его в mx
a.Where(x-gt;x=mx).Count) избираем из массива а элементы, одинаковые mx и подсчитываем их количество
// Внимание! Если программка не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-10,10); a.Println;
Writeln('Заключительнее вхождение минимального элемента: ',a.LastIndexMin+1);
var mx:=a.Max;
Writeln('Количество частей, одинаковых наибольшему: ',
a.Where(x-gt;x=mx).Count)
end.
Пример
n= 20
10 10 -10 2 -8 9 8 -8 4 -5 10 -9 9 -2 1 7 -4 9 -10 7
Заключительное вхождение минимального элемента: 19
Количество частей, одинаковых наибольшему: 3
Объяснения
ArrRandom(ReadInteger('n='),-10,10); запрашиваем количество частей n в массиве, а затем создаем целочисленный массив наполняем его случайными целыми числами на промежутка [-10;10]
a.Println; выводим содержимое массива а на монитор
a.LastIndexMin+1 обретаем в массиве a позицию заключительного малого элемента. Счет позиций идет с нуля, потому прибавляем единицу.
var mx:=a.Max; обретаем в массиве а наибольший элемент и запоминаем его в mx
a.Where(x-gt;x=mx).Count) избираем из массива а элементы, одинаковые mx и подсчитываем их количество
Коровянко
Виктория
Спасибо огромное за решение и объясненье!Немного начинаю разуметь.
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
Облако тегов