19 / 19 / 5
Регистрация: 17.10.2010
Сообщений: 247
|
||||||
1 | ||||||
[MASM] Найти сумму наименьших элементов каждой строки матрицы15.02.2012, 23:41. Показов 2203. Ответов 14
Метки нет (Все метки)
доброго времени суток, помогите начинающему с решением проблемы:
в рабочей проге(с положительными числами) прога выполняет неправильные вычисления с отрицательными прога выводит массив, а после него сумму найм. элементов каждой строки про условные переходы почитал, но почему-то не работает. исправьте, пожалуйста
0
|
15.02.2012, 23:41 | |
Ответы с готовыми решениями:
14
Найти сумму наименьших элементов каждой строки матрицы Найти сумму наименьших элементов каждой строки матрицы Найти сумму наименьших элементов каждой строки матрицы и их координат Найти сумму наименьших элементов каждой строки матрицы и их координаты |
43 / 27 / 6
Регистрация: 27.09.2011
Сообщений: 280
|
|
16.02.2012, 11:41 | 2 |
vaselo, а разве бывает ,что меньше или не равно....
вот такие команды буду работать но то что вы написали врятли... jl - меньше ja - больше jae - больше или равно jle - меньше или равно jne - не равно je - равно
1
|
Ушел с форума
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
16.02.2012, 11:54 | 3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Noclip, условных переходов немного больше, а среди тех, что ты написал смешаны комнды условных переходов для чисел со знаком и чисел без знака
В таблице приведены все коды условий и соответствующие им описания и значения флагов. Эти условия используются в командах CMOVcc, FCMOVcc, Jcc и SETcc. Колонка «Код условия (code condition)» содержит название условия, используемое вместо символов cc в конкретной команде (например, для кода «NAE» команда Jcc будет выглядеть как JNAE, а команда CMOVcc - CMOVNAE). Колонка «Часть кода команды» - значения кода, используемый при кодировке CMOVcc, FCMOVcc, Jcc и SETcc. В колонке «Условие» - названия условий на русском и английском языках. В колонке «Значение флагов» - либо значение флага, соответствующее данному условию (например, OF = 1, OF = 0), либо алгоритм, по которому процессор вычисляет возникновение условия (например, CF or ZF = 1 - условие возникает тогда, когда значения флагов CF и ZF, совмещённые логическим «ИЛИ» дают в результате единицу - это значит, что или флаг CF, или флаг ZF равен 1). Большинство условий имеют по два названия, например, L (less, меньше) и NGE (neither greater nor equal, не больше и не равно) представлены одним и тем же кодом, так как имеют одинаковый смысл. Термины «выше» (above) и «ниже» (below) ассоциированы со значением флага CF и применяются при сравнении двух целых беззнаковых величин. Термины «больше» (greater) и «меньше» (less) ассоциируются со значениями флагов SF и OF и применяются при сравнении двух целых величин со знаком.
2
|
19 / 19 / 5
Регистрация: 17.10.2010
Сообщений: 247
|
|
16.02.2012, 13:05 [ТС] | 4 |
про переходы я почитал прилично, но, думаю, дело не в них:
перевел число -93 в двоичную систему и понял, что занял два байта, а знак не помещается в эти два байта и число считается положительным(как правило оч. большим), следовательно придется мне увеличить массив до слова, или есть другой выход, о котором я не знаю? или я не прав?
0
|
43 / 27 / 6
Регистрация: 27.09.2011
Сообщений: 280
|
|
16.02.2012, 19:58 | 5 |
vaselo, тогда проблема в том что нужно использовать переход с учетом знака
но у вас он стоит jnle , я немного в недоумении. у меня всё работало , когда я работал с переходами и проблем не было..
0
|
19 / 19 / 5
Регистрация: 17.10.2010
Сообщений: 247
|
|
16.02.2012, 20:32 [ТС] | 6 |
моя программа работает, никто не проверял???
мож у меня что-то не так?
0
|
43 / 27 / 6
Регистрация: 27.09.2011
Сообщений: 280
|
|
16.02.2012, 20:36 | 7 |
vaselo, что у вас в text1 и text2 ??
0
|
19 / 19 / 5
Регистрация: 17.10.2010
Сообщений: 247
|
|
16.02.2012, 20:37 [ТС] | 8 |
выводит, что "программа стартовала"
"подсчет суммы минимальных элементов каждой строки"
0
|
43 / 27 / 6
Регистрация: 27.09.2011
Сообщений: 280
|
||||||
16.02.2012, 20:45 | 9 | |||||
vaselo, у вас всё в порядке всё работает =) пропускайте через masm и смотрите ошибки....
А вот и подтверждение что она работает (я только поставил тексты и всё. Ну и закоментировал ВОТ ОН ЭТОТ УСЛОВНЫЙ ПЕРЕХОД
1
|
43 / 27 / 6
Регистрация: 27.09.2011
Сообщений: 280
|
|
16.02.2012, 20:48 | 10 |
только так смог подтверждение скинуть...
откройте и посмотрите =)
0
|
43 / 27 / 6
Регистрация: 27.09.2011
Сообщений: 280
|
|
16.02.2012, 20:49 | 11 |
vaselo, только вот мне кажется , что там неправильный подсчет... =)
1
|
19 / 19 / 5
Регистрация: 17.10.2010
Сообщений: 247
|
|
16.02.2012, 20:50 [ТС] | 12 |
в каждой строке найдите наименьшие числа и просуммируйте. измените массив на положительные числа, повторите и увидите, что с положит. считает правильно
0
|
43 / 27 / 6
Регистрация: 27.09.2011
Сообщений: 280
|
|
16.02.2012, 20:52 | 13 |
491 ответ.... хотя должен меньше быть... тоесть меньше нуля я посчитал что-то около -21...
Добавлено через 1 минуту vaselo, напишите мне условие программы и я её постараюсь вам сделать... =)
0
|
19 / 19 / 5
Регистрация: 17.10.2010
Сообщений: 247
|
|
16.02.2012, 20:55 [ТС] | 14 |
делать не нужно. я все (кажется) сделал. но я так понял, что отрицательное число размером байт не воспринимается за отрицательное. Ведь с положительными считает, условные переходы все перепробовал.
если это так, то я увеличу массив до dw и проблема решится сама собой или не так?
0
|
43 / 27 / 6
Регистрация: 27.09.2011
Сообщений: 280
|
|
16.02.2012, 21:01 | 15 |
vaselo, у меня с dw работала сумма с отрицательными числами...
но на счет db я не вкурсе...
0
|
16.02.2012, 21:01 | |
16.02.2012, 21:01 | |
Помогаю со студенческими работами здесь
15
Найти сумму наименьших элементов каждой строки массива Найти произведение наибольших и наименьших элементов каждой строки матрицы Найти произведение наименьших элементов каждой строки матрицы и их координаты Найти суммы наименьших элементов каждой строки матрицы размером 5х8, состоящей из элементов целого типа Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |