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

Создать массив М[ 1 ..N]. Определить минимальное значение среди первых N DIV 2 чисел. Максимальное всего массива заменить в массиве на это минимальное значение.

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


Читайте также:
  1. http://vashkloun.ru/) ОБЕЩАЕТ СОЗДАТЬ СКАЗКУ ДЛЯ ВАШИХ ДЕТЕЙ. В НАШЕМ АРСЕНАЛЕ ЕЩЕ МНОЖЕСТВО ИНТЕРЕСНЫХ И НЕОБЫЧНЫХ РЕШЕНИЙ ДЛЯ ПРОВЕДЕНИЯ ВАШЕГО ПРАЗДНИКА!
  2. I. Значение и первоисточники этого тома
  3. I. Создать Русскую Православную Церковь Собора Вольных Объединённых Держав (СВОД) Духовно-Родовой Державы Русь.
  4. II. Приготовление первых блюд, супов национальных и зарубежных кухонь
  5. VI этапа Кубка Республики Саха (Якутия) по лыжным гонкам среди школьников и взрослых
  6. VI этапа Кубка Республики Саха (Якутия) по лыжным гонкам среди школьников и взрослых
  7. VII. Самые трудные головоломки среди используемых в интервью

{$L l06.obj}

 

uses crt;

const

N = 10;

 

type

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

 

var

m: row;

i, k: integer;

 

 

procedure count3 (var a: row; var min: integer; razm: integer); external;

 

 

begin

clrscr;

writeln;

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

randomize;

for i:=1 to N do begin

m[i]:= random(100);

write(' ',m[i]);

end;

count3(m,k,N);

writeln;

writeln('Минимальный элемент: ',k);

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

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

 

end.

 

public count3

code segment byte public

assume cs: code

.286

count3 proc near

 

push bp

mov bp,sp

pusha

 

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

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

shr cx,1; N div 2

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

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

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

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

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

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

dec cx; уменьшаем счетчик

jnz cycl; пока не 0, выполняем поиск

 

lds di,[bp+6]

mov [di],ax; отписываем минимальный элемент

 

; далее нужно отыскать максимальный элемент

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

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

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

mov di,si; запоминаем его адрес

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

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

mov dx,[si]; запоминаем максимум

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

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

dec cx; уменьшаем счетчик

jnz cycl2; пока не 0, выполняем поиск

 

mov [di],ax; заменяем max на min

 

popa

pop bp

ret 10

 

count3 endp

code ends

end

 

В массиве A[1..N| определить максимальное значение. Все элементы лежащие до максимального, увеличить на первое значение массива а все числа после максимального, рассортировать по убыванию

 

{$L l07.obj}

program p06;

Uses crt;

const n=10;

type mytype = array [1..n] of integer;

var a: mytype;

i, k: integer;

 

 

procedure work(var a:mytype; Kol:integer);

external;

 

Begin

Randomize;

clrscr;

{Заполнение и вывод}

for i:=1 to n do begin

k:=random (40);

a[i]:= k;

a[3]:=50;

write (a[i]:4);

end;

writeln;

work (a, n);

 

{вывод}

for i:=1 to n do

write (a[i]:4);

writeln;

readkey;

End.

 

.286

public work

data segment public

firstnum dw?

pos dw?

count dw?

data ends

;==========================================

code segment byte public

assume cs:code,ds:data

 

work proc near

push bp

mov bp,sp

pusha

;======================================================

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

mov cx,[bp+4];Кол-во чисел

mov si,[bp+6];Адрес начала матрицы

xor bx, bx;Начинаем с первого числа

mov ax, [si];Запоминаем первое число массива

mov firstnum, ax; в переменной

mov dx, 0FFFFh;Максимальное отрицательное число

cycl103: mov ax, bx[si];Взять число

cmp ax, dx;Сравнить с максимумом

jle nonmax;Если меньше, то переход

mov dx, ax; иначе запомнить новый максимум

mov pos, bx; и его расположение

nonmax: add bx, 2;Перейти к след. числу

loop cycl103

;Прошли по всему массиву

;======================================================

;Уменьшение всего до максимума

mov cx, pos;Смещение до максимума

shr cx, 1;Переводим в индекс - де6лим на 2

; т.к. (integer это 2 байта)

mov si,[bp+6];Адрес начала матрицы

xor bx,bx;Начинаем с первого числа

cycl201: mov ax,bx[si];Взять число

add ax,firstnum;Прибавить к нему первое число

mov bx[si],ax;Записать в массив

add bx,2;ПЕрейти к след. числу

loop cycl201

;======================================================

;Сортировка всего после максимума

mov ax, pos;Смещение до максимума

mov si, [bp+6];Адрес начала матрицы

add si, ax;Добавляем к адресу смещение

add si, 2;Переходим к числу за максимумом

 

mov cx, [bp+4];Количество чисел

mov ax, pos;Смещение до максимума

shr ax, 1;Переводим в индекс

sub cx, ax;Из общего числа вычитаем номер

sub cx, 2; максимума и еще вычитаем 2

mov count, cx;Получаем необходимое кол-во просмотров

cycl302:

xor bx,bx;Начинаем с текущего числа

; (следующее после максимума)

push cx;Сохраняем внешний счетчик

mov cx, count;Устанавливаем внутренний сч-к

cycl301:

 

mov ax, bx[si];Взять текущее число

mov dx, bx[si+2];И следующее

cmp ax, dx;сравниваем их

jge noswap;Если не надо менять местами, то перход

mov bx[si+2],ax; иначе меняем эти числа

mov bx[si], dx; местами

noswap: add bx, 2;Переходим к след. паре чисел

loop cycl301;Конец внутреннего цикла

pop cx;Восстанавливаем сч-к внешнего цикла

loop cycl302;Конец внешнего цикла

 

popa

pop bp

ret 6

work endp

code ends

end

 

 


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


<== предыдущая страница | следующая страница ==>
Определить среднее арифметическое четных элементов, лежащих после максимального значения в массиве D[I..N]. Все нечетные рассортировать по возрастанию.| Определить, сколько нулей лежит между минимальным и максимальным значениями массива H[1..N]. До и после экстремумов массив отсортировать по убыванию.

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