0 / 0 / 0
Регистрация: 03.02.2014
Сообщений: 2
|
|
1 | |
Решение задачки начального уровня04.02.2014, 09:09. Показов 1138. Ответов 4
Метки нет (Все метки)
Дан массив треугольников с заданными длинами своих сторон,определить периметр этих треугольников и сохранить их в массиве.N массив не больше 10 но не меньше 5.
Большая просьба откликнуться сам с ассемблером дело не имею)
0
|
04.02.2014, 09:09 | |
Ответы с готовыми решениями:
4
3 задачи начального уровня 1 задача начального уровня Задача начального уровня с массивами Ищу задачи начального уровня |
Хочу в Исландию
1041 / 840 / 119
Регистрация: 10.11.2010
Сообщений: 1,630
|
|
05.02.2014, 01:00 | 2 |
Что значит массив треугольников?
0
|
1127 / 261 / 9
Регистрация: 11.06.2010
Сообщений: 1,049
|
||||||
05.02.2014, 14:40 | 3 | |||||
Думаю, как-то так:
0
|
0 / 0 / 0
Регистрация: 03.02.2014
Сообщений: 2
|
|
05.02.2014, 19:07 [ТС] | 4 |
Я попробовал сам сделать получилось так подскажите может что не так понял)
. .386 .model flat, stdcall option casemap :none ; case sensitive ;######################################################################### include \masm32\include\windows.inc include \masm32\include\user32.inc include \masm32\include\kernel32.inc includelib \masm32\lib\user32.lib includelib \masm32\lib\kernel32.lib ;######################################################################### .data sfc db "%.4lu",0 ; Строка формата для API-функции wsprintf sResult byte 2*2+1 dup (0BBh) ; Строка с текстом числа MsgCaption db "Результат",0 ; Заголовок сообщения Triangle dd 01,01,01,02,02,02,03,03,03,04,04,04,05,05,05,06,06,06; Массив с длинами сторон треугольников m = 6 ; количество треугольников Perimeter dd m dup(0) ; пустой массив из m эллементов ;######################################################################### .code start: mov eSI, offset Triangle ; адрес начала массива длин mov eDI, offset Perimeter ; адрес начала массива периметров mov eCX, m ; число циклов для расчета периметров Result: ; начало цикла расчета периметра mov EAX, [ESI] ; записать в регистр текущий эллемент массива add esi, type Triangle ; перейти к слудующему элементу массива add EAX, [ESI] ; сложить значение в регистре с элементом массива add esi, type Triangle ; перейти к слудующему элементу массива add EAX, [ESI] ; сложить значение в регистре с элементом массива add esi, type Triangle ; перейти к слудующему элементу массива mov [EDI], EAX ; Записать результат в массив периметров add edi, type Perimeter ; Перейти к слудующей ячейке массива периметров loop Result ; конец цикла расчета mov eCX,m ; Число циклов для вывода на экран mov eDI, offset Perimeter ; Адрес начала массива с периметрами Output: mov EAX, [EDI] ; Передаем значение для вывода на экран из массива call HexMessage ; Выводим на экран расчитанное значение add edi, type Perimeter ; Переход к следующиму элементу loop Output push 0 ; пустой параметр для подпрограммы выхода call ExitProcess ; вызов API-функции выхода ;------------------------------------------------------------------------- HexMessage proc ; начало функции вывода pushad ; сохранить в стек все 8 E-регистров общего назначения invoke wsprintf, ADDR sResult, ADDR sfc, EAX invoke MessageBox, NULL, addr sResult, addr MsgCaption, MB_OK popad ; извлечь из стека все 8 E-регистров общего назначения ret HexMessage endp ; конец функции вывода ;------------------------------------------------------------------------- end start ; конец программы
0
|
6770 / 2739 / 384
Регистрация: 17.02.2013
Сообщений: 4,047
|
|
05.02.2014, 19:19 | 5 |
Ну так если при запуске твоя программа отрабатывает правильно, то в чем сомненья ?
0
|
05.02.2014, 19:19 | |
05.02.2014, 19:19 | |
Помогаю со студенческими работами здесь
5
Посоветуйте видеоуроки начального уровня С++ простые программки, начального уровня Паяльник начального уровня, помощь в выборе Ищу задачи с массивами начального уровня Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |