Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
библиотеки.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
117.76 Кб
Скачать

Void main()

{

int arr[100],i=0,n=0;

setlocale(LC_ALL,"Rus");

printf("введите размер массива: ");

scanf("%d",&n);

for(i=0;i<n;i++){

printf("\n%d элемент = ",(i+1));

scanf("%d",&arr[i]);

}

printf("\n\nМассив:\n");

for(i=0;i<n;i++) printf("%d\t",arr[i]);

zadacha8(arr,n);

printf("\nРезультат:\n");

for(i=0;i<n;i++) printf("%d\t",arr[i]);

getch();

}

9. С клавиатуры вводится строка длиной N, 2<N<100. Заменить каждый символ латинского алфавита на символ, идущий следующим в алфавите. Символы 'z' и 'Z' не заменять. Результат вывести на экран.

zadacha9 PROC C simbol:DWORD, len: DWORD

mov esi, simbol

xor ecx, ecx

.WHILE ecx < len

xor eax, eax

mov al, [esi]

.IF al >= 'a' && al <= 'y'

inc al

.ENDIF

.IF al >= 'A' && al <= 'Y'

inc al

.ENDIF

mov [esi],al

inc esi

inc ecx

.ENDW

ret

zadacha9 ENDP

#include <stdio.h>

#include <string.h>

#include <windows.h>

#include <locale.h>

extern void zadacha9(char* str,int len);

Void main()

{

char str[100];

setlocale(LC_ALL,"Rus");

gets(str);

OemToChar(str,str);

Zadacha9(str,strlen(str));

puts(str);

getch();

}

10. Дан целочисленный массив размера N, 2<N<100. Размер массива и его элементы вводятся с клавиатуры. Обнулить все элементы большие, чем средний элемент массива. Результат вывести на экран.

zadacha10 PROC C arr:DWORD, n:DWORD

mov esi, arr

mov eax, n

dec eax

xor edx,edx

div two

mul ct

add esi, eax

mov ebx,[esi]

mov esi, arr

xor ecx, ecx

.WHILE ecx < n

mov eax,[esi]

cmp ebx,eax

jge p

xor eax,eax

mov [esi],eax

p:

add esi,4

inc ecx

.ENDW

ret

zadacha10 ENDP

#include <stdio.h>

#include <string.h>

#include <windows.h>

#include <locale.h>

extern int zadacha10(int* arr,int n);

Void main()

{

int arr[100],i=0,n=0;

setlocale(LC_ALL,"Rus");

printf("введите размер массива: ");

scanf("%d",&n);

for(i=0;i<n;i++){

printf("\n%d элемент = ",(i+1));

scanf("%d",&arr[i]);

}

printf("\n\nМассив:\n");

for(i=0;i<n;i++) printf("%d\t",arr[i]);

zadacha10(arr,n);

printf("\nРезультат:\n");

for(i=0;i<n;i++) printf("%d\t",arr[i]);

getch();

}

11. С клавиатуры вводится строка длиной N, 2<N<100. Удалить в строке все знаки препинания и пробелы. Результат вывести на экран.

zadacha11 PROC C simbol:DWORD, len: DWORD

mov esi, simbol

xor ecx, ecx

.WHILE ecx < len

xor eax, eax

mov al, [esi]

.IF al == ' ' || al == ',' || al == '.' || al == ';' || al == '!' || al == '?'

mov ebx, ecx

.WHILE ebx < len

mov al,[esi + 1]

mov [esi], al

inc ebx

inc esi

.ENDW

mov esi, simbol

add esi, ecx

mov eax, len

dec eax

mov len, eax

jmp stop

.ENDIF

inc esi

inc ecx

stop:

.ENDW

ret

zadacha11 ENDP

#include <stdio.h>

#include <string.h>

#include <windows.h>

#include <locale.h>

extern void zadacha11(char* str,int len);

Void main()

{

char str[100];

setlocale(LC_ALL,"Rus");

gets(str);

OemToChar(str,str);

Zadacha11(str,strlen(str));

puts(str);

getch();

}

12. С клавиатуры вводится строка длиной N, 2<N<100. Удалить в строке все латинские прописные символы. Результат вывести на экран.

zadacha12 PROC C simbol:DWORD, len: DWORD

mov esi, simbol

xor ecx, ecx

.WHILE ecx < len

xor eax, eax

mov al, [esi]

.IF al >= 'a' && al <= 'z'

mov ebx, ecx

.WHILE ebx < len

mov al,[esi + 1]

mov [esi], al

inc ebx

inc esi

.ENDW

mov esi, simbol

add esi, ecx

mov eax, len

dec eax

mov len, eax

jmp stop

.ENDIF

inc esi

inc ecx

stop:

.ENDW

ret

zadacha12 ENDP

#include <stdio.h>

#include <string.h>

#include <windows.h>

#include <locale.h>

extern void zadacha12(char* str,int len);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]