Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Norochii

#11
hello.. tengo una duda.. estoy haciendo un programa en c++ y necesito saber como hacerle para que cuando el usuario introduzca un caracter en la variable entera entre de nuevo al ciclo do-while por que lo que hace el programa cuando introducen un caracter es k despliega la tabla del cero y no se devuelve al ciclo do-whileel codigo es el siguiente :D les agradeceria su ayuda :D

#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <Windows.h>


using namespace std;

void TablasDeMultiplicar()
{
   int Tabla = 0;
   do
   {
   cout<<"\n\n  Ingresa el numero de la Tabla de Multiplicar que quieras Aprender: \n\n";
   cout<<"  Solo Podras Ver las Tablas del 0 al 12\n\n";
   cout<<"  Tabla del : ";
   cin>>Tabla;
   if(Tabla<=12 && Tabla >=0)
   {
   
   for(int i = 0; i<=12; i++)
   {
      cout<<"\n"<<Tabla<<" X "<<i<<" = "<<Tabla*i<<endl;
   }
   cout<<"\n\n\n"<<endl;
   }
   else
   {
      cout<<"\n\nNumero no valido"<<endl;
   }
   cout<<"\n\n\n";
   system("PAUSE");
   system("cls");
   }while(Tabla>12 || Tabla <0 );
}
int main()
{
   char a;
   system("color 9B");

   TablasDeMultiplicar();
   
   system("PAUSE");
   return 0;
}
#12
no sera que tienes 2 veces main??? por que si lo compilas tal cual esta en el ejemplo te mandara error en primera por las cabezeras osea los .h i segundo por que tienes dos main en un programa solo pueden existir un main pero si pueden existir varias funciones ademas si kieres  k jale tu programa tal cual esta solo tienes k kitar el segundo main (con todas i sus llaves) y tmb los archivos de cabezera i mandar a llamar la funcion simplemente con el nombre de la funcion ej. nombrefuncion();
#13
Programación C/C++ / Pila en C++
25 Mayo 2011, 19:01 PM
Código (cpp) [Seleccionar]

//Pila.cpp
//By Norochii
//Estructura de Datos
#include "StdAfx.h"
#include "Pila.h"
#include <iostream>
using namespace std;

Pila::Pila(void) //Constructor. se inicializa el tope o cima de la pila en -1
{
top = -1;
}


Pila::~Pila(void) //Destructor. Destruye los datos de la pila
{
cout<<"Destruyendo datos"<<endl;
}

void Pila::EmptyStack() //Verifica si la pila esta vacia,
{ //viendo si el tope esta en -1
top = -1;
}

void Pila::AddStack(int elemento) //Verifica si la Pila esta llena
{
if(FullStack()) //Si la pila esta llena emite el mensaje
{ //Desbordamiento pila
cout<<"Desbordamiento pila :";
}
else //Sino el apuntador o subindice se incrementa con cima++
{

top++; //y se almacena un elemento en el arreglo A[cima] automaticamente
A[top] = elemento; //ya que se iguala. El elemento que entro se guarda en el arreglo A[]

}
}


void Pila::Push(int elemento) //Esta funcion coincide con la funcion AddStack()
{
AddStack(elemento);
}


int Pila::Pop() //Esta funcion extrae los elementos de la pila
{
int Aux; //Se crea una variable auxiliar o temporal para poder guardar
if(top == -1) //dentro de la variable Aux el ultimo elemento en entrar
{
cout<<"Se intenta sacar un elemento de una Pila vacia"<<endl;
}
else
{
Aux = A[top]; //Aqui se guarda el elemento del tope osea el ultimo elemento en entrar
top--; //se decrementa el tope y apunta al siguiente elemento y asi sucecivamente hasta que quede en -1
}
return Aux; //se retorna el ultimo elemento del arreglo A[] almacenado en la variable Aux
}

int Pila::FirstStack() //comprueba que la pila no este vacia
{
if(top == -1) //Si esta vacia emite un mensaje
{
cout<<"Se intenta sacar un elemento de una Pila vacia"<<endl;
}
else //sino se dara el elemento del arreglo A[] almacenado en la posicion apuntada por la cima
{
return A[top];
}
}


void Pila::ClearStack() //Se encarga de eliminar el ultimo elemento que entro en la pila
{
if(top == -1) //Primero comprueba que la pila no este vacia
{ //Si esta vacia emite un mensaje
cout<<"Se intenta sacar un elemento de una Pila vacia"<<endl;
}
else //Sino se decrementa el tope en 1
{
top--;
}
}

bool Pila::FullStack()
{
return top == MaxTamPila-1; //En este caso la pila estara llena cuando el tope apunte al valor MaxTamPila-1
}

void Pila::CuentaPila() //Esta funcion es para saber cuantos elementos hay en la pila
{
if(top == -1)
{
cout<<"Se han sacado los elementos anteriormente o aun no introduce ninguno"<<endl;
}
else
cout<<"Elementos existentes en la pila : "<<top + 1<<" Elementos"<<endl;
}

void Pila::Elementos() //Una funcion que lo unico que hace es mostrar un mensaje de cuantos elementos se han introducido hasta ese momento
{

cout<<"Elemento "<<top +2 <<endl;
}
#14
Código (cpp) [Seleccionar]

// Ordenamientos.cpp
//Tipos de ordenamientos con enteros y caracteres utilizando memoria dinamica
//By Norochii
//Estructura de Datos

#include "stdafx.h"
#include <iostream>
#include <string>
#include "time.h"

using namespace std;

class ordenamientos
{
private:
int j,i,temp,x;
int *listaEnteros;
char *listaCaracteres;
public:
ordenamientos();
~ordenamientos();
void ordenamientoBurbuja();
void ordenamientoInsercion();
void ordenamientoShell();

};

ordenamientos::ordenamientos()
{
i=0;
j=0;
temp=0;
x=0;
}

ordenamientos::~ordenamientos()
{}

void ordenamientos::ordenamientoBurbuja()
{

int opc;
cout<<"                                 Metodo Burbuja "<<'\n'<<endl;
cout<<"                               Que deseas Ordenar"<<endl;
cout<<"                                   1.- Numeros"<<endl;
cout<<"                                   2.- Letras"<<endl;
cout<<"                                    Opcion: ";
cin>>opc;
system("cls");
switch(opc)
{

case 1:
cout<<"                     Introduzca el numero de elementos a insertar "<<endl;

cout<<"                               Numeros de Elementos: ";

cin>>x;

listaEnteros= new(nothrow) int[x];

system("cls");

cout<<"Introduzca los elementos de la lista"<<endl;


for(i=0; i<x; i++)
{

cin>>listaEnteros[i];
}

for(i=0;i<x-1;i++)
{

for(j=i+1;j<x;j++)
{

if(listaEnteros[i]>listaEnteros[j])
{
temp=listaEnteros[i];

listaEnteros[i]=listaEnteros[j];

listaEnteros[j]=temp;
}
}

}


system("cls");

cout<<"Elementos Ordenados :"<<endl;

for(i=0; i<x; i++)
{

cout<<endl;

cout<<"Elemento "<< i+1<<": " <<listaEnteros[i]<<endl;;
}

delete[] listaEnteros;

break;
case 2:

cout<<"            Introduzca el numero de elementos a insertar "<<endl;

cout<<"                    Numeros de Elementos: ";

cin>>x;

listaCaracteres= new(nothrow) char[x];

system("cls");

cout<<"Introduzca los elementos de la lista"<<endl;

for(i=0; i<x; i++)
{

cin>>listaCaracteres[i];
}

for(i=0;i<x-1;i++)
{

for(j=i+1;j<x;j++)
{
if(listaCaracteres[i]>listaCaracteres[j])
{
temp=listaCaracteres[i];

listaCaracteres[i]=listaCaracteres[j];

listaCaracteres[j]=temp;
}
}

}


system("cls");

cout<<"Elementos Ordenados :"<<endl;

for(i=0; i<x; i++)
{

cout<<endl;

cout<<"Elemento "<< i+1<<": " <<listaCaracteres[i]<<endl;
}

delete[] listaCaracteres;

break;

}
}

void ordenamientos::ordenamientoInsercion()
{
int opc;

cout<<"                              Metodo Por Insercion "<<'\n'<<endl;

cout<<"                            Que deseas Ordenar"<<endl;

cout<<"                               1.- Numeros"<<endl;

cout<<"                               2.- Letras"<<endl;

cout<<"                                Opcion: ";

cin>>opc;

system("cls");

switch(opc)
{

case 1:

cout<<"            Introduzca el numero de elementos a insertar "<<endl;

cout<<"                    Numeros de Elementos: ";

cin>>x;

listaEnteros= new(nothrow) int[x];

system("cls");

cout<<"Introduzca los elementos de la lista"<<endl;

for(i=0; i<x; i++)
{

cin>>listaEnteros[i];
}

for (i = 1; i < x; i++)
{

temp = listaEnteros[i];

j = i - 1;

while ( (listaEnteros[j] > temp) && (j >= 0) )
{

listaEnteros[j + 1] = listaEnteros[j];

j--;

listaEnteros[j + 1] = temp;
}


}
system("cls");

cout<<"Elementos Ordenados :"<<endl;

for(j=0; j<x; j++)
{

cout<<endl;

cout<<"Elemento "<< j+1<<": " <<listaEnteros[j]<<endl;;
}

delete[] listaEnteros;

break;


case 2:

cout<<"            Introduzca el numero de elementos a insertar "<<endl;

cout<<"                    Numeros de Elementos: ";

cin>>x;

listaCaracteres= new(nothrow) char[x];

system("cls");

cout<<"Introduzca los elementos de la lista"<<endl;

for(i=0; i<x; i++)
{

cin>>listaCaracteres[i];
}

for(i=0;i<x-1;i++)
{

for(j=i+1;j<x;j++)
{

if(listaCaracteres[i]>listaCaracteres[j])
{

temp=listaCaracteres[i];

listaCaracteres[i]=listaCaracteres[j];

listaCaracteres[j]=temp;

}

}


}



system("cls");

cout<<"Elementos Ordenados :"<<endl;

for(j=0; j<x; j++)
{

cout<<endl;

cout<<"Elemento "<< j+1<<": " <<listaCaracteres[j]<<endl;;
}

delete[] listaCaracteres;
break;

}
}

void ordenamientos::ordenamientoShell()
{
int inter,x,n=0,i=0,j=0,k=0,temp;
int opc;


cout<<"                              Metodo de Shell "<<'\n'<<endl;

cout<<"                            Que deseas Ordenar"<<endl;

cout<<"                               1.- Numeros"<<endl;

cout<<"                               2.- Letras"<<endl;

cout<<"                                Opcion: ";

cin>>opc;

system("cls");

switch(opc)
{
case 1:

cout<<"            Introduzca el numero de elementos a insertar "<<endl;

cout<<"                    Numeros de Elementos: ";

cin>>x;

inter = x/2;

listaEnteros= new(nothrow) int[x];

system("cls");

cout<<"Introduzca los elementos de la lista"<<endl;

for(i=0; i<x; i++)
{

cin>>listaEnteros[i];
}


while(inter>0)
{

for(i=inter;i<x;i++)
{
 
n++;

j=i-inter;

while(j>=0)
{
 
k=j+inter;
 
if(listaEnteros[j]<=listaEnteros[k])
{
j--;
}
   
else
{
   
temp=listaEnteros[j];
   
listaEnteros[j]=listaEnteros[k];
   
listaEnteros[k]=temp;

j=j-inter;
}

}

}inter = inter/2;
}


system("cls");

cout<<"Elementos Ordenados :"<<endl;

for(j=0; j<x; j++)
{

cout<<endl;

cout<<"Elemento "<< j+1<<": " <<listaEnteros[j]<<endl;;

}

delete[] listaEnteros;

break;

case 2:

cout<<"            Introduzca el numero de elementos a insertar "<<endl;

cout<<"                    Numeros de Elementos: ";

cin>>x;

inter = x/2;

listaCaracteres= new(nothrow) char[x];

system("cls");

cout<<"Introduzca los elementos de la lista"<<endl;

for(i=0; i<x; i++)
{

cin>>listaCaracteres[i];
}

while(inter>0)
{

for(i=inter;i<x;i++)
{
 
n++;

j=i-inter;

while(j>=0)
{
 
k=j+inter;
 
if(listaCaracteres[j]<=listaCaracteres[k])
{
j--;
}
   
else
{
   
temp=listaCaracteres[j];
   
listaCaracteres[j]=listaCaracteres[k];
   
listaCaracteres[k]=temp;

j=j-inter;
}

}

}inter = inter/2;
}


system("cls");

cout<<"Elementos Ordenados :"<<endl;

for(j=0; j<x; j++)
{

cout<<endl;

cout<<"Elemento "<< j+1<<": " <<listaCaracteres[j]<<endl;;

}

delete[] listaCaracteres;

break;

}
}

void  main()
{
int inicio,fin,tiempo,opcion;
inicio=clock();
ordenamientos O;
cout<<" Selecciones el Metodo de Ordenamiento: "<<endl;
cout<<'\n'<<"                                  1.- Metodo Burbuja "<<endl;
cout<<"                                2.- Metodo de Insercion "<<endl;
cout<<"                                 3.- Metodo de Shell "<<endl;
cout<<"                                     Metodo Numero: ";
cin>>opcion;
system("cls");
switch(opcion)
{
case 1:
O.ordenamientoBurbuja();
break;
case 2:
O.ordenamientoInsercion();
break;
case 3:
O.ordenamientoShell();
break;

        fin = clock();
tiempo = fin-inicio;
cout<<'\n'<<"Tiempo de Ejecucion: "<<tiempo<<" Milisegundos"<<endl;
system("PAUSE");

}
}
Saludos Espero dejen sus comentarios :D

#15
Código (cpp) [Seleccionar]

// Ordenamientos.cpp
//Tipos de ordenamientos con enteros y caracteres utilizando memoria dinamica
//By Norochii
//Estructura de Datos

#include "stdafx.h"
#include <iostream>
#include <string>
#include "time.h"
#include <math.h>
#define NUMELTS 20

using namespace std;

class ordenamientos
{
private:
int j,i,temp,x;
int *listaEnteros;
char *listaCaracteres;
public:
ordenamientos();
~ordenamientos();
void ordenamientoBurbuja();
void ordenamientoInsercion();
void ordenamientoShell();


};

ordenamientos::ordenamientos()
{
i=0;
j=0;
temp=0;
x=0;
}

ordenamientos::~ordenamientos()
{}

void ordenamientos::ordenamientoBurbuja()
{
int opc;
cout<<"                                 Metodo Burbuja "<<'\n'<<endl;
cout<<"                               Que deseas Ordenar"<<endl;
cout<<"                                   1.- Numeros"<<endl;
cout<<"                                   2.- Letras"<<endl;
cout<<"                                    Opcion: ";
cin>>opc;
system("cls");
switch(opc)
{

case 1:
cout<<"Introduzca el numero de elementos a insertar "<<endl;
cout<<"Numeros de Elementos: ";
cin>>x;
listaEnteros= new(nothrow) int[x];
system("cls");
cout<<"Introduzca los elementos de la lista"<<endl;
for(i=0; i<x; i++)
{
cin>>listaEnteros[i];
}
for(i=0;i<x-1;i++)
{
for(j=i+1;j<x;j++)
{
if(listaEnteros[i]>listaEnteros[j])
{
temp=listaEnteros[i];
listaEnteros[i]=listaEnteros[j];
listaEnteros[j]=temp;
}
}

}
system("cls");
cout<<"Elementos Ordenados :"<<endl;
for(i=0; i<x; i++)
{
cout<<endl;
cout<<"Elemento "<< i+1<<": " <<listaEnteros[i]<<endl;
}
delete[] listaEnteros;
break;
case 2:

cout<<"Introduzca el numero de elementos a insertar "<<endl;
cout<<" Numeros de Elementos: ";
cin>>x;
listaCaracteres= new(nothrow) char[x];
system("cls");
cout<<"Introduzca los elementos de la lista"<<endl;
for(i=0; i<x; i++)
{
cin>>listaCaracteres[i];
}
for(i=0;i<x-1;i++)
{
for(j=i+1;j<x;j++)
{
if(listaCaracteres[i]>listaCaracteres[j])
{
temp=listaCaracteres[i];
listaCaracteres[i]=listaCaracteres[j];
listaCaracteres[j]=temp;
}
}

}
system("cls");
cout<<"Elementos Ordenados :"<<endl;
for(i=0; i<x; i++)
{
cout<<endl;
cout<<"Elemento "<< i+1<<": " <<listaCaracteres[i]<<endl;
}
delete[] listaCaracteres;
break;

}
}

void ordenamientos::ordenamientoInsercion()
{
int opc;
cout<<" Metodo Por Insercion "<<'\n'<<endl;
cout<<" Que deseas Ordenar"<<endl;
cout<<" 1.- Numeros"<<endl;
cout<<" 2.- Letras"<<endl;
cout<<"                                Opcion: ";
cin>>opc;
system("cls");
switch(opc)
{
case 1:
           cout<<" Introduzca el numero de elementos a insertar "<<endl;
           cout<<"Numeros de Elementos: ";
           cin>>x;
listaEnteros= new(nothrow) int[x];
system("cls");
cout<<"Introduzca los elementos de la lista"<<endl;
for(i=0; i<x; i++)
{
cin>>listaEnteros[i];
}
for (i = 1; i < x; i++)
{
temp = listaEnteros[i];
j = i - 1;
while ( (listaEnteros[j] > temp) && (j >= 0) )
{
listaEnteros[j + 1] = listaEnteros[j];
j--
listaEnteros[j + 1] = temp;
}
}
system("cls");
cout<<"Elementos Ordenados :"<<endl;
for(j=0; j<x; j++)
{
cout<<endl;
cout<<"Elemento "<< j+1<<": " <<listaEnteros[j]<<endl;;
}
delete[] listaEnteros;
break;
case 2:

cout<<"Introduzca el numero de elementos a insertar "<<endl;
cout<<"  Numeros de Elementos: ";
cin>>x;
listaCaracteres= new(nothrow) char[x];
system("cls");
cout<<"Introduzca los elementos de la lista"<<endl
for(i=0; i<x; i++)
{
cin>>listaCaracteres[i];
}

for(i=0;i<x-1;i++)
{
for(j=i+1;j<x;j++)
{
if(listaCaracteres[i]>listaCaracteres[j])
{
temp=listaCaracteres[i];
listaCaracteres[i]=listaCaracteres[j];
listaCaracteres[j]=temp;
}
}

}

system("cls");
cout<<"Elementos Ordenados :"<<endl;
for(j=0; j<x; j++)
{
cout<<endl;
cout<<"Elemento "<< j+1<<": " <<listaCaracteres[j]<<endl;;
}

delete[] listaCaracteres;
break;

}
}


void ordenamientos::ordenamientoShell()
{
int inter,x,n=0,i=0,j=0,k=0,temp;
int opc;
cout<<"Metodo de Shell "<<'\n'<<endl;
cout<<"                            Que deseas Ordenar"<<endl;
cout<<"                               1.- Numeros"<<endl;
cout<<"                               2.- Letras"<<endl;
cout<<"                                Opcion: ";
cin>>opc;
system("cls");
switch(opc)
{
case 1:
cout<<"Introduzca el numero de elementos a insertar "<<endl;
cout<<"                    Numeros de Elementos: ";
       cin>>x;
inter = x/2;
listaEnteros= new(nothrow) int[x];
system("cls");
cout<<"Introduzca los elementos de la lista"<<endl;
for(i=0; i<x; i++)
{
cin>>listaEnteros[i];
}
           while(inter>0)
{

for(i=inter;i<x;i++)
{
 
n++;

j=i-inter;

while(j>=0)
{
 
k=j+inter;
 
if(listaEnteros[j]<=listaEnteros[k])
{
j--;
}
 
else
{
   
temp=listaEnteros[j];
   
listaEnteros[j]=listaEnteros[k];
   
listaEnteros[k]=temp;

j=j-inter;
}

}

}inter = inter/2;
}


system("cls");

cout<<"Elementos Ordenados :"<<endl;

for(j=0; j<x; j++)
{

cout<<endl;

cout<<"Elemento "<< j+1<<": " <<listaEnteros[j]<<endl;;

}

delete[] listaEnteros;

break;

case 2:

cout<<"            Introduzca el numero de elementos a insertar "<<endl;

cout<<"                    Numeros de Elementos: ";

cin>>x;

inter = x/2;

listaCaracteres= new(nothrow) char[x];

system("cls");

cout<<"Introduzca los elementos de la lista"<<endl;

for(i=0; i<x; i++)
{

cin>>listaCaracteres[i];
}

while(inter>0)
{

for(i=inter;i<x;i++)
{
 
n++;

j=i-inter;

while(j>=0)
{
 
k=j+inter;
 
if(listaCaracteres[j]<=listaCaracteres[k])
{
j--;
}
 
else
{
   
temp=listaCaracteres[j];
   
listaCaracteres[j]=listaCaracteres[k];
   
listaCaracteres[k]=temp;

j=j-inter;
}

}

}inter = inter/2;
}


system("cls");

cout<<"Elementos Ordenados :"<<endl;

for(j=0; j<x; j++)
{

cout<<endl;

cout<<"Elemento "<< j+1<<": " <<listaCaracteres[j]<<endl;;

}

delete[] listaCaracteres;

break;

}
}


void  main()
{
int inicio,fin,tiempo,opcion;
inicio=clock();
ordenamientos O;
cout<<" Selecciones el Metodo de Ordenamiento: "<<endl;
cout<<'\n'<<"                                  1.- Metodo Burbuja "<<endl;
cout<<"                                2.- Metodo de Insercion "<<endl;
cout<<"                                 3.- Metodo de Shell "<<endl;
cout<<"                                     Metodo Numero: ";
cin>>opcion;
system("cls");
switch(opcion)
{
case 1:
O.ordenamientoBurbuja();
break;
case 2:
O.ordenamientoInsercion();
break;
case 3:
O.ordenamientoShell();
break;

        fin = clock();
tiempo = fin-inicio;
cout<<'\n'<<"Tiempo de Ejecucion: "<<tiempo<<" Milisegundos"<<endl;
system("PAUSE");

}
}