Al ingresar un número cualquiera este algoritmo busca todos los pares de elementos en el arreglo que sumados den el número ingresado.
#include "stdafx.h"
#include "iostream"
#include "conio.h"
using namespace std;
int *V;
int n;
void intercambio(int i,int j)
{
int temp;
temp=V[i];
V[i]=V[j];
V[j]=temp;
}
void ordenarV()
{
for(int i=0;i<n-1;i++)
{
for(int j=i+1;j<n;j++)
{
if(V[i]>V[j])
intercambio(i,j);
}
}
}
void mostrarV()
{
for(int i=0;i<n;i++)
cout<<"V["<<i+1<<"] = "<<V[i]<<endl;
}
void main()
{
cout<<"Numero de elementos: ";cin>>n;
cout<<endl;
V = new int [n];
for(int i=0;i<n;i++)
{
cout<<"V["<<i+1<<"] = ";
cin>>V[i];
}
ordenarV();
cout<<endl<<"V ordenado: "<<endl<<endl;
mostrarV();
int number;
cout<<endl<<"Numero igual a la suma de dos elementos cualquiera: ";cin>>number;
cout<<endl;
bool coincidencias=false;
for(int i=0;number>=V[i] && i<n-1;i++)//Si el elemento actual "V[i]" es mayor que "number" ya no es necesario analizarlo
{
for(int j=i+1;number>=V[j] && j<n;j++)//Si el elemento actual "V[j]" es mayor que "number" ya no es necesario analizarlo
{
if(V[i]+V[j]==number)
{
cout<<V[i]<<" + "<<V[j]<<" = "<<number<<endl;
coincidencias=true;
}
}
}
if(coincidencias==false)
cout<<"No hubieron coincidencias";
_getch();
}
No hay comentarios:
Publicar un comentario