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

Определить среднее арифметическое четных элементов, лежащих после максимального значения в массиве D[I..N]. Все нечетные рассортировать по возрастанию.

B матрице A[1..N,1..M] упорядочить элементы столбца. содержащего наибольшее количество отрицательных чисел, по убыванию. | В массиве C[1..N] все элементы, больше среднего арифметического положительных чисел, заменить на первое положительное значение массива. | Определить, сколько нулей лежит между минимальным и максимальным значениями массива H[1..N]. До и после экстремумов массив отсортировать по убыванию. | В массиве Z[1..N] определить сумму нечетных чисел от последнего нулевого значения до Z[N] и среднее арифм. четных до последнего нуля. | Дан массив из 40 символов, содержащий слова, разделенные одним пробелом. Определить, сколько раз каждое слово встречается в этом массиве. | В массиве A[1..15] определить минимальное значение. Все числа, лежащие за минимальным записать в новый массив В и определить в нем среднее арифметическое положительных чисел. | Определить средн. арифм. положительных чисел, лежащих после минимального значения в массиве B[1..N]. Числа до минимального рассортировать по возрастанию. | В матрице D[1..N.1..M] максимальный элемент заменить средним арифметическим элементов строки в которой находится максимальный элемент. |


Читайте также:
  1. Frac14; финала Лиги КВН «Среднее Поволжье» г. Тольятти
  2. II. Критерии для назначения повышенной стипендии
  3. Quot;В то время царь Ирод поднял руки на некоторых из принадлежащих к церкви, чтобы сделать им зло... ". - (Деяния 12:1).
  4. Quot;Кто Мне служит, Мне да последует; и где Я, там и слуга Мой будет. И кто Мне служит, того почтит Отец Мой". - (Иоанна 12:26).
  5. quot;После пика популярности очень скоро наступает пресыщение". 1 страница
  6. quot;После пика популярности очень скоро наступает пресыщение". 2 страница
  7. quot;После пика популярности очень скоро наступает пресыщение". 3 страница

{$L l05.obj}

uses crt;

const

N = 10;

 

type

row = array[1..N] of integer;

 

var

b: row;

i, k: integer;

 

 

procedure count5 (var a: row; var sred: integer; razm: integer); external;

 

begin

clrscr;

writeln;

write('Исходный массив:');

randomize;

for i:=1 to N do begin

b[i]:= random(10);

write(' ',b[i]);

end;

count5(b,k,N);

writeln;

writeln('Среднее арифметическое: ',k);

write(' Результат:');

for i:= 1 to N do write(' ',b[i]);

 

end.

 

 

public count5

code segment byte public

assume cs: code

 

.286

 

count5 proc near

 

push bp

mov bp,sp

pusha

 

lds si,[bp+10]; адрес массива

mov cx,[bp+4]; размер массива

mov ax,[si]; принимаем первый элемент за максимум

mov di,si; сохраняем его адрес

mov dx,cx; и кол-во оставшихся за ним

; поиск максимума

cycl: cmp ax,[si]; сравниваем максимум с текущим

jge next; если текущий меньше, переходим к следующему

mov ax,[si]; сохраняем максимальный элемент

mov di,si; и его адрес

mov dx,cx; и кол-во оставшихся за ним элементов

next: add si,2; продвигаем адрес

 

loop cycl

 

xor ax,ax

xor bx,bx

mov si,di; будем искать ср. арифм. четных чисел

add si,2; ставим адрес на след. за max элемент

mov cx,dx; кол-во элементов за max

dec cx

 

cmp cx,0; избавимся от случая, когда max последний

jle zero; и считать нечего

cycl2: test word ptr [si],1; проверка на четность

jnz next2; переход, если нечетный

add ax,[si]; суммируем

inc bx; считаем количество четных чисел

next2: add si,2

loop cycl2

div bl; делим сумму на количество

xor ah,ah; избавимся от остатка, частное в al

zero:

lds si,[bp+6]

mov [si],ax; записываем среднее арифметическое

 

; займемся сортировкой нечетных

lds di,[bp+10]; адрес массива

mov cx,[bp+4]; размер массива

xor dx,dx; подсчитаем кол-во нечетных элементов

cycl3: test word ptr [di],1; проверка на нечетность

jz next3

inc dx; подсчет

next3: add di,2

loop cycl3

dec dx

cmp dx,0; если нечетных одно или меньше, выходим

jle exit; так как сортировка не нужна

mov cx,dx; сохраним в cx кол-во нечетных - 1

lds bx,[bp+10]; сохраним в bx адрес массива

; сортировка методом пузырька

cycl4: mov si,bx

push cx

cycl5: test word ptr [si],1; ищем первый нечетный

jnz next5

add si,2

jmp cycl5

next5: mov di,si

add di,2

cycl6: test word ptr [di],1; ищем следующий нечетный

jnz next6

add di,2

jmp cycl6

next6: mov ax,[si]

cmp ax,[di]; сравниваем их

jle next7

mov dx,[di]; если нужно, переставляем

mov [di],ax

mov [si],dx

next7: mov si,di

loop cycl5

pop cx

loop cycl4

 

exit:

popa

pop bp

ret 10

 

count5 endp

 

code ends

end

 

 


Дата добавления: 2015-08-02; просмотров: 220 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Подсчитать количество предложений. Расставить предложения по возрастанию количества слов в каждом| Создать массив М[ 1 ..N]. Определить минимальное значение среди первых N DIV 2 чисел. Максимальное всего массива заменить в массиве на это минимальное значение.

mybiblioteka.su - 2015-2024 год. (0.012 сек.)