Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 13.03.2016
Сообщений: 5
1

Как записать отрицательные элементы в массив Y, а из положительных найти среднее арифметическое

22.04.2017, 17:55. Показов 793. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как записать отрицательные элементы в массив Y, а из положительных найти среднее арифметическое
C++
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
#include "stdafx.h" 
#include <iostream> 
#include <ctime> 
 
const int n = 10; 
 
int main() 
{ 
int X[n]; 
int Y[n]; 
int max, min,l; 
 
std::cout « " Massiv X \n "; 
 
srand(time(NULL)); 
 
for (int i = 0; i < n; i++) 
{ 
X[i] = rand() % 15 - 6; 
std::cout « X[i] « " "; 
} 
std::cout « std::endl; 
 
_asm 
{ 
cld 
lea edi, Y 
lea esi, X 
mov ebx, dword ptr[esi] 
mov edx, dword ptr[edi] 
mov ecx, 10 
max_1: 
lodsd 
cmp eax, ebx 
jle max_2 
mov ebx, eax 
max_2 : 
loop max_1 
mov max, ebx 
 
lea esi, X 
mov ebx, dword ptr[esi] 
mov ecx, 10 
min_2: 
lodsd 
cmp eax, ebx 
jge min_1 
mov ebx, eax 
min_1 : 
loop min_2 
mov min, ebx 
lea esi, X 
mov ebx, dword ptr[esi] 
mov ecx, 10 
lea edi, Y 
mov edx, dword ptr[edi] 
newmass: 
lodsd 
cmp ebx, 0 
jl next 
add ebx, ebx 
mov ebx, l 
next: 
mov edx, ebx 
loop newmass 
 
} 
printf ("\n%d\n %d", max, min) 
printf("\nl=%d\n", l); 
for (int i = 0; i < n; i++) 
printf(" %d", Y[i]); 
 
system("pause"); 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.04.2017, 17:55
Ответы с готовыми решениями:

Переписать в одномерный массив элементы матрицы, превосходящие среднее арифметическое ее положительных элементов
задание: Составить функцию переписывающую из матрицы А в одномерный массив элементы, превосходящие...

С помощью ассемблерной вставки найти отрицательные элементы в массиве, и среднее положительных элементов
Создать массив X. Определить среднее арифметическое положительных чисел, из отрицательных создать...

В один массив записать элементы с честными номерами, в другой с нечетными, посчитать среднее арифметическое
Задано 2 массива по 8 чисел. Сформировать из них по два других массива: в один записать четные...

Дан двумерный массив m*n. Найти среднее арифметическое положительных элементов массива
2. Дан двумерный массив m*n. Найти среднее арифметическое положительных элементов массива.

5
8 / 8 / 11
Регистрация: 06.04.2017
Сообщений: 19
22.04.2017, 19:27 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int sum = 0;
int index = 0;
int count = 0;
for (int i = 0; i < n; i++) {
    if (X[i] < 0) {
        Y[index] = X[i];
        index++;
    }
    else if (X[i] >= 0) {
        sum+=X[i];
        count++;
    }
}
0
0 / 0 / 0
Регистрация: 13.03.2016
Сообщений: 5
22.04.2017, 19:58  [ТС] 3
надо через ассемблерную вставку
0
1718 / 567 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
22.04.2017, 20:16 4
Цитата Сообщение от Toork Посмотреть сообщение
Как записать отрицательные элементы в массив Y,
Для начала разобраться полностью в предыдущем примере,
Нахождение максимума и минимума (вставка ассемблера)
а если что не понятно спросить.
И объяснить что именно в данном примере вызывает у Вас затруднения.
0
0 / 0 / 0
Регистрация: 11.12.2016
Сообщений: 4
22.04.2017, 21:08 5
мановар, Это Toork, сидел с аккаунта товарища, так вот, можете подсказать как работает вот эта связка:
mov ebx, dword ptr[esi]
mov ecx, 10
10(как я понял кол-во элементов)
ptr- 4 байта, но хотелось бы узнать, почему именно в регистр ecx, только начал изучать ассемблер, заранее спасибо)
0
1718 / 567 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
22.04.2017, 21:56 6
Цитата Сообщение от King227 Посмотреть сообщение
Это Toork, сидел с аккаунта товарища,
Пусть хоть сидит за товарища, это его дело. Вы то тут как? Но это неважно.
Цитата Сообщение от King227 Посмотреть сообщение
как работает вот эта связка:
mov ebx, dword ptr[esi]
mov ecx, 10
Чтобы понять как работает эта связка надо разбирать программу (что там имелось ввиду я не знаю). Был задан нормальный рабочий вопрос
Цитата Сообщение от мановар Посмотреть сообщение
объяснить что именно в данном примере вызывает у Вас затруднения.
Ответа на него нет.
Цитата Сообщение от King227 Посмотреть сообщение
ptr- 4 байта
От этого откреститесь и предайте анафеме, это говорит о том что Вы вообще не понимаете что написано в этой строке.
Цитата Сообщение от King227 Посмотреть сообщение
почему именно в регистр ecx,
Это вопрос для справочника.
http://altcode.ru/assembler/ssm/asm51.php#75
И на форуме можно найти все
Электронный учебник
0
22.04.2017, 21:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.04.2017, 21:56
Помогаю со студенческими работами здесь

Массив: Найти среднее арифметическое из всех положительных элементов этой матрицы
Привет всем) пожалуйста решите пару задач по теме массивы)) очень надо сдать эти задачи) а сроки...

Упорядочить массив X(N) по убыванию модулей, найти среднее арифметическое положительных элементов массива.
Упорядочить массив X(N) по убыванию модулей, найти среднее арифметическое положительных элементов...

Упорядочить массив X(N) по убыванию модулей, найти среднее арифметическое положительных элементов массива
11. Упорядочить массив X(N) по убыванию модулей, найти среднее арифметическое положительных...

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru