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();
}
Mostrando entradas con la etiqueta Especiales. Mostrar todas las entradas
Mostrando entradas con la etiqueta Especiales. Mostrar todas las entradas
viernes, 16 de septiembre de 2011
Ordenar baraja
Genera una baraja aleatoriamente y la ordena
#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include "string"
#include "stdlib.h" //Para usar la función Random!
using namespace std;
const int fil = 4;
const int col = 13;
int baraja[fil][col];
//Se generará aleatoriamente la baraja!
void generarBaraja()
{
for(int i=0;i<fil;i++)
{
for(int j=0;j<col;j++)
{
bool OK = false;
while(OK == false)
{
baraja[i][j] = 1 + rand() % 13;
bool repetido = false;
for(int k=j-1;k>=0;k--)
{
if(baraja[i][j]==baraja[i][k])//Verifica si la actual carta generada ya existe!
{
repetido = true;
}
}
if(repetido == false)
OK = true;
}
}
}
}
void mostrarBaraja(string palo[])
{
for(int i=0;i<fil;i++)
{
cout<<endl<<palo[i]<<endl;
for(int j=0;j<col;j++)
{
cout<<baraja[i][j]<<" ";
}
}
}
//Metodo bubble sort
void ordenarBaraja()
{
int temp;
for(int i=0;i<fil;i++)//Para cada palo
{
for(int j=0;j<col-1;j++)
{
for(int k=j+1;k<col;k++)
{
if(baraja[i][j]>baraja[i][k])
{
temp=baraja[i][j];
baraja[i][j]=baraja[i][k];
baraja[i][k]=temp;
}
}
}
}
}
void main()
{
string palo[] = {"Espadas","Treboles","Corazones","Cocos"};
generarBaraja();
cout<<"Baraja Generada:"<<endl;
mostrarBaraja(palo);
cout<<endl<<endl<<"Presione una tecla para ordenar su baraja..."<<endl;
_getch();
ordenarBaraja();
cout<<endl<<"Baraja Ordenada:"<<endl;
mostrarBaraja(palo);
_getch();
}
#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include "string"
#include "stdlib.h" //Para usar la función Random!
using namespace std;
const int fil = 4;
const int col = 13;
int baraja[fil][col];
//Se generará aleatoriamente la baraja!
void generarBaraja()
{
for(int i=0;i<fil;i++)
{
for(int j=0;j<col;j++)
{
bool OK = false;
while(OK == false)
{
baraja[i][j] = 1 + rand() % 13;
bool repetido = false;
for(int k=j-1;k>=0;k--)
{
if(baraja[i][j]==baraja[i][k])//Verifica si la actual carta generada ya existe!
{
repetido = true;
}
}
if(repetido == false)
OK = true;
}
}
}
}
void mostrarBaraja(string palo[])
{
for(int i=0;i<fil;i++)
{
cout<<endl<<palo[i]<<endl;
for(int j=0;j<col;j++)
{
cout<<baraja[i][j]<<" ";
}
}
}
//Metodo bubble sort
void ordenarBaraja()
{
int temp;
for(int i=0;i<fil;i++)//Para cada palo
{
for(int j=0;j<col-1;j++)
{
for(int k=j+1;k<col;k++)
{
if(baraja[i][j]>baraja[i][k])
{
temp=baraja[i][j];
baraja[i][j]=baraja[i][k];
baraja[i][k]=temp;
}
}
}
}
}
void main()
{
string palo[] = {"Espadas","Treboles","Corazones","Cocos"};
generarBaraja();
cout<<"Baraja Generada:"<<endl;
mostrarBaraja(palo);
cout<<endl<<endl<<"Presione una tecla para ordenar su baraja..."<<endl;
_getch();
ordenarBaraja();
cout<<endl<<"Baraja Ordenada:"<<endl;
mostrarBaraja(palo);
_getch();
}
Tercio superior
Obtiene el tercio superior de una lista de alumnos
#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include "string"
using namespace std;
struct datos
{
string nombre;
double nota;
}*alumno;
void main()
{
int n;
cout<<"Ingrese cantidad de alumnos (mas de 3): ";cin>>n;
alumno = new datos [n];
cout<<endl<<"Ingrese nombre (sin espacios) y luego notas:"<<endl<<endl;
for(int i=0;i<n;i++)
{
cout<<"Nombre "<<i+1<<": ";cin>>alumno[i].nombre;
do{
cout<<"Nota: ";cin>>alumno[i].nota;
}while(alumno[i].nota<0 || alumno[i].nota>20);
cout<<endl;
}
for(int i=0;i<n-1;i++)
{
for(int j=i+1;j<n;j++)
{
if(alumno[i].nota<alumno[j].nota)
{
datos aux=alumno[i];
alumno[i]=alumno[j];
alumno[j]=aux;
}
}
}
cout<<endl<<"Lista del tercio superior queda asi:"<<endl<<endl;
cout<<"Nombre:\tNota:"<<endl;
for(int i=0;i<n/3;i++)
cout<<alumno[i].nombre<<"\t"<<alumno[i].nota<<endl;
_getch();
}
#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include "string"
using namespace std;
struct datos
{
string nombre;
double nota;
}*alumno;
void main()
{
int n;
cout<<"Ingrese cantidad de alumnos (mas de 3): ";cin>>n;
alumno = new datos [n];
cout<<endl<<"Ingrese nombre (sin espacios) y luego notas:"<<endl<<endl;
for(int i=0;i<n;i++)
{
cout<<"Nombre "<<i+1<<": ";cin>>alumno[i].nombre;
do{
cout<<"Nota: ";cin>>alumno[i].nota;
}while(alumno[i].nota<0 || alumno[i].nota>20);
cout<<endl;
}
for(int i=0;i<n-1;i++)
{
for(int j=i+1;j<n;j++)
{
if(alumno[i].nota<alumno[j].nota)
{
datos aux=alumno[i];
alumno[i]=alumno[j];
alumno[j]=aux;
}
}
}
cout<<endl<<"Lista del tercio superior queda asi:"<<endl<<endl;
cout<<"Nombre:\tNota:"<<endl;
for(int i=0;i<n/3;i++)
cout<<alumno[i].nombre<<"\t"<<alumno[i].nota<<endl;
_getch();
}
Suscribirse a:
Entradas (Atom)