У меня есть школьное упражнение по преобразованию кода C ++ в язык ассемблера MIPS. У меня есть некоторые проблемы с параметрами в некоторых функциях или процедурах. Код состоит в сортировке массива максимум с 5 членами, и упражнение имеет три функции в c ++. Первый - создать функцию, которая добавляет числа в массив при вводе и является листовой процедурой, а две другие функции - сортировать массив. Эти две функции являются вложенными процедурами на языке ассемблера, и я не могу понять, как их реализовать, но я не понимаю, как понять, как я могу отправить 5 параметров другой процедуре, как показано в коде ниже.
#include <iostream>
#include <string>
using namespace std;
int addElements(int a[])
{
int n;
cout << "Enter the size of array: ";
cin >> n;
cout << "\nAdd elements one by one: \n";
for (int i = 1; i <= n; i++) {
cin >>a[i];
}
void secondFunction(int p, int n, int &min, int a[], int &loc)
{
for (int k = p + 1; k <= n; k++)
{
if (min > a[k])
{
min = a[k];
loc = k;
}
}
}
void firstFunction(int a[], int n)
{
int min, loc, tmp;
for (int p = 1; p <= n - 1; p++) // Loop for Pass
{
min = a[p]; // Element Selection
loc = p;
secondFunction(p, n, min, a, loc);
tmp = a[p];
a[p] = a[loc];
a[loc] = tmp;
}
cout << "\nPrinting array: \n";
for (int i = 1; i <= n; i++) {
cout << a[i] << endl;
}
}
int main()
{
int a[5], n = 0;
n = addElements(a);
firstFunction(a, n);
}