Вопрос задан 24.09.2023 в 07:12. Предмет Информатика. Спрашивает Степанова Александра.

#include using namespace std; int main(){ // ФОРМУВАННЯ МАТРИЦІ int n; cout << "Введіть n :

"; cin >> n; int** a = new int* [n]; // матриця А int** b = new int* [n]; // матриця В int** res = new int* [n]; // результуюча матриця cout << "Введіть елементи матриці А : "; for (int i = 0; i < n; i++){ a[i] = new int[n]; b[i] = new int[n]; res[i] = new int[n]; for (int j = 0; j < n; j++) { cin >> a[i][j]; b[i][j] = i + j -1; res[i][j] = 0; } } // ВІЗУАЛІЗАЦІЯ СФОРМОВАНИХ МАТРИЦЬ cout << " A : " << endl; for (int i = 0; i < n; i++){ for (int j = 0; j < n; j++) { cout << a[i][j] << " "; } cout << endl; } cout << endl; cout << " B : " << endl; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { cout << b[i][j] << " "; } cout << endl; }cout << endl; // АСЕМБЛЕРНА ВСТАВКА (алгоритм множення матриць) __asm { mov ecx, 0 start1: mov edi, 0 start2 : mov edx, res // edx = res mov esi, ecx imul esi, 4 add edx, esi // edx = &res[i] push [edx] pop edx // edx = res[i] mov esi, edi imul esi, 4 add edx, esi // edx = &res[i][j] push edx xor esi, esi start : mov eax, a mov ebx, b a_to_eax : mov edx, ecx mov eax, [eax + 4 * edx] // eax = a[i] mov edx, esi mov eax, [eax + 4 * edx] // eax = a[i][esi] b_to_ebx : mov edx, esi mov ebx, [ebx + 4 * edx] // ebx = b[esi] mov edx, edi mov ebx, [ebx + 4 * edx] // ebx =b[esi][j] end : pop edx imul eax, ebx // eax = a[i][esi]*b[esi][j] add[edx], eax push edx inc esi cmp esi, n jne start pop edx inc edi cmp edi, n jne start2 inc ecx cmp ecx, n jne start1 } // ВИВЕДЕННЯ РЕЗУЛЬТАТУ cout << " A * B: " << endl; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { cout << res[i][j] << " "; } cout << endl; } cout << res << endl; system("pause"); } Замінити цей код так, щоб він підходив під це завдання: Для квадратної матриці A= {aij} порядку nобчислити різницю між максимальним елементом рядків з парними номерами і мінімальним елементом рядків з непарними номерами.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Романовська Анюта.

Відповідь:

#include <iostream>

#include <climits>

using namespace std;

int main() {

  int n;

  cout << "Введіть розмір квадратної матриці: ";

  cin >> n;

  int** A = new int* [n];

  for (int i = 0; i < n; i++) {

      A[i] = new int[n];

      for (int j = 0; j < n; j++) {

          cout << "Введіть елемент A[" << i << "][" << j << "]: ";

          cin >> A[i][j];

      }

  }

  int max_even_row = INT_MIN;

  int min_odd_row = INT_MAX;

  for (int i = 0; i < n; i++) {

      if (i % 2 == 0) { // парні рядки

          for (int j = 0; j < n; j++) {

              if (A[i][j] > max_even_row) {

                  max_even_row = A[i][j];

              }

          }

      } else { // непарні рядки

          for (int j = 0; j < n; j++) {

              if (A[i][j] < min_odd_row) {

                  min_odd_row = A[i][j];

              }

          }

      }

  }

  cout << "Різниця між максимальним елементом рядків з парними номерами\n"

       << "та мінімальним елементом рядків з непарними номерами: "

       << max_even_row - min_odd_row << endl;

  for (int i = 0; i < n; i++) {

      delete[] A[i];

  }

  delete[] A;

  return 0;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для вирішення цього завдання, вам не потрібно використовувати асемблерну вставку. Простий C++ код здатний обчислити різницю між максимальним елементом рядків з парними номерами і мінімальним елементом рядків з непарними номерами матриці A. Ось відповідний код:

cpp
#include <iostream> using namespace std; int main() { int n; cout << "Введіть n : "; cin >> n; // Створення і ініціалізація матриці A int** a = new int* [n]; for (int i = 0; i < n; i++) { a[i] = new int[n]; for (int j = 0; j < n; j++) { cout << "Введіть a[" << i << "][" << j << "]: "; cin >> a[i][j]; } } int maxEven = INT_MIN; // Максимальний елемент для парних рядків int minOdd = INT_MAX; // Мінімальний елемент для непарних рядків for (int i = 0; i < n; i++) { if (i % 2 == 0) { // Парний рядок for (int j = 0; j < n; j++) { if (a[i][j] > maxEven) { maxEven = a[i][j]; } } } else { // Непарний рядок for (int j = 0; j < n; j++) { if (a[i][j] < minOdd) { minOdd = a[i][j]; } } } } // Обчислення та виведення різниці int result = maxEven - minOdd; cout << "Різниця між максимальним елементом рядків з парними номерами і мінімальним елементом рядків з непарними номерами: " << result << endl; // Звільнення виділеної пам'яті for (int i = 0; i < n; i++) { delete[] a[i]; } delete[] a; system("pause"); return 0; }

Цей код спочатку створює та ініціалізує квадратну матрицю A, а потім обчислює різницю між максимальними елементами парних рядків і мінімальними елементами непарних рядків.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос