Hola os pongo esta simple rutina para poner en un formulario pero en programación un icono tuve que buscar bastante por eso os lo pongo
solo tienen que ubicar el archivo y su ruta ya cuando generen el programa este queda incrustado
Me.Icon = New System.Drawing.Icon("C:\Users\Acu\Desktop\fotoscriosass\triples\1.ico")
Todo codigos C estadisticas gratis todoCodigo C++ Foxpro Programacion Php programas Software libre
Programación Códigos programas c en c++ Foxpro estadísticas ejemplos matemáticas probabilidades codigos ficheros Lotería electrónica cálculos abrir ficheros programas para archivos programación códigos libres gratis Php Java Ejercicios resueltos en C
domingo, 27 de marzo de 2016
sábado, 28 de febrero de 2015
Desplazar el foco entre los distintos controles VISUAL NET
funcion foco para ir saltando de control en control en visual net
Protected Overrides Function ProcessCmdKey(ByRef msg As Message, ByVal keyData As Keys) As Boolean
Select Case keyData
Case Keys.Return
' Desplazar el foco entre los distintos controles
' mediante la tecla Return. El código está basado en un
' ejemplo de Francesco Balena.
'
' Iniciar todos los controles seleccionados actualmente.
'
Dim ctrl As Control = Me.ActiveControl
Do
' Obtener el siguiente control hacia delante en el
' orden de tabulación.
ctrl = Me.GetNextControl(ctrl, True)
' GetNextControl(ctrl, False) puede devolver Nothing si
' es el primer control.
If (Not (ctrl Is Nothing) AndAlso (ctrl.CanFocus) AndAlso (ctrl.TabStop)) Then
' Si el control puede recibir el foco, se lo doy.
ctrl.Focus()
Exit Do
End If
Loop
End Select
Return MyBase.ProcessCmdKey(msg, keyData)
End Function
Protected Overrides Function ProcessCmdKey(ByRef msg As Message, ByVal keyData As Keys) As Boolean
Select Case keyData
Case Keys.Return
' Desplazar el foco entre los distintos controles
' mediante la tecla Return. El código está basado en un
' ejemplo de Francesco Balena.
'
' Iniciar todos los controles seleccionados actualmente.
'
Dim ctrl As Control = Me.ActiveControl
Do
' Obtener el siguiente control hacia delante en el
' orden de tabulación.
ctrl = Me.GetNextControl(ctrl, True)
' GetNextControl(ctrl, False) puede devolver Nothing si
' es el primer control.
If (Not (ctrl Is Nothing) AndAlso (ctrl.CanFocus) AndAlso (ctrl.TabStop)) Then
' Si el control puede recibir el foco, se lo doy.
ctrl.Focus()
Exit Do
End If
Loop
End Select
Return MyBase.ProcessCmdKey(msg, keyData)
End Function
viernes, 1 de noviembre de 2013
Función para recibir solo números texboxes
Funcion para recibir solo numeros texboxes
Dim Número As Double <------------declarar
funcion
Public Sub solonumeros(ByRef e As System.Windows.Forms.KeyPressEventArgs)
If Char.IsDigit(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsSeparator(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Poner en cada tex keypres
solonumeros(e)
Dim Número As Double <------------declarar
funcion
Public Sub solonumeros(ByRef e As System.Windows.Forms.KeyPressEventArgs)
If Char.IsDigit(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsSeparator(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Poner en cada tex keypres
solonumeros(e)
martes, 29 de octubre de 2013
Boton limpiar en Visual basic Net
Como poner un boton de limpiar datos en visual , Codigo para borrar TextBox en programa de visual basic , Como limpiar textbox desde un boton de salir
Pones en el codigo del boton esta rutina
For Each obj As Control In Me.Controls
If (TypeOf obj Is TextBox) Then
obj.Text = ""
End If
If (TypeOf obj Is GroupBox) Then
For Each caja As Control In obj.Controls
If (TypeOf caja Is TextBox) Then
caja.Text = ""
End If
Next
End If
Next
Pones en el codigo del boton esta rutina
For Each obj As Control In Me.Controls
If (TypeOf obj Is TextBox) Then
obj.Text = ""
End If
If (TypeOf obj Is GroupBox) Then
For Each caja As Control In obj.Controls
If (TypeOf caja Is TextBox) Then
caja.Text = ""
End If
Next
End If
Next
jueves, 26 de septiembre de 2013
Codigo para login en visal basic 2010
Codigo para insertar en el boton del formulario de login visual basic 2010
If TextBox1.Text ="INGRESA TU NOMBRE DE USUARIO AQUI"
And TextBox2.Text ="TU CONTRASEÑA AQUI" Then
Form2.Show
Me.close
Else
MsgBox ("USUARIO O CONTRASEÑA INVALIDO")
End If
If TextBox1.Text ="INGRESA TU NOMBRE DE USUARIO AQUI"
And TextBox2.Text ="TU CONTRASEÑA AQUI" Then
Form2.Show
Me.close
Else
MsgBox ("USUARIO O CONTRASEÑA INVALIDO")
End If
sábado, 1 de junio de 2013
ejercicios en c basicos mostrar texto en determinada fecha en c
Mensaje a tiempo determinado en c
#include <iostream>
#include <cstdlib>
#include <fstream>
#include <time>
using namespace std;
int main () {
int variable
variable= 25/10/2012
if (variable= date);
mesagebox " hola"
else;
continue
}
Todo codigo
#include <iostream>
#include <cstdlib>
#include <fstream>
#include <time>
using namespace std;
int main () {
int variable
variable= 25/10/2012
if (variable= date);
mesagebox " hola"
else;
continue
}
Todo codigo
Codigo para leer o manejar fecha y hora todocodigo
/* Esta es una biblioteca que permite manejar de forma adecuada fechas y horas */
#include <dos.h>
#define dias_por_400_anios (365*400+100-3)
#define es_anio_bisiesto(y) ((((y)%400)==0)||((((y)%4)==0)&&(((y)%100)!=0)))
enum bool
{
false = 0,
true = 1
};
enum Mes
{
Enero = 1,
Febrero = 2,
Marzo = 3,
Abril = 4,
Mayo = 5,
Junio = 6,
Julio = 7,
Agosto = 8,
Septiembre = 9,
Octubre = 10,
Noviembre = 11,
Diciembre = 12
};
enum DiaSemana
{
Domingo = 1,
Lunes = 2,
Martes = 3,
Miercoles = 4,
Jueves = 5,
Viernes = 6,
Sabado = 7
};
char *nombre_mes(int numero_mes)
{
char *mes;
switch(numero_mes)
{
case 1: mes="Enero"; break;
case 2: mes="Febrero"; break;
case 3: mes="Marzo"; break;
case 4: mes="Abril"; break;
case 5: mes="Mayo"; break;
case 6: mes="Junio"; break;
case 7: mes="Julio"; break;
case 8: mes="Agosto"; break;
case 9: mes="Septiembre"; break;
case 10: mes="Octubre"; break;
case 11: mes="Noviembre"; break;
case 12: mes="Diciembre"; break;
}
return mes;
}
char *nombre_dia(DiaSemana dia_semana)
{
char *dia;
switch(dia_semana)
{
case Domingo: dia="Domingo"; break;
case Lunes: dia="Lunes"; break;
case Martes: dia="Martes"; break;
case Miercoles: dia="Miercoles"; break;
case Jueves: dia="Jueves"; break;
case Viernes: dia="Viernes"; break;
case Sabado: dia="Sabado"; break;
}
return dia;
}
struct Fecha
{
int y, m, d;
};
struct Tiempo
{
int h, m, s, cs;
};
long dias_pasados_400_anios(int y)
{
return ( y > 0 ) ? 365 * y + (y-1) / 4 - (y-1) / 100 + 1 : 0;
}
long dias_pasados_mes (int y, int m)
{
const int dias[12] = { 0, 31, 31+28, 59+31, 90+30, 120+31, 151+30, 181+31,
212+31, 243+30, 273+31, 304+30 /*, 334+31 = 365*/ };
long resultado;
resultado = dias[m-1];
if ( m > Febrero && es_anio_bisiesto ( y ) )
resultado++;
return resultado;
}
long dias_pasados_fecha (Fecha fecha)
{
long dias;
dias = (fecha.y/400)*dias_por_400_anios + dias_pasados_400_anios ( fecha.y % 400 )
+ dias_pasados_mes ( fecha.y, fecha.m ) + fecha.d;
return dias;
}
long diferencia_dias (Fecha fechaInicial, Fecha fechaFinal)
{
return dias_pasados_fecha(fechaFinal) - dias_pasados_fecha(fechaInicial);
}
DiaSemana dia_de_la_semana(Fecha fecha)
{
long resultado;
resultado = dias_pasados_400_anios ( fecha.y % 400 ) + dias_pasados_mes ( fecha.y, fecha.m ) + fecha.d;
/* El primer dia de la semana de cada 400 anios es viernes */
resultado = (Viernes+resultado) % 7;
/* Si es 0, entonces es sabado */
if (resultado==0)
resultado = 7;
return (DiaSemana)resultado;
}
int dias_en_el_mes (int y, int m)
{
const int dias[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
int resultado;
resultado = dias[m-1];
if ( m == Febrero && es_anio_bisiesto ( y ) )
resultado++;
return resultado;
}
int dias_en_el_anio (int y)
{
return (es_anio_bisiesto ( y ) ) ? 366 : 365;
}
void sumar_dias_fecha (int dias, Fecha *fecha )
{
for(int i=1;i<=dias;i++)
{
fecha->d++;
if(fecha->d>dias_en_el_mes(fecha->y, fecha->m))
{
fecha->d=1;
fecha->m++;
}
if(fecha->m>12)
{
fecha->m=1;
fecha->y++;
}
}
}
long centesimas_pasados_tiempo (int h, int m, int s, int cs)
{
return h*(60*60*100) + m*(60*100) + s*100 + cs;
}
long diferencia_centesimas (Tiempo tiempoInicial, Tiempo tiempoFinal)
{
return centesimas_pasados_tiempo ( tiempoInicial.h, tiempoInicial.m, tiempoInicial.s, tiempoInicial.cs )
- centesimas_pasados_tiempo ( tiempoFinal.h, tiempoFinal.m, tiempoFinal.s, tiempoFinal.cs );
}
void sumar_centesimas_tiempo (long centesimas, Tiempo *tiempo )
{
tiempo->h = centesimas / (60*60*100);
centesimas %= (60*60*100);
tiempo->m = centesimas / (60*1000);
centesimas %= (60*100);
tiempo->s = centesimas / 100;
tiempo->cs = centesimas % 100;
}
bool es_fecha_valida ( Fecha fecha )
{
if ( fecha.m < Enero || fecha.m > Diciembre )
return false;
if ( fecha.d < 0 || fecha.d >= dias_en_el_mes ( fecha.y, fecha.m ) )
return false;
return true;
}
bool es_tiempo_valido ( Tiempo tiempo )
{
if ( tiempo.h < 0 || tiempo.h >= 24 )
return false;
if ( tiempo.m < 0 || tiempo.m >= 60 )
return false;
if ( tiempo.s < 0 || tiempo.s >= 60 )
return false;
if ( tiempo.cs < 0 || tiempo.cs >= 100 )
return false;
return true;
}
void leer_fecha_tiempo_local (Fecha *fecha, Tiempo *tiempo )
{
struct date d;
struct time t;
getdate(&d);
fecha->y = d.da_year;
fecha->m = d.da_mon;
fecha->d = d.da_day;
gettime(&t);
tiempo->h = t.ti_hour;
tiempo->m = t.ti_min;
tiempo->s = t.ti_sec;
tiempo->cs = t.ti_hund;
}
char *fecha_formateada (Fecha fecha)
{
char *dia=nombre_dia(dia_de_la_semana(fecha));
char *mes=nombre_mes(fecha.m);
char f[100];
sprintf(f, "%s, %02d de %s del %d", dia, fecha.d, mes, fecha.y);
return f;
}
char *tiempo_formateado (Tiempo tiempo)
{
char t[50];
sprintf(t, "%02d:%02d:%02d %02d", tiempo.h, tiempo.m, tiempo.s, tiempo.cs);
return t;
}
Ordenacion y busqueda c ejercicios resueltos
//BUSQUEDA.CPP (Ordenacion y busqueda)
//El programa fue compilado con Turbo C++ 3.0
//Descripcion de BUSQUEDA.CPP
//Los metodos de ordenacion que se desarrollaron son:
//Shell, Burbuja, Insercion, Sacudida,Seleccion y el Quicksort
//Nota.- El Quicksort se elaboro recursivamente e iterativamente.
//Los metodos de busqueda que se programaron fueron:
//Busqueda lineal y Busqueda Binaria.
//para que estos metodos funciones correctamente la lista debe estar ordenada.
#include <iostream.h>//para cout y cin
#include <conio.h> //para getch
#include <stdlib.h> //para exit y system
#define NUMEL 50
class BUSQUEDA{
private:
int izquierda,derecha,puntomedio,max,nums[NUMEL];
int elemento,ubicacion,ubicacion2,i;
public:
BusquedaBinaria(int[],int,int);
BusquedaLineal(int[],int,int);
MenuMain(void);
void Pedir(int *,int);
};
class ORDENACION{
private:
int min,indicemin,temp,movimientos;
int i,j,mitad,x;
int inter,opc;
int a[5];
OrdRap(int*,int,int);
void qs(int *,int,int);
public:
void Quicksort_Iterativo(int[],int);
Quicksort(int*,int);
Seleccion(int*,int);
Burbuja(int*,int);
Shell(int*,int);
Sacudida(int*,int);
Insercion(int*,int);
void Pedir(int*,int);
void Visualiza(int*,int,int,int);
Elementos();
MenuMain(void);
Menu_Asc_Des(void);
};
int ORDENACION::Quicksort(int *num,int numel)
{
int mov=OrdRap(num,0,numel-1);
return mov;
}
ORDENACION::OrdRap(int *num,int inf,int sup)
{
register int izq,der;
movimientos=0;
izq=inf; der=sup;
mitad=num[(izq+der)/2];
do{
while(num[izq]<mitad && izq < sup) izq++; movimientos++;
while(mitad<num[der] && der > inf) der--; movimientos++;
if(izq<=der){
x=num[izq],num[izq]=num[der],num[der]=x;
izq++; der--; movimientos++;
}
}while(izq<=der);
if(inf<der) OrdRap(num,inf,der);
if(izq<sup) OrdRap(num,izq,sup);
return movimientos;
}
void ORDENACION::Quicksort_Iterativo(int *num,int numel)
{
qs(num,0,numel-1);
}
void ORDENACION::qs(int *num,int inf,int sup)
{
struct TipoPila{
int inf,sup;
}Pila[NUMEL];
register int izq,der;
int mitad,x,p;
p=1,Pila[p].inf=inf,Pila[p].sup=sup;
do{
inf=Pila[p].inf,sup=Pila[p].sup,p--;
do{
izq=inf; der=sup;
mitad=num[(izq/der)/2];
do{
while(num[izq] < mitad && izq < sup) izq++;
while(mitad < num[der] && der > inf) der--;
if(izq<=der){
x=num[izq],num[izq]=num[der],num[der]=x;
izq++; der--;
}
}while(izq<=der);
if(izq<sup){
p++,Pila[p].inf=izq,Pila[p].sup=sup;
}
sup=der;
}while(inf<der);
}while(p);
}
ORDENACION::Insercion(int *num,int numel)
{
movimientos=0;
for(i=1;i<numel;++i){
temp=num[i];
for(j=i-1;(j>=0)&&(temp<num[j]);j--)
num[j+1]=num[j];
num[j+1]=temp;
movimientos++;
}
return movimientos;
}
ORDENACION::Shell(int *num,int numel)
{
movimientos=0;
a[0]=9;a[1]=5;a[2]=3;a[3]=2;a[4]=1;
for(register int k=0;k<5;k++){
temp=a[k];
for(i=temp;i<numel;++i){
x=num[i];
for(j=i-temp;(x<num[j])&&(j>=0);j=j-temp)
num[j+temp]=num[j];
num[j+temp]=x;
}
movimientos++;
}
return movimientos;
}
ORDENACION::Sacudida(int *num,int numel)
{
movimientos=0;
do{
inter=0;
for(i=numel-1;i>0;--i){
if(num[i-1]>num[i]){
temp=num[i-1];
num[i-1]=num[i];
num[i]=temp;
inter=1;
movimientos++;
}
}
for(i=1;i<numel;++i){
if(num[i-1]>num[i]){
temp=num[i-1];
num[i-1]=num[i];
num[i]=temp;
inter=1;
movimientos++;
}
}
}while(inter);
return movimientos;
}
ORDENACION::Seleccion(int *num,int numel)
{
movimientos=0;
for(i=0;i<(numel-1);i++){
min=num[i];
indicemin=i;
for(j=i+1;j<numel;++j){
if(num[j]<min){
min=num[j];
indicemin=j;
}
}
if(min<num[i]){
temp=num[i];
num[i]=min;
num[indicemin]=temp;
movimientos++;
}
}
return movimientos;
}
ORDENACION::Burbuja(int *num,int numel)
{
movimientos=0;
for(i=0;i<numel-1;i++){
for(j=1;j<numel;j++){
if(num[j]<num[j-1]){
temp=num[j];
num[j]=num[j-1];
num[j-1]=temp;
movimientos++;
}
}
}
return movimientos;
}
int BUSQUEDA::MenuMain(void)
{
int opc;
while(opc<1 || opc > 3){
system("cls");
gotoxy(29,9);
cout<<"METODOS DE BUSQUEDA.";
gotoxy(32,10); cout<<"1. Busqueda Lineal.";
gotoxy(32,11); cout<<"2. Busqueda Binaria.";
gotoxy(32,12); cout<<"3. Salir.";
gotoxy(32,14); cout<<"opcion-> ";
cin>>opc;
}
return opc;
}
int ORDENACION::MenuMain(void)
{
int opc;
while(opc < 1 || opc > 7)
{
system("cls");
gotoxy(29,9); cout<<"METODOS DE ORDENACION\n";
gotoxy(33,10); cout<<"1. Burbuja";
gotoxy(33,11); cout<<"2. Insercion";
gotoxy(33,12); cout<<"3. Quicksort";
gotoxy(33,13); cout<<"4. Shell";
gotoxy(33,14); cout<<"5. Seleccion";
gotoxy(33,15); cout<<"6. Sacudida";
gotoxy(33,16); cout<<"7. Salir.";
gotoxy(33,18); cout<<"Opcion-> ";
cin>>opc;
}
return opc;
}
void BUSQUEDA::Pedir(int *num,int n)
{
int i;
system("cls");
for(i = 0; i < n; i++)
{
gotoxy(22, i + 1);
cout<<"Ingresa valor "<<i+1<<": ";
cin>>num[i];
}
}
void ORDENACION::Pedir(int *num,int n)
{
system("cls");
for(i = 0; i < n; i++)
{
gotoxy(22, i + 1);
cout<<"Ingresa valor "<<i+1<<": ";
cin>>num[i];
}
}
int ORDENACION::Menu_Asc_Des(void)
{
int opc;
while(opc < 1 || opc > 2){
system("cls");
gotoxy(29,9); cout<<"METODOS DE ORDENACION\n";
gotoxy(33,10); cout<<"1. Ascendente\n";
gotoxy(33,11); cout<<"2. Descendente\n";
gotoxy(33,12); cout<<"Opcion: ";
cin>>opc;
}
return(opc);
}
BUSQUEDA::BusquedaBinaria(int lista[],int tamanho,int clave)
{
izquierda=0;
derecha=tamanho-1;
while(izquierda<=derecha)
{
puntomedio=((izquierda+derecha)/2);
if(clave==lista[puntomedio])
{
return puntomedio;
}
else if (clave>lista[puntomedio])
izquierda=puntomedio+1;
else
derecha=puntomedio-1;
}
return -1;
}
BUSQUEDA::BusquedaLineal(int lista[],int tamanho,int clave)
{
for(register int i=0;i<tamanho;i++)
{
if(lista[i]==clave)
return i;
}
return -1;
}
void ORDENACION::Visualiza(int *num, int numel,int opc,int mov)
{
if(numel >= 40) x = 1;
else x = 40 - numel;
do{
if(opc==1){
system("cls");
gotoxy(x-14,11); cout<<"Los movimientos que se hicieron son: ";
cout<<mov;
gotoxy(x-14,12); cout<<"Los Numeros Ordenados Ascendentemente son : ";
gotoxy(x,15);
for(i = 0; i<numel; i++)
cout<<num[i]<<" ";
getch();
}
if(opc==2){
system("cls");
gotoxy(x-14,11); cout<<"Los movimientos que se hicieron son: ";
cout<<mov;
gotoxy(x-14,12); cout<<"Los Numeros Ordenados Descendentemente son : "<<endl;
gotoxy(x,14);
for(int j = numel; j>0; j--)
cout<<num[j-1]<<" ";
getch();
}
}while(opc<1||opc>2);
}
void Ordenaciones(void)
{
int numel, opc,OPC;
char salir;
int num[NUMEL]={0};
ORDENACION p;
do{
system("cls");
gotoxy(19,12);
cout<<"Numero de elementos: ";
cin>>numel;
if(numel == 0){
cout<<"\n\t\t Numero no valido";
getch();
exit(1);
}
opc = p.MenuMain();
if(opc == 7){
exit(1);
}
p.Pedir(num, numel);
OPC=p.Menu_Asc_Des();
switch(opc)
{
case 1: int res=p.Burbuja(num, numel);
p.Visualiza(num, numel,OPC,res); break;
case 2: int res2=p.Insercion(num, numel);
p.Visualiza(num, numel,OPC,res2); break;
case 3: int res3=p.Quicksort(num, numel);
p.Visualiza(num, numel,OPC,res3); break;
case 4: int res4=p.Shell(num, numel);
p.Visualiza(num, numel,OPC,res4); break;
case 5: int res5=p.Seleccion(num, numel);
p.Visualiza(num, numel,OPC,res5); break;
case 6: int res6=p.Sacudida(num,numel);
p.Visualiza(num, numel,OPC,res6); break;
}
gotoxy(25,18);
cout<<"Desea volver a introducir datos (s/n): ";
cin>>salir;
}while(salir!='n');
system("cls");
}
void Busquedas(void)
{
BUSQUEDA b;
int numel, opc,clave;
char OPC;
int *num=NULL;
do{
system("cls");
gotoxy(19,12); cout<<"Numero de elementos: ";
cin>>numel;
if(numel == 0){
cout<<"\n\t\t Numero no valido";
getch();
exit(1);
}
opc = b.MenuMain();
if(opc == 3){
exit(1);
}
b.Pedir(num, numel);
switch(opc){
case 1: system("cls");
gotoxy(25,5);
cout<<"Numero a buscar: ";
cin>>clave;
int res1=b.BusquedaLineal(num,numel,clave);
if(res1==-1){
gotoxy(25,6);
cout<<"El Numero no se encontro en la lista.";
getch();
}
else{
gotoxy(25,6);
cout<<"El Numero si se encontro en la ubicacion del indice: "<<res1+1;
getch();
}
break;
case 2: system("cls");
gotoxy(25,5);
cout<<"Numero a buscar: ";
cin>>clave;
int res2=b.BusquedaBinaria(num,numel,clave);
if(res2==-1){
gotoxy(25,8);
cout<<"El Numero no se encontro en la lista.";
getch();
}
else{
gotoxy(25,8);
cout<<"El numero si se encontro en la ubicacion del indice: "<<res2+1;
getch();
}
break;
}
gotoxy(25,13);
cout<<"Desea Introducir mas datos (s/n): ";
cin>>OPC;
}while(OPC!='n');
system("cls");
}
int main(void)
{
int opc;
system("cls");
gotoxy(30,8); cout<<"Ordenacion y Busqueda.";
gotoxy(30,10); cout<<"1. Tipos de Ordenaciones.";
gotoxy(30,11); cout<<"2. Tipos de Busqueda.";
gotoxy(30,12); cout<<"3. Salir.";
gotoxy(30,14); cout<<"Opcion -> ";
cin>>opc;
switch(opc){
case 1: Ordenaciones();
break;
case 2: Busquedas();
break;
case 3: exit(0);
system("cls");
break;
}
return 0;
}
//El programa fue compilado con Turbo C++ 3.0
//Descripcion de BUSQUEDA.CPP
//Los metodos de ordenacion que se desarrollaron son:
//Shell, Burbuja, Insercion, Sacudida,Seleccion y el Quicksort
//Nota.- El Quicksort se elaboro recursivamente e iterativamente.
//Los metodos de busqueda que se programaron fueron:
//Busqueda lineal y Busqueda Binaria.
//para que estos metodos funciones correctamente la lista debe estar ordenada.
#include <iostream.h>//para cout y cin
#include <conio.h> //para getch
#include <stdlib.h> //para exit y system
#define NUMEL 50
class BUSQUEDA{
private:
int izquierda,derecha,puntomedio,max,nums[NUMEL];
int elemento,ubicacion,ubicacion2,i;
public:
BusquedaBinaria(int[],int,int);
BusquedaLineal(int[],int,int);
MenuMain(void);
void Pedir(int *,int);
};
class ORDENACION{
private:
int min,indicemin,temp,movimientos;
int i,j,mitad,x;
int inter,opc;
int a[5];
OrdRap(int*,int,int);
void qs(int *,int,int);
public:
void Quicksort_Iterativo(int[],int);
Quicksort(int*,int);
Seleccion(int*,int);
Burbuja(int*,int);
Shell(int*,int);
Sacudida(int*,int);
Insercion(int*,int);
void Pedir(int*,int);
void Visualiza(int*,int,int,int);
Elementos();
MenuMain(void);
Menu_Asc_Des(void);
};
int ORDENACION::Quicksort(int *num,int numel)
{
int mov=OrdRap(num,0,numel-1);
return mov;
}
ORDENACION::OrdRap(int *num,int inf,int sup)
{
register int izq,der;
movimientos=0;
izq=inf; der=sup;
mitad=num[(izq+der)/2];
do{
while(num[izq]<mitad && izq < sup) izq++; movimientos++;
while(mitad<num[der] && der > inf) der--; movimientos++;
if(izq<=der){
x=num[izq],num[izq]=num[der],num[der]=x;
izq++; der--; movimientos++;
}
}while(izq<=der);
if(inf<der) OrdRap(num,inf,der);
if(izq<sup) OrdRap(num,izq,sup);
return movimientos;
}
void ORDENACION::Quicksort_Iterativo(int *num,int numel)
{
qs(num,0,numel-1);
}
void ORDENACION::qs(int *num,int inf,int sup)
{
struct TipoPila{
int inf,sup;
}Pila[NUMEL];
register int izq,der;
int mitad,x,p;
p=1,Pila[p].inf=inf,Pila[p].sup=sup;
do{
inf=Pila[p].inf,sup=Pila[p].sup,p--;
do{
izq=inf; der=sup;
mitad=num[(izq/der)/2];
do{
while(num[izq] < mitad && izq < sup) izq++;
while(mitad < num[der] && der > inf) der--;
if(izq<=der){
x=num[izq],num[izq]=num[der],num[der]=x;
izq++; der--;
}
}while(izq<=der);
if(izq<sup){
p++,Pila[p].inf=izq,Pila[p].sup=sup;
}
sup=der;
}while(inf<der);
}while(p);
}
ORDENACION::Insercion(int *num,int numel)
{
movimientos=0;
for(i=1;i<numel;++i){
temp=num[i];
for(j=i-1;(j>=0)&&(temp<num[j]);j--)
num[j+1]=num[j];
num[j+1]=temp;
movimientos++;
}
return movimientos;
}
ORDENACION::Shell(int *num,int numel)
{
movimientos=0;
a[0]=9;a[1]=5;a[2]=3;a[3]=2;a[4]=1;
for(register int k=0;k<5;k++){
temp=a[k];
for(i=temp;i<numel;++i){
x=num[i];
for(j=i-temp;(x<num[j])&&(j>=0);j=j-temp)
num[j+temp]=num[j];
num[j+temp]=x;
}
movimientos++;
}
return movimientos;
}
ORDENACION::Sacudida(int *num,int numel)
{
movimientos=0;
do{
inter=0;
for(i=numel-1;i>0;--i){
if(num[i-1]>num[i]){
temp=num[i-1];
num[i-1]=num[i];
num[i]=temp;
inter=1;
movimientos++;
}
}
for(i=1;i<numel;++i){
if(num[i-1]>num[i]){
temp=num[i-1];
num[i-1]=num[i];
num[i]=temp;
inter=1;
movimientos++;
}
}
}while(inter);
return movimientos;
}
ORDENACION::Seleccion(int *num,int numel)
{
movimientos=0;
for(i=0;i<(numel-1);i++){
min=num[i];
indicemin=i;
for(j=i+1;j<numel;++j){
if(num[j]<min){
min=num[j];
indicemin=j;
}
}
if(min<num[i]){
temp=num[i];
num[i]=min;
num[indicemin]=temp;
movimientos++;
}
}
return movimientos;
}
ORDENACION::Burbuja(int *num,int numel)
{
movimientos=0;
for(i=0;i<numel-1;i++){
for(j=1;j<numel;j++){
if(num[j]<num[j-1]){
temp=num[j];
num[j]=num[j-1];
num[j-1]=temp;
movimientos++;
}
}
}
return movimientos;
}
int BUSQUEDA::MenuMain(void)
{
int opc;
while(opc<1 || opc > 3){
system("cls");
gotoxy(29,9);
cout<<"METODOS DE BUSQUEDA.";
gotoxy(32,10); cout<<"1. Busqueda Lineal.";
gotoxy(32,11); cout<<"2. Busqueda Binaria.";
gotoxy(32,12); cout<<"3. Salir.";
gotoxy(32,14); cout<<"opcion-> ";
cin>>opc;
}
return opc;
}
int ORDENACION::MenuMain(void)
{
int opc;
while(opc < 1 || opc > 7)
{
system("cls");
gotoxy(29,9); cout<<"METODOS DE ORDENACION\n";
gotoxy(33,10); cout<<"1. Burbuja";
gotoxy(33,11); cout<<"2. Insercion";
gotoxy(33,12); cout<<"3. Quicksort";
gotoxy(33,13); cout<<"4. Shell";
gotoxy(33,14); cout<<"5. Seleccion";
gotoxy(33,15); cout<<"6. Sacudida";
gotoxy(33,16); cout<<"7. Salir.";
gotoxy(33,18); cout<<"Opcion-> ";
cin>>opc;
}
return opc;
}
void BUSQUEDA::Pedir(int *num,int n)
{
int i;
system("cls");
for(i = 0; i < n; i++)
{
gotoxy(22, i + 1);
cout<<"Ingresa valor "<<i+1<<": ";
cin>>num[i];
}
}
void ORDENACION::Pedir(int *num,int n)
{
system("cls");
for(i = 0; i < n; i++)
{
gotoxy(22, i + 1);
cout<<"Ingresa valor "<<i+1<<": ";
cin>>num[i];
}
}
int ORDENACION::Menu_Asc_Des(void)
{
int opc;
while(opc < 1 || opc > 2){
system("cls");
gotoxy(29,9); cout<<"METODOS DE ORDENACION\n";
gotoxy(33,10); cout<<"1. Ascendente\n";
gotoxy(33,11); cout<<"2. Descendente\n";
gotoxy(33,12); cout<<"Opcion: ";
cin>>opc;
}
return(opc);
}
BUSQUEDA::BusquedaBinaria(int lista[],int tamanho,int clave)
{
izquierda=0;
derecha=tamanho-1;
while(izquierda<=derecha)
{
puntomedio=((izquierda+derecha)/2);
if(clave==lista[puntomedio])
{
return puntomedio;
}
else if (clave>lista[puntomedio])
izquierda=puntomedio+1;
else
derecha=puntomedio-1;
}
return -1;
}
BUSQUEDA::BusquedaLineal(int lista[],int tamanho,int clave)
{
for(register int i=0;i<tamanho;i++)
{
if(lista[i]==clave)
return i;
}
return -1;
}
void ORDENACION::Visualiza(int *num, int numel,int opc,int mov)
{
if(numel >= 40) x = 1;
else x = 40 - numel;
do{
if(opc==1){
system("cls");
gotoxy(x-14,11); cout<<"Los movimientos que se hicieron son: ";
cout<<mov;
gotoxy(x-14,12); cout<<"Los Numeros Ordenados Ascendentemente son : ";
gotoxy(x,15);
for(i = 0; i<numel; i++)
cout<<num[i]<<" ";
getch();
}
if(opc==2){
system("cls");
gotoxy(x-14,11); cout<<"Los movimientos que se hicieron son: ";
cout<<mov;
gotoxy(x-14,12); cout<<"Los Numeros Ordenados Descendentemente son : "<<endl;
gotoxy(x,14);
for(int j = numel; j>0; j--)
cout<<num[j-1]<<" ";
getch();
}
}while(opc<1||opc>2);
}
void Ordenaciones(void)
{
int numel, opc,OPC;
char salir;
int num[NUMEL]={0};
ORDENACION p;
do{
system("cls");
gotoxy(19,12);
cout<<"Numero de elementos: ";
cin>>numel;
if(numel == 0){
cout<<"\n\t\t Numero no valido";
getch();
exit(1);
}
opc = p.MenuMain();
if(opc == 7){
exit(1);
}
p.Pedir(num, numel);
OPC=p.Menu_Asc_Des();
switch(opc)
{
case 1: int res=p.Burbuja(num, numel);
p.Visualiza(num, numel,OPC,res); break;
case 2: int res2=p.Insercion(num, numel);
p.Visualiza(num, numel,OPC,res2); break;
case 3: int res3=p.Quicksort(num, numel);
p.Visualiza(num, numel,OPC,res3); break;
case 4: int res4=p.Shell(num, numel);
p.Visualiza(num, numel,OPC,res4); break;
case 5: int res5=p.Seleccion(num, numel);
p.Visualiza(num, numel,OPC,res5); break;
case 6: int res6=p.Sacudida(num,numel);
p.Visualiza(num, numel,OPC,res6); break;
}
gotoxy(25,18);
cout<<"Desea volver a introducir datos (s/n): ";
cin>>salir;
}while(salir!='n');
system("cls");
}
void Busquedas(void)
{
BUSQUEDA b;
int numel, opc,clave;
char OPC;
int *num=NULL;
do{
system("cls");
gotoxy(19,12); cout<<"Numero de elementos: ";
cin>>numel;
if(numel == 0){
cout<<"\n\t\t Numero no valido";
getch();
exit(1);
}
opc = b.MenuMain();
if(opc == 3){
exit(1);
}
b.Pedir(num, numel);
switch(opc){
case 1: system("cls");
gotoxy(25,5);
cout<<"Numero a buscar: ";
cin>>clave;
int res1=b.BusquedaLineal(num,numel,clave);
if(res1==-1){
gotoxy(25,6);
cout<<"El Numero no se encontro en la lista.";
getch();
}
else{
gotoxy(25,6);
cout<<"El Numero si se encontro en la ubicacion del indice: "<<res1+1;
getch();
}
break;
case 2: system("cls");
gotoxy(25,5);
cout<<"Numero a buscar: ";
cin>>clave;
int res2=b.BusquedaBinaria(num,numel,clave);
if(res2==-1){
gotoxy(25,8);
cout<<"El Numero no se encontro en la lista.";
getch();
}
else{
gotoxy(25,8);
cout<<"El numero si se encontro en la ubicacion del indice: "<<res2+1;
getch();
}
break;
}
gotoxy(25,13);
cout<<"Desea Introducir mas datos (s/n): ";
cin>>OPC;
}while(OPC!='n');
system("cls");
}
int main(void)
{
int opc;
system("cls");
gotoxy(30,8); cout<<"Ordenacion y Busqueda.";
gotoxy(30,10); cout<<"1. Tipos de Ordenaciones.";
gotoxy(30,11); cout<<"2. Tipos de Busqueda.";
gotoxy(30,12); cout<<"3. Salir.";
gotoxy(30,14); cout<<"Opcion -> ";
cin>>opc;
switch(opc){
case 1: Ordenaciones();
break;
case 2: Busquedas();
break;
case 3: exit(0);
system("cls");
break;
}
return 0;
}
Todo codigos
domingo, 19 de mayo de 2013
Ejemplo de programa en c de Estadísticas,moda ,promedio, varianza y algunos mas
Estadistcas en c
MEDIDAS DE TENDENCIA CENTRAL
#include<iostream.h>
#include<math.h>
#define tam 100
#include<conio.h>
#include<stdio.h>
#include<string.h>
#define MaxPass 10
int i,j=0,dat[100],m;
char b[250];
float geometrica(float f[],float ve[], int M,int m)
{int tt,tti,g=0,gi=0;
float gg=0,b,ggi=0,bi;
float geo=0,go=0;
float or,ord;
for(i=0;i<M;i++)
{
geo=f[i]*log10(ve[i]);
g=int(geo*1000);
gg=g/10;
b=int(gg+1);
tt=g%10;
if(tt>=5)
{geo=b/100;
}else
geo=gg/100;
go+=geo;}
or=go/m;
gi=int(or*1000);
ggi=gi/10;
bi=int(ggi+1);
tti=gi%10;
if(tti>=5)
{or=bi/100;
}else
or=ggi/100;
ord=pow(10,or);
return ord;
}
void frecuencia(int Li[], int Ls[], float f[], int dat[], int m,int M)
{
for(i=0;i<M;i++)
{for(j=0;j<m;j++)
{ if(i!=M-1)
{
if(dat[j]>=Li[i]&&dat[j]<Ls[i])
{f[i]+=1;}
}else
if(dat[j]>=Li[i]&&dat[j]<=Ls[i])
{f[i]+=1;}
}
}
}
void ingreso()
{
int a=0;
do{
cout<<"Ingrese numero de datos::";
cin>>m;
}while(m<1||m>tam);
clrscr();
cout<<"Ingrese los\""<<m<<"\"datos:\n";
cout<<"-----------------";
for(i=1;i<m;i++)
{
for(j=0;j<15;j++)
{
gotoxy(5*j,2*i);
cin>>dat[a];
a++;
if(a==m){j=15;i=m;
}
}
}
}
void ordenar()
{ int aux;
for(i=0;i<m-1;i++)
{for(j=i+1;j<m;j++)
if(dat[i]<dat[j])
{aux=dat[i];
dat[i]=dat[j];
dat[j]=aux;
}
}
}
void titulo ()
{
cout<<"Titulo:\n";
gets (b);
clrscr();
}
void main()
{
float prom=0,d,s=0,ar=0,de,mediana;
float ni,nig,x,f[100],Fi=0,ve[100];
float Med[20],Me,moda,z,v,bb;
int poss,p,pos,d1,d2,Ls[100],c,aux,r,n,t=0,Li[100],M;
char op,Password[MaxPass],LetPass;
clrscr();
cout<<"\n\n ALUMNO:MALPARTIDA AREVALO NIGEL R:***\n";
cout<<"\n\n MEDIDAS DE TENDENCIA CENTRAL\n";
cout<<"\n ******** MENU ******************\n";
cout<<" * *\n";
cout<<" * 1. MEDIDAS DE RESUMEN *\n";
cout<<" * ==>La mediana *\n";
cout<<" * ==>La moda *\n";
cout<<" * ==>El promedio *\n";
cout<<" * ==>La varianza *\n";
cout<<" * ==>La desviacion estandar *\n";
cout<<" * ==>La media armonica *\n";
cout<<" * ==>El coheficiente de variacion*\n";
cout<<" * ==>Media Geometrica*\n";
cout<<" **********************\n";
cout<<" * *\n";
cout<<" * OPCION : *\n";
cout<<" * *\n";
cout<<" **********************\n";
//djnigel_99
gotoxy(20,21);op = getch();
clrscr();
cout<<"INGRESE CONTRASEÑA:\n";
cout<<"-------------------\n";
do
{
LetPass = getch();
if ( LetPass != '\r')
{
{Password[j] = LetPass;
cout<<"*";
Password[j+1] = '\0';
j++;
}
}
}while(LetPass != '\r' && j< MaxPass);
if(strcmp(Password,"20110578")==0)
{
cout<<endl;
cout<<"Acceso permitido al Sistema\n";
cout<<"INGRESE DATOS MAXIMO HASTA 100\n";
cout<<"------------------------------\n";
ingreso();
//ingreso();
ordenar();
n=dat[m-1];
r=dat[0]-n;
M=1+3.3*log10(m);
c=r/M;
clrscr();
ni=n+c;
nig=n;
t=n-c;
titulo();
cout<<"TITULO:"<<endl;
cout<<b;
//cout<<"-----------";
gotoxy(1,6);cout<<"[Li----";
gotoxy(7,6);cout<<"Ls>";
gotoxy(12,6);cout<<"xi";
gotoxy(18,6);cout<<"fi";
gotoxy(23,6);cout<<"Fi";
gotoxy(29,6);cout<<"hi";
gotoxy(39,6);cout<<"Hi";
gotoxy(49,6);cout<<"hi%";
gotoxy(59,6);cout<<"Hi%";
for(i=0;i<M;i++)
{
t+=c;
Li[i]=t;
gotoxy(1,7+i);
cout<<"["<<t<<"----";
f[i]=0;
n+=c;
Ls[i]=n;
gotoxy(7,7+i);
if(i!=M-1)
cout<<n<<">";
else cout<<n<<"]";
}
x=(ni+nig)/2;
for(i=0;i<M;i++)
{
ve[i]=x;
gotoxy(12,7+i);
cout<<x;
x+=c;
}//segunda parte
frecuencia(Li,Ls,f,dat,m,M);
for(i=0;i<M;i++)
{
gotoxy(18,7+i);
cout<<f[i];
Fi+=f[i];
Med[i]=Fi;//para la medinaa
gotoxy(23,7+i);cout<<Fi;
prom+=ve[i]*f[i];
}
//media geometrica
bb=geometrica(f,ve,M,m);
Me=m/2;
d=prom/m;
cout<<endl<<"\t "<<m <<" 1 100";
Fi=0;
for(i=0;i<M;i++)
{
gotoxy(29,7+i);cout<<f[i]/m;
Fi+=f[i]/m;
gotoxy(39,7+i);cout<<Fi;
gotoxy(49,7+i);cout<<(f[i]/m)*100;
gotoxy(59,7+i);cout<<Fi*100;
s+=pow(ve[i]-d,2)*f[i];
ar+=f[i]/ve[i];
}
de=sqrt(s/(m-1));
for(i=0;i<M;i++)
{if(Me==Med[i])
{pos=i;
poss=0;
}else
if(Me>Med[i])
p=i;
poss=1;
}
if(poss==1)
{d1=f[p+1]-f[p];d2=f[p+1]-f[p+2];
z=d1+d2;
v=d1/z;
mediana=Li[p+1]+((Me-Med[p])/f[p+1])*c;
moda=Li[p+1]+(v*c);
}else
mediana=Med[pos];
cout<<"\n\n\n";
cout<<"La mediana es:"<<mediana<<"\n";
cout<<"La moda es:"<<moda<<" **";cout<<"DATO MAYOR="<<dat[0]<<"\n";
cout<<"El promedio es:"<<d<<" **";cout<<"DATO MENOR="<<dat[m-1]<<"\n";
cout<<"La varianza muestral es:"<<(s/(m-1))<<" **";cout<<"RANGO(R)="<<r<<"\n";
cout<<"La desviacion estandar es:"<<de<<" **";cout<<"NUMERO DE INTERVALOS(m)="<<M<<"\n";
cout<<"La media armonica es:"<<m/ar<<" **";cout<<"AMPLITUD(C)="<<c<<"\n";
cout<<"El coheficiente de variacion es:"<<de/d*100<<"%\n";
cout<<"La media geometrica es:"<<bb<<endl;
cout<<endl;
cout<<"MUCHAS GRACIAS POR USAR MI PROGRAMA";
}
if(strcmp(Password,"20110578")!=0)
{cout<<endl;
cout<<"Error...Contraseña Incorrecta\n";
cout<<"Por favor intente nuevamente";
}
}
Programa en c primos
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
cout<<"Numeros primos entre 20 y 1000:"<<endl;
int i;
for(int n=23; n<100; n++)
{
for(i=2; n%i; i++);
if(i==n) cout<<setw(4)<<n;
}
cout<<endl;
cin.get();
return 0;
}
codigos
Suscribirse a:
Entradas (Atom)