Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Класс для pаботы с массивом Доброго вечера, господа! Очень прошу помощи в написании кода. Было у меня задание такого рода: "Постpоить класс для pаботы с массивом. Класс должен включать соответствующие поля: мак-симальный... https://www.cyberforum.ru/ cpp-beginners/ thread1327086.html Работа с файлами С++ Строки заменить сроку другим числом! C++
Дан файл из 5 строк как сделать чтобы можно было заменить любую сроку 1 2 3 или 5 на другое число 1236547 6654879 2312364 и т.д
C++ Вывод N целых чисел, сумма которых равна 0 Дано число N, кратное 4. Требуется написать программу, выводящую N целых чисел, сумма которых равна 0, а произведение равно N. https://www.cyberforum.ru/ cpp-beginners/ thread1327072.html C++ Лабораторная, перевести с Паскаля https://www.cyberforum.ru/ cpp-beginners/ thread1327053.html
Перевести из Паскаля в Си.Если можно пожалуйста то в среде Dev-С++.Заранее спасибо) Program J8; uses crt; const n=3; m=6; var a:array of integer; b:array of integer; i,j,k:integer;
Как вывести содержимое файла на экран C++
Как вывести все с текстового файла на экран???Очень нуждаюсь в вашей помощи
C++ В данном тексте найти все слова, в которых гласные чередуются с согласными помогите пожалуйста с задачей, не понимаю как это сделать... в данном тексте найти все слова в которых гласные чередуются с согласными https://www.cyberforum.ru/ cpp-beginners/ thread1327044.html
C++ Сложение двух денежных сумм #include<iostream> using namespace std; int main() { setlocale (0, ""); int pe1, sh1, f1, pe2, sh2, f2; char ex; do { https://www.cyberforum.ru/ cpp-beginners/ thread1327036.html C++ Как записать длину строки типа string в переменную
Собственно вопрос в заголовке. Спасибо заранее:) Через i=s.size() // где, s -> string, i -> int; не работает
C++ Протабулировать заданную функцию на интервале с шагом h напишите программу для решения следующей задачи.Протабулировать функцию f(x) на интервалес шагом ℎ. Вывести значения x и y. https://www.cyberforum.ru/ cpp-beginners/ thread1327022.html C++ Определить, сколько процентов от всего количества элементов последовательности целых чисел составляют нечетные https://www.cyberforum.ru/ cpp-beginners/ thread1327015.html
Пользовательский класс Array должен содержать конструктор с параметрами для создания динамических целочисленных массивов и установки начальных значений их элементов (реальные размеры массива – число...
C++ Запись чисел из текстового файла
Доброго времени суток. Имеется текстовый файл, в котором дан номер элемента (химического), далее название самого элемента, а на следующей строке 9 чисел. То есть так: 1 H 0.384220004 ...
C++ Поменять местами максимальные элементы заданных матриц. Как упростить программу? https://www.cyberforum.ru/ cpp-beginners/ thread1326991.html
Дали задачу, я её решил, и по-моему получилось как-то нерационально. Подскажите, как можно упростить код? Заранее благодарен. Вот условие задачи: Даны две матрицы А и В. Написать программу,...
1 / 1 / 1
Регистрация: 20.10.2013
Сообщений: 13
12.12.2014, 04:42 0

Ассемблерная вставка. Найти минимальный и максимальный элементы в массиве и их сумму - C++ - Ответ 6975537

12.12.2014, 04:42. Показов 3643. Ответов 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
#include "stdafx.h"
#include <iostream>
#define SIZE 10
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    int arr[10] = { 6, 1, 0, 9, 1, 5, 1, 3, 9, 2 };
    cout << "You enter: ";
    for (int i = 0; i < SIZE; i++)
        cout << arr[i] << "|";
    cout << endl;
    int res = 0;
    __asm
    {
            
            mov edx, arr                       //                edx == arr
            mov esi, 0h                        //                esi == i = 0, i - счетчик для массива
            mov eax, dword ptr[arr + esi]      //                eax == min = arr[0]
            mov edi, eax                       //                ecx == min2 = arr[0
            mov cx, 0                          //                cx  === k = 0            
        cikl :                                 //                Основной блок
        cmp cx, SIZE                           //                  while (k<N)
            jge the_end                        //                  {
            cmp dword ptr[arr + esi], eax      //                     if (arr[i]<=min)
              jle ifblock                      //                        {
                                               //                            Переходим в ifblock
                                               //                        }
            cmp dword ptr[arr + esi], edi      //                     else if (arr[i]<=min2)
            jle elseblock                      //                        {
                                               //                            Переходим в elseblock
                                               //                        }
            add esi, 4h                        //                       k++
            inc cx                             //                       i++
            add edx, 4                         //                       ...
            jmp cikl                           //                   }
                                               //                       ...
            elseblock :                        //                      else if (arr[i]<=min2)
                 mov edi, dword ptr[arr + esi] //                          min = arr[i] 
                 add esi, 4h                   //                          k++
                 inc cx                        //                          i++
                 add edx, 4                    //                       ...
                 jmp cikl                      //                  Возвращаемся в основной блок
                                               //                       ...
            ifblock:                           //                      if (arr[i]<=min){
                 mov edi, eax                  //                         min2 = min
                 mov eax, dword ptr[arr + esi] //                         min = arr[i] }
                 add esi, 4h                   //                      k++
                 inc cx                        //                      i++
                 add edx, 4                    //                       ...
                 jmp cikl                      //                  Возвращаемся в основной блок
        the_end :                              //                  Цикл закончился
            add eax, edi                       // сумма
            mov res, eax                       // копируем в переменную
    }
    cout << "Result: " << res << endl;
    system("PAUSE");
    return 0;
}
Вот я писал лабу, для нахождения суммы двух минимальных элементов. Поменяй немножко алгоритм для находжения минимального и максимального

Вернуться к обсуждению:
Ассемблерная вставка. Найти минимальный и максимальный элементы в массиве и их сумму C++
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.12.2014, 04:42
Готовые ответы и решения:

В двухмерном массиве найти максимальный и минимальный элементы и их координаты в массиве
&quot;В двухмерном массиве, размещенном в куче и заполненном случайными вещественными значениями,...

Найти в массиве максимальный и минимальный элементы в массиве и их количество
Помогите, пожалуйста, начал осваивать c++...Не могу справиться с такой задачей: Написать...

Найти в массиве минимальный и максимальный элементы. Вывести последовательность значений из этого диапазона, не встречающихся в данном массиве
Найти в массиве минимальный и максимальный элементы. Вывести последовательность значений из этого...

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

5
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.12.2014, 04:42

Найти в массиве минимальный и максимальный элементы и поменять их местами
Помогите пожалуйста, пришёл с армии восстановился забыл многое Найти в массиве G минимальный и ...

Найти максимальный и минимальный элементы массива и их сумму.
Дан массив х(10).найти максимальный и минимальный элементы массива и их сумму.

Найти минимальный и максимальный элементы заданного массива; найти сумму всех элементов
Дано массив a, найти минимальный и максимальный элемент массива, суму всех элементов массива,...

Найти минимальный и максимальный элементы в массиве, поменять их местами (код не всегда работает)
Найти мини и максим элементы в массиве, поменять их местами меняет не всегда, работает в небольших...

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