Red de conocimiento informático - Aprendizaje de código fuente - Valor máximo, valor mínimo y su intercambio Programación en C++

Valor máximo, valor mínimo y su intercambio Programación en C++

#include

usando el espacio de nombres std;

const int get_maxid(int *a,int n) //Obtiene el subíndice del valor máximo

{

int max_id=0; //El subíndice utilizado para registrar el valor máximo

for(int i=1;i!=n;+ + i)

if(*(a+i)>*(a+max_id))

max_id=i;

return max_id;

}

const int get_minid(int *a,int n) //Obtener el subíndice del valor mínimo

{

int min_id= 0; //El subíndice utilizado para registrar el valor mínimo

for(int i=1;i!=n;++i)

if(*(a+i) <* (a+min_id))

min_id=i;

return min_id;

}

void Change_MaxAndMin(int *a ,int n)

{

int t;

t=*(a+get_maxid(a,n));

*( a+get_maxid(a,n))=*(a+(n-1));

*(a+(n-1))=t //Llamar directamente a una función escrita previamente en obtener el máximo El subíndice del valor e intercambiarlo con el último elemento

t=*(a+get_minid(a,n));

*(a+get_minid(a ,n) ))=*a;

*a=t; //Llama directamente a una función escrita anteriormente para obtener el subíndice del valor mínimo e intercambiarlo con el primer elemento

}

void main()

{

int n;

cout<<"Ingrese el tamaño de la matriz:" ;

cin>>n;

int *a=new int[n]; //Crea la primera dirección de una matriz de tamaño n

cout <<"Iniciar entrada: "<

for(int i=0;i!=n;++i)

cin>>*(a+i) ;

cout<<"Valor máximo:"<<*(a+get_maxid(a,n))<<"Subíndice:"<

cout<<"Valor mínimo:"<<*(a+get_minid(a,n))<<"Subíndice:"<

Change_MaxAndMin( a,n);

cout<<"Matriz modificada:"<

for(int i=0;i!=n;++i)

cout<<*(a+i)<<" ";

}