0 / 0 / 0
Регистрация: 18.03.2018
Сообщений: 31
1
FASM

Дано 50 чисел, среди которых есть по крайней мере одно отрицательное. Найти наибольшее среди отрицательных чисел

02.05.2018, 23:28. Показов 2336. Ответов 10
Метки нет (Все метки)

Дано 50 чисел, среди которых есть по крайней мере одно отрицательное. Найти наибольшее среди отрицательных чисел.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.05.2018, 23:28
Ответы с готовыми решениями:

Даны целое n>0 и последовательность из n вещественных чисел, среди которых есть хотя бы одно отрицательное число
Даны целое n>0 и последовательность из n вещественных чисел, среди которых есть хотя бы одно...

Определить, что среди чисел есть хотя бы одно отрицательное
Даны действительные числа a1, a2, ... Известно, что a1>0 и что среди a2, a3, ... есть хотя бы одно...

Дано n целых чисел. Найти среди них пару чисел, НОД которых имеет наибольшее значение; НОК которых имеет наименьшее значение
Дано n целых чисел. Найти среди них пару чисел, НОД которых имеет наибольшее значение; НОК которых...

Найти наибольшее среди отрицательное чисел этой последовательности
Всех приветствую, прошу помощи. Пусть дано натуральное число N и последовательность из N...

10
Прощай, Мир!
1672 / 829 / 252
Регистрация: 26.05.2012
Сообщений: 3,057
03.05.2018, 04:24 2
Цитата Сообщение от Gax Посмотреть сообщение
Найти наибольшее среди отрицательных чисел
наибольшее по модулю или без модуля?
0
0 / 0 / 0
Регистрация: 18.03.2018
Сообщений: 31
04.05.2018, 21:30  [ТС] 3
По модулю
0
0 / 0 / 0
Регистрация: 18.03.2018
Сообщений: 31
04.05.2018, 21:34  [ТС] 4
Дано 50 чисел, среди которых есть по крайней мере одно отрицательное. Найти
наибольшее среди отрицательных чисел.

Заранее спасибо

 Комментарий модератора 
Gax, согласно Правилам форума, которые вы обязались выполнять при регистрации, запрещено дублирование тем в пределах одного раздела (кросспостинг) или подраздела (дублирование).

За игнорирование Правил форума и замечаний администрации следуют наказания вплоть до блокировки.
0
0 / 0 / 0
Регистрация: 18.03.2018
Сообщений: 31
04.05.2018, 21:46  [ТС] 5
Дано 50 чисел, среди которых есть по крайней мере одно отрицательное. Найти
наибольшее среди отрицательных чисел.

Заранее спасибо
0
Модератор
Эксперт по электронике
8197 / 4122 / 1569
Регистрация: 01.02.2015
Сообщений: 12,742
Записей в блоге: 3
04.05.2018, 22:40 6
proc3nt, если по модулю - то там подвох с несимметричностью диапазонов положительных и отрицательных чисел.
0
3 / 3 / 0
Регистрация: 02.04.2018
Сообщений: 47
05.05.2018, 15:49 7
какая знакомая задача) не из задачника Бордаченковой случаем? Есть прога готовая,но мы пишем на MASM(возможно,не самая быстрая,но работающая точно)
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
include console.inc 
.data 
max db 'max negative number is ',0
N EQU 10 
.code 
 
start: 
mov ECX,N
mov BX,0 
mov DL,0
 
SEARCH:inint AX             ;ввод i-того элемента массива
       cmp AX,0             ;сравниваем текущий элемент с нулем
       jge NEXT             ;больше или равно 0 =>идем дальше
       cmp DL,0             ;был ли найден до этого отрицательный элемент
       je INDICATOR         ;не было => фиксируем,что нашли его
       cmp AX,BX            ;если уже был тогда сравниваем текущий элемент с найденным
       jle NEXT             ;если меньше, то ищем дальше
       mov BX,AX            ;иначе запоминаем элемент
       jmp NEXT
       INDICATOR:mov BX,AX 
                 mov DL,1
NEXT:  loop SEARCH  
outstr offset max   
outint BX
exit 
end start
1
0 / 0 / 0
Регистрация: 18.03.2018
Сообщений: 31
06.05.2018, 21:09  [ТС] 8
Простите, ошибся, без модуля. Oс (windows 7 32 bit) желательно сделать вывод
0
Модератор
Эксперт по электронике
8197 / 4122 / 1569
Регистрация: 01.02.2015
Сообщений: 12,742
Записей в блоге: 3
06.05.2018, 21:14 9
Gax, чем код hardequation не подходит? Он как раз под Win32.
0
0 / 0 / 0
Регистрация: 18.03.2018
Сообщений: 31
06.05.2018, 21:25  [ТС] 10
Он не компилируется на в Fasm

Добавлено через 50 секунд
К тому же нет вывода, простите за наглость
0
Модератор
Эксперт по электронике
8197 / 4122 / 1569
Регистрация: 01.02.2015
Сообщений: 12,742
Записей в блоге: 3
06.05.2018, 21:56 11
Лучший ответ Сообщение было отмечено Gax как решение

Решение

Опираясь на код hardequation
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
format PE console 4.0
entry start
 
include 'win32ax.inc'
 
section '.text' code readable executable
 
  start:
 
        ; получение описателей ввода и вывода консоли
        invoke  GetStdHandle,   STD_INPUT_HANDLE
        mov     [hConsoleInput],        eax
 
        invoke  GetStdHandle,   STD_OUTPUT_HANDLE
        mov     [hConsoleOutput],       eax
 
mov ECX,[N]
lea ESI, [Array]
mov EBX,0
mov DL,0
 
SEARCH:
        lodsd                   ;ввод i-того элемента массива
        or EAX,EAX              ;сравниваем текущий элемент с нулем
        jns NEXT                ;больше или равно 0 =>идем дальше
        or DL,DL                ;был ли найден до этого отрицательный элемент
        jnz COMPARE             ;не было => фиксируем,что нашли его
        mov EBX,EAX
        mov DL,1
COMPARE:
        cmp EAX,EBX             ;если уже был тогда сравниваем текущий элемент с найденным
        jle NEXT                ;если меньше, то ищем дальше
        mov BX,AX               ;иначе запоминаем элемент
NEXT:   loop SEARCH
 
        mov     [Result],       ebx
        cinvoke printf, aszFmt, [Result]
        ;ожидание нажатия ENTER
        cinvoke printf, aszPressEnter
        invoke  ReadConsole, [hConsoleInput], Buffer,\
                100, BufLen, NULL
        invoke  ExitProcess, 0
 
section '.data' data readable writeable
        aszFmt  db      'Result (max negative)=%d', 0Dh, 0Ah, 0
        aszPressEnter   db      0Dh, 0Ah, 0Dh, 0Ah, "Press ENTER to exit", 0
        N       dd      50
        Array   dd       5652,  974,  394, 6526, 3337, -399, 8668, 2754, 1375, 6907
                dd        526, 1491, 5896, -912, 4979, 2828, 5942, 2971, 6681, 1473
                dd       -373, 7538, 7251, 2378,  360, 4094, 7512, 5137, 3315, 4953
                dd       8898, 6796, 6669, 6898, 1628, 5027,  783, 6839, 2468, 1093
                dd       1510, 5964, 4445, 7736, 6810, 7519,  -53,  885, 1102, 6299
 
section '.bss' readable writeable
        Buffer          db      1024 dup(?)
        BufLen          dd      ?
        hConsoleOutput  dd      ?
        hConsoleInput   dd      ?
 
        Result          dd      ?
 
section '.idata' import data readable writeable
 
        library kernel32,'KERNEL32.DLL',\
                user32,'USER32.DLL',\
                msvcrt, 'msvcrt.dll'
 
        include 'api\kernel32.inc'
        include 'api\user32.inc'
        import  msvcrt,\
                printf, 'printf'
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.05.2018, 21:56
Помогаю со студенческими работами здесь

Ввод 5-ти чисел, если среди них есть хоть одно отрицательное число, то программа выводит YES
1. Пользователь вводит 5 чисел, если среди них есть хоть одно отрицательное число, то программа...

Верно ли, что среди чисел - sin x в n степени, где н= от 1 до 30, есть хотя бы одно отрицательное число
если среди чисел - sin x в n степени, где н= от 1 до 30, есть хотя бы 1-но отрицательное число, то...

Если среди чисел есть хотя бы одно отрицательное число, то присвоить значение True, иначе False
Доброго времени суток, помогите исправить код, не пойму в чём ошибка! Задание таково: Если ...

Определить наименьшее среди положительных и наибольшее среди отрицательных введенных чисел
Помогите написать программу: пользователь вводит числа заканчивая введение нулем. Определить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru