Red de conocimientos turísticos - Conocimientos sobre calendario chino - ¿Ingresar 10 números enteros desde el teclado, usar programación funcional para calcular sus valores máximos y mínimos e intercambiar sus posiciones en la matriz?

¿Ingresar 10 números enteros desde el teclado, usar programación funcional para calcular sus valores máximos y mínimos e intercambiar sus posiciones en la matriz?

Este debería ser código C++. Personalmente, creo que su escritura es muy confusa. ¿Por qué la primera función requerida por la pregunta también requiere los dos parámetros siguientes? No creo que el puntero sea necesario. La entrada a la función de intercambio es un tipo de matriz. Si usa un tipo int para recibirlo, obtendrá el primer elemento de la matriz. Le daré una referencia del código de implementación a continuación:

#include

using namespace std;

void FindMinMaxAndSwap(int*& nums){

int minID=-1,minValue=nums[0];

int maxID=-1,maxValue=nums[0];

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

if(nums[i]>=maxValue){

maxValue=nums[i];

maxID =i;

}

if(nums[i]<=minValue){

minValue=nums[i];

minID=i;

}

}

int temp=nums[minID];

nums[minID]=nums[maxID ];

nums[maxID]=temp;

}

int main(){

int* a=nuevo int( 10);

for(int i=0;i<10;i++)

cin >> a[i];

for(int i= 0;i<10;i++)

cout << a[i] << " ";

cout << endl;//Imprime la matriz y muéstrala

FindMinMaxAndSwap(a);

for(int i=0;i<10;i++)

cout << a[i] << " ";

cout << endl;

return 0;

}

Los resultados de la ejecución son los siguientes, la prueba personal es válida