Для одномерного массива составить блок схему алгоритма - Алгоритмы - Pascal
Формулировка задачи:
Доброго времени суток, прошу помощи в составлении алгоритма..
Задан одномерный массив {xi} (i=1,2,...,n).
Значение элементов массива неоднократно повторяются.
Сформировать новые массивы:
{ai} - номера максимальных элементов,
{bi} - номера минимальных элементов.
Пробовал накидать.. но правую часть забраковали.., т.к. "Значение элементов массива неоднократно повторяются." нужно как то перебрать их ещё раз(ИМХО).
П.С. За почерк извиняюсь пока не на учился писать без указательного пальца(оторвал кусок )
Решение задачи: «Для одномерного массива составить блок схему алгоритма - Алгоритмы»
textual
Листинг программы
Const n=20;
Var X,A,B:array[1..n] of integer;
i,m1,m2:byte;
max,min:integer;
Begin
writeln('Массив X');
For i:=1 to n do
Begin
X[i]:=random(10);
write(X[i]:2);
End;
max:=X[1];min:=X[1];
For i:=1 to n do
if X[i]>max then max:=X[i]
else if X[i]<min then min:=X[i];
For i:=1 to n do
if X[i]=max then
Begin
inc(m1);
A[m1]:=i;
End
else
if X[i]=min then
Begin
inc(m2);
B[m2]:=i;
End;
writeln;
writeln('Max = ',max);
writeln('Массив A');
For i:=1 to m1 do
write(A[i]:3);
writeln;
writeln('Min = ',min);
writeln('Массив B');
For i:=1 to m2 do
write(B[i]:3);
readln;
End.
Объяснение кода листинга программы
- Объявляются переменные: n, X, A, B, i, m1, m2, max, min, A, B.
- Задается значение переменной n равное 20.
- Вычисляются максимальное и минимальное значения в массиве X.
- Заполняется массив X случайными числами от 0 до 9.
- Вычисляются индексы m1 и m2, соответствующие максимальному и минимальному значениям в массиве X соответственно.
- Если значение X[i] равно максимальному значению, то увеличивается значение переменной m1 и в массив A записывается индекс i.
- Если значение X[i] равно минимальному значению, то увеличивается значение переменной m2 и в массив B записывается индекс i.
- Выводится максимальное значение в массиве X.
- Выводится массив A.
- Выводится массив B.
- Программа завершается после ввода с клавиатуры.