С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
natry
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 3
1

В первом из массивов поменять знаки у положительных элементов, а во втором - у отрицательных

03.10.2012, 21:30. Просмотров 652. Ответов 5
Метки нет (Все метки)

Всем привет, нужна помощь,

Даны два массива. В первом из них поменять знаки у положительных элементов, а во втором - у отрицательных, подсчитывая для каждого массива количество перемен знаков. Для того массива, у которого количество перемен знаков больше, сосчитать сумму элементов.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2012, 21:30
Ответы с готовыми решениями:

Вычисления суммы положительных и отрицательных элементов массива
Помагите пожалуйста 1. Вычисления суммы положительных и отрицательных...

Подсчитать суммы положительных и отрицательных элементов двухмерного массива
Для зачета нужна задача. Подсчитать суммы положительных и отрицательных...

Подсчитать суммы положительных и отрицательных элементов двухмерного массива
В обем завтра зачет, нужно сделать ещё одну лабу, как делать не знаю, условие:...

Найти количество положительных, нулевых, и отрицательных, элементов массива
Учусь на заочном обучении в програмироване полный ноль, но очень хочу обучится....

Поменять знаки на противоположный у всех отрицательных элементов массива.
Дан массив С(п ). Поменять знаки на противоположный у всех отрицательных...

5
alex120
Так говорил Заратустра...
62 / 47 / 6
Регистрация: 19.01.2012
Сообщений: 162
03.10.2012, 23:31 2
А Вы что сделали?
0
natry
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 3
03.10.2012, 23:37  [ТС] 3
начало программы у меня сделано , то бишь ввод массивов а вот как быть дальше, мне чего то не сообразить
0
alex120
Так говорил Заратустра...
62 / 47 / 6
Регистрация: 19.01.2012
Сообщений: 162
03.10.2012, 23:57 4
Код в студию?
0
angstrom
2471 / 1847 / 242
Регистрация: 14.09.2012
Сообщений: 5,981
Записей в блоге: 2
04.10.2012, 00:23 5
Разобраться должен сам, никаких вопросов - "Что делает та или иная команда".
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
72
73
74
75
76
  .486 
  .model flat, stdcall 
  option casemap :none ; case sensitive 
 
  include windows.inc 
  include kernel32.inc 
  include user32.inc 
  include masm32.inc
  include gdi32.inc 
 
  includelib kernel32.lib 
  includelib user32.lib  
  includelib masm32.lib
  includelib gdi32.lib   
 
.data
  buf1      SDWORD  1, -2, 3, 4, -5, 6, -7, -8, -9, 10
  buf2      SDWORD  1, 2, -3, -4, 5, -6, 7, 8, 9, -10
  count1    DWORD   0
  count2    DWORD   0
  summa     DWORD   0
  szCaption BYTE    "Ответ", 0
  szFmt     BYTE    "Сумма массива %d равна (%d)", 0
 
.data?
  result    BYTE    100 dup (?)
 
.code
 
start:
 
  lea    esi, buf1
  xor    ebx, ebx
  .while ebx < LENGTHOF buf1
    lodsd
    .if SDWORD PTR eax < 0
      inc count1
    .endif
    inc ebx
  .endw
 
  lea    esi, buf2
  xor    ebx, ebx
  .while ebx < LENGTHOF buf2
    lodsd
    .if SDWORD PTR eax < 0
      inc count2
    .endif
    inc ebx
  .endw
 
  mov eax, count1
  .if eax > count2
    lea    esi, buf1
    mov    edi, 1
  .else
    lea    esi, buf2
    mov    edi, 2
  .endif
 
  xor    ebx, ebx
  .while ebx < LENGTHOF buf2
    lodsd
    add summa, eax
    inc ebx
  .endw
  
  ; сформировать строку по образцу
  invoke wsprintf, ADDR result, ADDR szFmt, edi, summa
 
  ; вывести сообщение на экран
  invoke MessageBox, 0, ADDR result, ADDR szCaption, MB_OK or MB_ICONINFORMATION
 
  invoke ExitProcess,0
 
end start
Добавлено через 16 минут
Кстати, я забыл сделать инвертирование и не так проверяю первый массив. Вот и разберись, где и что нужно добавить, а где поменять.
1
natry
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 3
04.10.2012, 01:19  [ТС] 6
спасибо, буду разбираться
0
04.10.2012, 01:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2012, 01:19

Дан массив C (n). Поменять знаки на противоположный у всех отрицательных элементов массива
Дан массив C (n). Поменять знаки на противоположный у всех отрицательных...

Дан массив С(n). Поменять знаки на противоположенный у всех отрицательных элементов массива.
Дан массив С(n). Поменять знаки на противоположенный у всех отрицательных...

В массиве поменять все знаки у отрицательных элементов и найти среди них наибольший
Создать программу.Дан одномерный числовой массив размерностью N.В нём поменять...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru