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

Подсчитать количество предложений. Расставить предложения по возрастанию количества слов в каждом

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


Читайте также:
  1. B матрице A[1..N,1..M] упорядочить элементы столбца. содержащего наибольшее количество отрицательных чисел, по убыванию.
  2. I) Найдитев тексте все придаточные предложения, которые вводятся союзом que,и выполняют функцию дополнения.
  3. I) Объяснитероль слова choseв следующих предложениях (существительное
  4. I) Составьте пять фраз,содержащих два придаточных предложения цели, соединенных союзом ... et que.
  5. I. Количество и качество проведенных воспитательных мероприятий за год
  6. II) Перепишите сновапредложения из упражнения I, выражая идею противо- поставления с помощью относительных придаточных предложения.
  7. II) Составьтепять фраз с союзом «et» и пять фраз с союзом «ou», в которых эти союзы будут соединять короткие предложения.

{$L t.obj}

program text_4;

Uses crt;

var t,temp: string;

kp1,i,kp,k1,k2,addr1,addr2: Integer; {kp - kol-vo predlozheniy}

 

Procedure sort(var t: String; var kp: Integer); External;

 

Begin

ClrScr;

t:= 'and anguish animal.aircraft.angular anode.anoint anthill antelope antics.*';

Writeln('Data:',t);

 

sort(t,kp);

 

Writeln;

Writeln('Kol-vo predlozheniy ', kp);

Writeln(t);

readkey;

End.

 

 

.286

public sort

data segment

addr1 dw 0

addr2 dw 0

k1 dw 0

k2 dw 0

kp1 dw 0

temp db 255 dup (?)

endS

code segment byte public

assume cs:code

assume ds:data

sort proc near

push bp

mov bp,sp

pusha

 

lds di,[bp+8]

inc di

xor dx,dx;v dx - kp}

@cycl:mov ah,[di]

cmp ah,46

je @1

inc di

jmp @cycl

@1: inc dx

inc di

mov ah,[di]

cmp ah,42

jne @cycl

mov bx,[bp+4]

mov [bx],dx

mov kp1,dx

 

@BC1: lds di,[bp+8];{current sentex}

inc di

mov addr1,di

mov k1,0

xor bx,bx

@c: inc di

inc k1

mov ah,[di]

cmp ah,46

je @endp

cmp ah,32

je @sl

jmp @c

@sl: inc bx

jmp @c

@endp:inc bx

inc k1;{+ '.'}

inc di

 

@cicl: xor dx,dx;{next sentex}

mov addr2,di

mov k2,0

add di,1

inc k2

@c1: inc di

inc k2

mov ah,[di]

cmp ah,46

je @endp1

cmp ah,32

je @sl1

jmp @c1

@sl1: inc dx

jmp @c1

@endp1:inc dx

inc k2

inc di

 

cmp bx,dx

jg @ch

mov ah,[di]

cmp ah,42

je @konec

 

sub di,1

mov ax,k2

mov k1,ax

mov ax,addr2

mov addr1,ax

mov di,addr1

 

jmp @N

@BC: jmp @BC1

@n:

 

add di,k2

mov bx,dx

jmp @cicl

@ch: lea si,temp

inc si

mov di,addr2

mov cx,k2

@ch1: mov ax,[di]

mov [si],ax

inc di

inc si

loop @ch1

mov di,addr1

mov cx,k1

@ch2: mov ax,[di]

mov [si],ax

inc di

inc si

loop @ch2

lea si,temp

inc si

mov di,addr1

mov cx,k1

add cx,k2

@ch3: mov ax,[si]

mov [di],ax

inc di

inc si

loop @ch3

 

mov ax,addr1

add ax,k2

mov addr1,ax

mov di,addr1

add di,k1

mov bx,dx

inc di

mov ah,[di]

cmp ah,42

je @konec

sub di,1

jmp @cicl

@konec:sub kp1,1

cmp kp1,0

jg @BC

 

 

popa

pop bp

ret 100

sort endp

code ends

end

 

Создать массив А[1..N]. Если количество положительных меньше чем отрицательных, то каждое положительное число увеличить на первое положительное. Определить минимальное и максимальное значения и их порядковые номера.

{$L l12.obj}

program p06;

Uses crt;

const n=10;

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

var a: mytype;

i, k: integer;

indmin, indmax, min, max:integer;

 

procedure work(var a:mytype; var indmin, indmax, min, max:integer; Kol:integer);

external;

 

Begin

Randomize;

clrscr;

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

for i:=1 to n do begin

k:=random (20);

a[i]:= k-10;

write (a[i]:4);

end;

writeln;

work (a, indmin, indmax, min, max, n);

 

{вывод}

for i:=1 to n do

write (a[i]:4);

writeln;

writeln ('min=', min:4, [',indmin,']');

 

 

assume cs:code,ds:data

 

work proc near

push bp

mov bp,sp

pusha

 

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

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

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

 

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

cmp ax, 0;Оно меньше 0?

jl lesszero; если да, то обрабатываем

; как отрицательное

cmp ax, 0;Оно равно 0?

je zero;Если да, то вообще не обрабатываем

greitzero:;Если больше 0

inc numpos;Увеличить сч-к положительных

cmp numpos, 1;Если это первое положительное

jne firstgeted

mov firstpos, ax; то запомнить его

firstgeted: jmp zero

lesszero:;Если меньше 0

inc numneg;Увеличить сч-к отрицательных

zero:

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

loop cycl101

 

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

mov ax, numpos;Сумма положительных

mov bx, numneg;Сумма отрицательных

cmp ax, bx;Если кол-воо положит-х больше

jge noadd; кол-ва отриц-х, то переход на

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

;Иначе прбавить ко всем положительным первое положительное

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

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

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

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

cmp ax, 0;Оно меньше 0?

jle lesszero2; если да, то обрабатываем

; как отрицательное

;Если больше 0

add ax, firstpos;Прибавить первое положительное

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

lesszero2:;Если меньше 0

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

loop cycl102

noadd:

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

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

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

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

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

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 si,[bp+6];Адрес Max

mov [si], dx;Записать туда найденный максимум

mov si,[bp+14];Адрес IndMax (позиция максимума)

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

shr dx, 1;Разделить на 2 (в integer 2 байта)

inc dx;Прибавить 1 (Визуально первый элемент

; имеет индекс 1, а не 0)

mov [si],dx;Записать индекс

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

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

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

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

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

mov dx, 0FFFh;Максимальное положительное число

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

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

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

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

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

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

loop cycl103

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

mov si,[bp+10];Адрес Min

mov [si], dx;Записать туда найденный минимум

mov si,[bp+18];Адрес IndMin (позиция минимума)

mov dx, pos;Смещение до минимума в массиве

shr dx, 1;Разделить на 2 (в integer 2 байта)

inc dx;Прибавить 1 (Визуально первый элемент

; имеет индекс 1, а не 0)

mov [si],dx;Записать индекс

 

popa

pop bp

ret 24

work endp

code ends

end

 

 


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


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

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