Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Графический алгоритм примера 7



 

I=1 N=10

 

S=0 J=0
I=1
I=I+1
Ввод А[I]
I<N
да
нет
да
A[I]<0
S=S+A[I]
J=J+1
B[J]=I
I=I+1
I<N
нет
A[I]<0
S=S+A[I]
J=J+1
B[J]=I
I=I+1
I<N
Цикл ввода элементов массива А
Цикл проверки элементов массива А на знак, вычисление суммы (S) отрицательных элементов массива А, формирование массива В из порядковых номеров отрицательных элементов в массиве А

 

 


да

 

 

нет
Конец счета
I=1
Вывод S,J
нет
Вывод В[i]
да
I=I+1
Цикл вывода элементов массива В

 

 


I< J

 

 


Рассмотрим Пример 8

В произвольном массиве найти максимальный и минимальный элементы и поменять их местами.

Возьмем тот же массив из примера 7.

А=2; -3,4; 1; 2; -2; 1,5; 4,4; -3; 10,8; 6

Переменную под максимальный элемент назовем Мax, его местоположение в массиве запишем в переменную Nmax, переменную под минимальный элемент назовем Min, его местоположение в массиве запишем в переменную Nmin. (наименование этих переменных совершенно произвольно, мы такие берем для наглядности).

На процедуре ввода останавливаться не будем, это подробно рассмотрели в примере 7.

(перейдя к пункту 1, мы перейдём к поиску максимума нашего массива и найдём на каком месте он стоит в нашем массиве)

  1. Мах=A[1], Nmax=1 (этими действиями мы присвоили переменной Max значение первого элемента из нашего массива равного 2, а переменной Nmax значение равное 1, т.е. значение места, на котором он стоит. Так оно и будет, если бы на первом месте в массиве стояло самое большое число).
  2. I=2 (переменной I присвоим значение 2, таким образом мы подготовимся к просмотру элемента массива, стоящего на втором месте).
  3. Если A[I]> Max, то переходим к пункту 4, иначе п.5
  4. Max=A[I], а Nmax=I, (т.е. если очередной элемент оказался больше содержимого переменной Max, то значение этого элемента записываем в Max, а значение индекса I, указывающего на каком месте стоит этот элемент в переменную Nmaxи после этого переходим к п.5. Если A[I] окажется меньше содержимого Max, то сразу переходим к подготовке просмотра следующего элемента массива – пункт 5)
  5. Увеличим значение переменнойI,т.е.I=I+1(подготовим следующий элемент)
  6. Все ли элементы массива Апроверены?, т.е. еслиI < =N, то перейти к пункту 3, иначе перейти к пункту 7. ( с пункта 7 начнем поиск минимального элемента аналогично поиску максимального)
  7. Мin=A[1], Nmin=1 (этими действиями мы присвоили переменной Min значение первого элемента из нашего массива равного 2, а переменной Nmin значение равное 1, т.е. значение места, на котором он стоит).
  8. I=2 (переменной I присвоим значение 2, таким образом мы подготовимся к просмотру элемента массива, стоящего на втором месте).
  9. Если A[I] < Min, то пункт 10, иначе п.11
  10. Min=A[I], а Nmin=I (т.е. если очередной элемент оказался меньше содержимого переменной Min, то значение этого элемента записываем в Min, а значение индекса I, указывающего на каком месте стоит этот элемент в переменную Nmin и после этого переходим к п.11. Если A[I] окажется больше содержимого Min, то сразу переходим к пункту 11, т.е. подготовке просмотра следующего элемента массива)
  11. Увеличим значение переменнойI,т.е.I=I+1(подготовим следующий элемент)
  12. Все ли элементы массива Апроверены?, т.е. еслиI < =N, то перейти к пункту 9, иначе перейти к пункту 13.

Мы нашли максимальный и минимальный элементы, нашли их местоположение в нашем массиве. Теперь в пункте 13 надо поменять местами элемент массива A[Nmax] с элементом A[Nmin]. Это задача о двух стаканах. Если у нас 2 стакана с разным содержимым и нам надо поменять содержимое, то придется взять третий стакан. Для роли третьего стакана возьмем переменную V.

13. V=A[Nmax]; A[Nmax]=A[Nmin]; A[Nmin]=A[Nmin]=V (Поменяли местами максимум и минимум).

14. Вывести на печать значение переменных Max, Nmax, Min, Nmin (В нашем примере Max=10,8; Nmax=9; Min= -3,4; Nmin=2)

Еще нам надо организовать цикл на вывод массива A, т.к. мы его видоизменили (меняли местами два элемента. На выходе будет массив А=2; 10,8; 1; 2; -2; 1,5; 4,4; -3,4; -3; 6 ).

15. Присвоим I=1

16. Вывести на печать А[I]

17. Проверить все ли элементы массива А просмотрены, т.е. еслиI<N, то перейти к пункту 18, иначе к пункту 19

18. Увеличить значение переменной I, т.е. I=I+1. Перейти к пункту 16

19. Окончание счета

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.