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, 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
jueves, 16 de mayo de 2013
Algoritmo para permutaciones en C, C++ codigos gratis
Algoritmos para grafos isomorfos y permutación de números en C
#include<iostream>
using std::cout;
using std::cin;
using std::endl;
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void permutaciones ( int s[] , int );
void print( int s[], int n );
void swap( int *i, int *j );
int factorial( int );
int main () {
int n , r, num_comb ;
cin>>n;
cin>>r;
int j,val_max;
int s[ 6 ] , i, m;
num_comb = factorial(n) / (factorial(n-r)*factorial(r)) ;
for ( i = 1 ; i<=r ; i++ )
s[i] = i;
permutaciones( s, r );
for ( i = 2 ; i<= num_comb ; i++){
m=r;
val_max = n ;
while ( s [m] == val_max ){
// Encuentra el elemento más a la derecha
// que no tiene su valor máximo.
m= m-1;
val_max = val_max - 1 ;
}
// Se incrementa el elemento más a la derecha
s[m] = s [ m ] +1 ;
// el resto de los elementos son sucesores de X[m]
for ( j = m + 1 ; j <= r ; j++ )
s [j] = s [j-1] + 1;
permutaciones( s, r );
}
}
void permutaciones ( int s[] , int n)
{
int i, nfact, m, k, p, q;
// Copia el arreglo
int x[ 6 ] ;
for ( i=0 ; i < 6 ; i++){
x[i] = s [i] ;
}
nfact = factorial (n);
print( s, n );
for ( i = 2; i <= nfact; i++ ) {
m = n - 1;
while ( s[ m ] > s[ m + 1 ] )
m--;
k = n;
while ( s[ m ] > s[ k ] )
k--;
swap( &s[ m ], &s[ k ] );
p = m + 1;
q = n;
while ( p < q ) {
swap( &s[ p ], &s[ q ] );
p++;
q--;
}
print( s, n );
}
for ( i=0 ; i < 6 ; i++){
s[i] = x [i] ;
}
}
int factorial( int n ) {
if (n==0)
return 1;
else
return n*factorial(n-1);
}
void print( int s[], int n )
{
int i;
for ( i = 1; i <= n; i++ )
printf( "%d ", s[ i ] );
putchar( '\n' );
}
void swap( int *i, int *j )
{
int temp = *i;
*i = *j;
*j = temp;
}
Codigo
Como aprender a programar en c++ muy fácil solo tienes que tocar y tocar todo el codigo libre que encuentres y ver como funciona
Programa para invertir numeros en c
Función en c para cojer un numero cualquiera e invertirlo
#include<iostream>
using namespace std;
int main()
{
long int nume;
long int inve;
cout<<"Numero: ";
cin>>nume;
for(int cifr=inve=0; nume; cifr=nume%10, inve=inve*10+cifr, nume/=10 );
cout<<"Inverso: "<<inve<<endl;
cin.ignore();
cin.get();
return 0;
}
Codigo
lunes, 13 de mayo de 2013
Crear ventanas en c
#include <windows.h>
ISCSkin3 *m_pSkin = new ISCSkin3;
// The code in CODE SECTION has to be called in InitInstance() function,
// before creation of a main window
/* ———— Begin of CODE SECTION ————- */
CoInitialize(NULL);
m_pSkin->CreateDispatch(”SkinCrafter.SCSkin3?);
m_pSkin->InitLicenKeys(”SKINCRAFTER”,”SKINCRAFTER.COM”,
“support@skincrafter.com”,”DEMOSKINCRAFTERLICENCE”);
m_pSkin->DefineLanguage(0);
m_pSkin->InitDecoration(1);
/* ———— End of CODE SECTION ————- */
m_pSkin->LoadSkinFromFile(”D:\\Skin.skf”);
m_pSkin->ApplySkin();
const char g_szClassName[] = "myWindowClass";
// Step 4: the Window Procedure
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch(msg)
{
case WM_CLOSE:
DestroyWindow(hwnd);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd, msg, wParam, lParam);
}
return 0;
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
WNDCLASSEX wc;
HWND hwnd;
MSG Msg;
//Step 1: Registering the Window Class
wc.cbSize = sizeof(WNDCLASSEX);
wc.style = 0;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wc.lpszMenuName = NULL;
wc.lpszClassName = g_szClassName;
wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
if(!RegisterClassEx(&wc))
{
MessageBox(NULL, "Window Registration Failed!", "Error!",
MB_ICONEXCLAMATION | MB_OK);
return 0;
}
// Step 2: Creating the Window
hwnd = CreateWindowEx(
WS_EX_CLIENTEDGE,
g_szClassName,
"The title of my window",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, 240, 120,
NULL, NULL, hInstance, NULL);
if(hwnd == NULL)
{
MessageBox(NULL, "Window Creation Failed!", "Error!",
MB_ICONEXCLAMATION | MB_OK);
return 0;
}
ShowWindow(hwnd, nCmdShow);
UpdateWindow(hwnd);
// Step 3: The Message Loop
while(GetMessage(&Msg, NULL, 0, 0) > 0)
{
TranslateMessage(&Msg);
DispatchMessage(&Msg);
}
return Msg.wParam;
}
sábado, 4 de mayo de 2013
Programacion en C y C++ ejemplos programas y codigos gratis
Hola amigos amantes de los codigos y la programacion este Blog lo he abierto para quienes como yo tenemos la ansias de aprender tengo años recopilando codigos de programas ejemplos horas y horas buscando aveces es frustante no conseguir lo que buscas por eso en este Blog de programacion ire subiendo todos los codigos que he recojido a lo largo de mi busqueda por la red de estos programas
espero que les sea de utilidad.
Empezare con C y C++ por ser los mas usado en programacion ,abajo os pongo un largo listado de lo que tengo e ire poniendo cada dia un codigo o lo que me alcanse el tiempo, el que quiera puede pedirme lo que nesecita en los comentarios y tratare de complacerlo lo que no hago es resolver los problemas que tengais a si que no me los pidais y eso es por falta de tiempo,despues ire subiendo para que los
descarges otros codigos de Php Foxpro y otros.
tipos datos c
tipos variables c
ejemplos programacion en c
cifras romanas conversor
calcular factorial
pasar binario decimal
software etiquetas
resta binario
conversión binario a decimal
switch programacion en c
maximo comun multiple
sumar raices
contador gratis
binari a decimal
programacion en c funciones
tabla números primos
programa c numeros primos
operaciones con raíces
programa numeros aleatorios
contadores gratis
estructura programa c
leer codigo barras
programacion en c matrices
programación con c
binarios a decimal
programacion en c vectores
mínimo común multiplo
decimal a binari
sumar binarios
tabla numeros binarios
programa numeros primos
calcular los porcentajes
programacion en php
convertir binario en decimal
estructuras programacion c
software matemáticas
restar binarios
abrir ficheros
c programación
leer ficheros sumar y restar raices
programas lenguaje c
numeros aleatorios
codigo binario a decimal
conversor hexadecimal a binario
maximo comun multiplo y minimo comun divisor
Saludos
Codigo
Trabajar con numeros complejos programa en c gratis todocodigos
Numeros complejos programa en c para trabajar con numeros
#if !defined( __COMPLEJO_H )
#include "complejo.h"
#endif
#include <dos.h> //para MK_FP y pokeb
#include <mem.h> //para memset
#include <stdio.h>
#include <iostream>
#include <stdlib.h>//Libreria para usar la funcion al final del codigo system();
#include <fstream
#include conio.h
#include <fstream>
#include <windows.h>
#include <time.h>
#include <math.h>
class CFractal{
private:
unsigned char *Video;
public:
CFractal();
~CFractal(){ }
void InitMode13h();
void CloseMode13h();
void Cleardevice();
void PutPixel(int x,int y,unsigned char color);
void Mandelbrot();
};
CFractal::CFractal()
{
Video=(unsigned char*)MK_FP(0xA000,0x0000);
}
void CFractal::InitMode13h()
{
asm{
mov ah,0
mov al,0x13
int 0x10
}
}
void CFractal::CloseMode13h()
{
asm{
mov ah,0
mov al,0x03
int 0x10
}
}
void CFractal::PutPixel(int x,int y,unsigned char color)
{
pokeb(0xA000,y*320+x,color);
}
void CFractal::Cleardevice(void)
{
memset(Video,0,64000);
}
void CFractal::Mandelbrot(void)
{
//coordenadas del plando complejo
double REALMIN=-2,REALMAX=1,IMAGMIN=-1.2,IMAGMAX=1.2;
double DIVERGE=4; //valor de divergencia
const double MAX=256; //iteracion maxima
int Contador; //Col Ren
InitMode13h(); //iniciamos el modo grafico 13h (320*200) con 256 colores
Cleardevice(); //limpiamos la pantalla
//proceso que dibuja el fractal
for(int i=0;i<320;i++)
for(int j=0;j<200;j++){
//asignamos a C las coordenadas del plano complejo
Complejo C((REALMAX-REALMIN)/320*i+REALMIN,
IMAGMAX-(IMAGMAX-IMAGMIN)/200*j);
Contador=0; //inicializamos el contador
Complejo Z(0,0);//iniciamos Z=0+0i
do{
Z=Z*Z+C;//ecuacion Z=Zý+C
Contador++;//incrementamos el contador
if(Norm(Z)>DIVERGE)break;
}while(Contador<MAX);
if(Contador!=MAX)
PutPixel(i,j,Contador+40);
}
getch();
CloseMode13h();
gotoxy(31,8);
cout <<"<< Fin del demo >>";
gotoxy(26,10);
cout <<"<< Fractal de Mandelbrot >>";
getch();
}
int main(void)
{
Complejo s,r,m,d;
float a_im,a_re,b_im,b_re;
system("cls");
gotoxy(15,2);
cout<<" Programa de demostracion para la Clase Complejo.";
gotoxy(27,4);
cout<<" Operaciones Basicas.";
gotoxy(27,6);
cout<<" Suma. ";
gotoxy(27,7);
cout<<" Resta. ";
gotoxy(27,8);
cout<<" Multiplicacion. ";
gotoxy(27,9);
cout<<" Division. ";
cout<<endl;
cout<<"\nPrimer numero real: "; cin>>a_re;
cout<<"Primer numero imaginario: "; cin>>a_im;
Complejo a(a_re,a_im);
cout<<a;
cout<<"\n\nSegundo numero real: "; cin>>b_re;
cout<<"Segundo numero imaginario: "; cin>>b_im;
Complejo b(b_re,b_im);
cout<<b;
s=a+b;
cout<<"\n\nLa suma de estos dos numeros complejos es: ";
cout<<s;
r=a-b;
cout<<"\nLa resta de estos dos numero complejos es: ";
cout<<r;
m=MulComplejo(a,b);
cout<<"\nLa multiplicacion de estos dos numero complejos es: ";
cout<<m;
d=a/b;
cout<<"\nLa division de estos dos numero complejos es: ";
cout<<d;
getch();
system("cls");
Complejo raiz,conj,_abs,mod,rec,inv,NORM;
gotoxy(15,2);
cout<<" Programa de demostracion para la Clase Complejo.";
gotoxy(27,4);
cout<<" Operaciones Basicas.";
gotoxy(27,6);
cout<<" Raiz. ";
gotoxy(27,7);
cout<<" Conjugado. ";
gotoxy(27,8);
cout<<" Valor Absoluto. ";
gotoxy(27,9);
cout<<" Modulo. ";
gotoxy(27,10);
cout<<" Inverso. ";
cout<<endl;
cout<<"\nIntroduzca un numero real: "; cin>>a_re;
cout<<"Introduza un numero imaginario: "; cin>>a_im;
Complejo z(a_re,a_im);
cout<<z;
NORM=Norm(z);
cout<<endl;
cout<<"\nLa norma es: ";
cout<<NORM;
raiz=RaizComplejo(z);
cout<<"\nLa raiz es: ";
cout<<raiz;
conj=ConjugadoComplejo(z);
cout<<"\nSu conjugado es: ";
cout<<conj;
_abs=AbsComplejo(z);
cout<<"\nSu valor absoluto: ";
cout<<_abs;
mod=Modulo(z);
cout<<"\nSu Modulo es: ";
cout<<mod;
inv=InvComplejo(z);
cout<<"\nSu inverso es: ";
cout<<inv;
getch();
system("cls");
gotoxy(15,2);
cout<<" Programa de demostracion para la Clase Complejo.";
gotoxy(27,4);
cout<<" Operaciones Basicas.";
gotoxy(27,6);
cout<<" Forma Rectangular. ";
gotoxy(27,7);
cout<<" Forma Polar. ";
rec=Rectangular(2.0,20.0);
cout<<endl;
cout<<"\nEn su Forma Rectangular ";
cout<<"\nde r=2.0 y de ang=20.0 es: ";
cout<<rec;
Complejo pol;
Complejo Z(4,-5);
cout<<endl;
cout<<"\nEn su Forma Polar "
<<"de 4-5i es: ";
pol.Polar(Z);
const int NUMEL=5;
Complejo nums[NUMEL]={1,2,3,4,6};
Complejo norm;
norm=Norma(nums,5);
cout<<"La norma del vector 1,2,3,4,6 es: ";
cout<<norm;
getch();
CFractal Fract;
system("cls");
cout<<endl;
cout<<endl;
cout<<endl;
cout<<endl;
cout<<endl;
cout<<"\n\n\n\nQue mejor que terminar este demo de los"
<<" numeros complejos con aplicacion de"
<<"\nestos mismos. Se trata de un fractal"
<<" denominado conjunto de mandelbrot que"
<<"\nutiliza la siguiente formula Z = Zý * C"
<<" donde Z y C son numeros complejos en"
<<"\nnuestro caso tenemos Z=Z+Zi y C = C+Ci"
<<" la condicion inicial es Z=0+0i y a C "
<<"\nse asignan todos los puntos del plano"
<<" complejo.";
getch();
Fract.Mandelbrot();
return 0;
}
Codigos
Como hacer programa de suma y resta en C códigos libres ejemplos
Programa de suma y resta en C todocodigos
#include <iostream>
using std::cout;
using std::cin;
using std:: endl;
/***** Funcion Respuesta de Sumar */
int Add (int primero,int segundo)
{
cout << "Los numeros ingresados son: " << primero << " y " << segundo << endl;
cin.get();
return (primero + segundo);
}
/***** Funcion Respuesta de restar */
int Rest (int primerorest, int segundorest)
{
cout << "Los numeros ingresados son: " << primerorest << " y " << segundorest << endl;
cin.get();
return (primerorest - segundorest);
}
/***** Codigo principal del Programa */
int main()
{
cout << "Bienvenido a has tus operaciones\n";
int respuesta;
cout << "Si quieres sumar escribi: 1\n";
cout << "si queres restar escribi: 2\n";
cin >> respuesta;
cout << "Tu respuesta a sido:\t" << respuesta << endl;
enum Operaciones {sumar = 1,restar};
Operaciones proceder;
proceder = sumar;
if (sumar)
{
cout << "Escribe dos numeros para sumar, recuerda dejar un espacio separado del otro\n";
int a,b,c;
cout << "Ejemplo: 12 (espacio) 44.";
cin >> a;
cin >> b;
c=Add (a,b);
cout << "El resultado de la suma es: " << c;
cin.get();
return 0;
}
else
{
cout << "Escribe dos numeros para restar, recuerda dejar un espacio separado del otro\n";
int d,e,f;
cout << "Ejemplo : 12 (espacio) 44.";
cin >> d;
cin >> e;
f=Rest (d,e);
cout << "El resultado de la suma es: " << f;
cin.get();
return 0;
}
Todo los codigos son recopilados de la red la mayoria los he probado y funcionan
Codigo
Permutaciones de x numeros en C TodoCodigos gratis
Permutaciones de numeros en c
// Permutation of n numbers
// Permutacion de n numeros
// Copyright (C) <2010> <Minguez>
// Contact: 6.minguez@gmail.com
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; If not, see <http://www.gnu.org/licenses/>
//Este programa realiza todas las permutaciones posibles de n numeros (1, 2, 3, ..., n)
//Donde n es un numeros del 1 al MAX (50)
#include <stdio.h>
#define MAX 50
int main ()
{
//definicion de variables
char n, //Cantidad de numeros a permutar
lista[MAX+1], //Lista con los numeros a permutar
cont[MAX], //Contador para calcular que permutaciones se hacen
cont1, cont2, cont3, //Contadores para los for
buf; //Para realizar la permutacion de dos numeros
//Texto explicando al usuario lo que hace el programa
printf("\nThis program do all the permutations of n numbers (1, 2, 3, ..., n)\n");
printf("Where n is a natural number between 1 and MAX (50)\n\n");
printf("Este programa realiza todas las permutaciones de n numeros natuarales (1, 2, 3, ..., n)\n");
printf("Donde n es un numeros del 1 al MAX (50)\n\n");
//Lee la cantidad de numeros a permutar y comprueba que n esta entre 1 y MAX
printf("Write the quantity of numbers to permutate\n");
printf ("Introduzca la cantidad de numeros a permutar\n");
scanf("%d", &n);
printf("\n");
for(;n<1 || n>MAX;)
{
fflush (stdin);
printf("ERROR: Write the quantity of numbers to permutate \n\t(a natural number bettween 1 and MAX (50)\n");
printf ("ERROR: Introduzca la cantidad de numeros a permutar\n\t(un numero natural entre 1 y MAX (50)\n");
scanf("%d", &n);
printf("\n");
}
n=n+1;
//Crea la tabla para los n numeros
for (lista[0]=0,cont1=1;cont1<n;cont1++)
{
lista[(int) cont1]= lista[(int) cont1-1]+1;
}
//Crea la tabla del contador
for (cont1=0;cont1<n-1;cont1++)
{
cont[(int) cont1]=0;
}
//Escribe la permutacion de numeros inicial
for(cont1=1;cont1<n;cont1++)
{
if(lista[(int) cont1]<10 && n>10)
{
printf("0%d ", lista[(int) cont1]);
}
else
{
printf("%d ", lista[(int) cont1]);
}
}
printf("\n");
//Algoritmo que permuta los numeros y muestra todas las combinaciones menos la inicial
while (cont[0]==0)
{
for (cont1=n-2;cont1>=0;cont1--)
{
if (cont[(int) cont1]<n-cont1-1)
{
cont[(int) cont1]++;
//permuta dos numeros y muestra los numeros permutados
if(cont[0]==0)
{
//Permuta dos numeros de la lista
buf=lista[(int) cont1];
lista[(int) cont1]=lista[ (int)cont1+1];
lista[cont1+1]=buf;
//Escribe la permutacion resultante
for(cont2=1;cont2<n;cont2++)
{
if(lista[(int) cont2]<10 && n>10)
{
printf("0%d ", lista[(int) cont2]);
}
else
{
printf("%d ", lista[(int) cont2]);
}
}
printf("\n");
}
//Limpia la tabla del contador dejando una sola cifra distinta de 0
for (cont2=n-2;cont2>cont1;cont2--)
{
cont[(int) cont2]=0;
}
//Solucion para poner los numeros en orden siguiente
if (cont[n-2]==1 && cont[n-3]==2)
{
//Calcula el numero de elementos a permutar
for (cont2=2;cont[n-cont2-2]==cont2+1;cont2++);
//Permuta los elementos
for (cont3=1;cont3<=cont2/2;cont3++)
{
buf=lista[n-cont2+cont3-1];
lista[n-cont2+cont3-1]=lista[n-cont3];
lista[n-cont3]=buf;
}
}
break;
}
}
}
fflush (stdin);
getchar();
return 0;
}
Codigos C
jueves, 2 de mayo de 2013
C Programa de estadística basica
C
Lenguaje de programación C estadisticas numeros
include <iostream.h>
#include <iomanip.h>
#include <fstream.h>
#include <graphics.h>
#include <math.h>
#include <conio.h>
#include <stdlib.h>
const int MaxArreglo = 20;
//===========================================================================
//Definici¢n de todos los prototipos de funciones
int CapturarDatos(float *Datos);
void MarcoPresentacion();
char CaracterEstaEn(char ch, char *s);
float CalcularPromedio(float *Datos, int N);
void IntercambiarValoresDosVariables(float *a, float *b);
void ClasificarMuestraAscendentemente(float *Datos, unsigned int N);
float CalcularMediana(float *Datos, unsigned int N);
float EncontrarModa(float *Datos, int N);
float BuscarMenorYMayor(float *Datos, int N, float &mayor);
float DesviacionEstandard(float *Datos, int max);
void GraficarPorcentajes(float *Datos, int max);
void ImprimirEnImpresora(float *Datos, int max);
void LeerArchivoYCargarEnDatos(float *Datos, int &N);
void GrabarDatosEnArchivo(float *Datos, int N);
char OpcionMenu();
//===========================================================================
int CapturarDatos(float *Datos) {
int t, Max;
gotoxy(38,1);
cout << "n£mero items?(M ximo " << MaxArreglo<<"): ";
gotoxy(66,1);
cin >> Max;
if(Max>0 && Max<=MaxArreglo){
for(t=0; t<Max; ++t) {
gotoxy(40, 2+t);
cout << "Digite n£mero real " << t+1 << ": ";
cin >> Datos[t];
}
gotoxy(40, 3+t);
cout << "Cualquier tecla y seguir..." ;
getch();
}
return Max;
}
void MarcoPresentacion(){
int indice;
window(1,1,80,25);
clrscr();
cout<<"ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»";
cout<<"º EJEMPLO DE ESTADISTICA BASICA º";
cout<<"ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹";
for(indice = 5; indice < 25; ++indice)
cout<<"º º";
cout<<"ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ";
window(2,7,70,23);
}
char AMayuscula(char c){ //PRUEBA DE ESCRITORIO
if(c>='a' && c<='z')
c = c - (97-65); //convierte a may£scula si es min£scula
return c;
}
char CaracterEstaEn(char ch, char *s){ //PRUEBA ESCRITORIO
while(*s) {
if(ch == *s) return ch;
else s++;
}
return 0;
}
float CalcularPromedio(float Datos[], int N){ //PRUEBA ESCRITORIO
int t;
float Promedio=0, *P;
P = Datos;
for(t = 0; t < N; ++t){
Promedio += *P; // Promedio = Promedio + *P; es lo mismo
P++;
}
Promedio /= N;
return Promedio;
}
float CalcularMediana(float Datos[], unsigned int N){ //PRUEBA ESCRITORIO
register int t;
float temporal[MaxArreglo];
for (t=0; t<N; ++t)
temporal[t] = Datos[t]; /* copiar Datos*/
ClasificarMuestraAscendentemente(temporal, N);
return (temporal[(N-1)/2]);
}
void IntercambiarValoresDosVariables(float *a, float *b){
float aux;
aux = *a;
*a = *b;
*b = aux;
}
void ClasificarMuestraAscendentemente(float *Datos, unsigned int N){
//PRUEBA ESCRITORIO cuando sea invocada desde la funci¢n CalcularMediana()
int i,j;
float aux;
for (i = 0; i < N; i++)
for (j = i; j < N; j++)
if (Datos[i] > Datos[j])
IntercambiarValoresDosVariables(&Datos[i], &Datos[j]);
}
float EncontrarModa(float *Datos, int N){ //PRUEBA ESCRITORIO
register int t, w;
float md, AnteriorModa;
int cont, antcont;
AnteriorModa=0;
antcont=0;
for (t=0; t< N; ++t) {
md = Datos[t];
cont = 1;
for(w=t+1; w < N; ++w)
if(md == Datos[w])
cont++;
if(cont > antcont) {
AnteriorModa = md;
antcont = cont;
}
}
return AnteriorModa;
}
float BuscarMenorYMayor(float *Datos, int N, float &mayor){//PRUEBA ESCITORIO
int t;
float menor;
menor = mayor = Datos[0];
for(t=1; t < N; ++t)
if(Datos[t] < menor)
menor = Datos[t];
else
if(Datos[t] > mayor)
mayor = Datos[t];
return menor;
}
void Mostrar(float *Datos, int Max){
register int t;
float total=0, porcentajes[MaxArreglo];
for (t = 0; t < Max; t++)
total += Datos[t];
for (t = 0; t < Max; t++)
porcentajes[t] = Datos[t] / total;
for(t = 0; t < Max; ++t) {
gotoxy(32,1+t);
cout << setfill('.') << setw(2) << t+1 << setiosflags(ios::fixed)
<< setiosflags(ios::showpoint) << setiosflags(ios::right)
<< setprecision(2) << setw(10) << Datos[t]
<< setw(10) << porcentajes[t]*100 << "%";
}
gotoxy(35,4+t); cout <<"Cualquier tecla y seguir... "; getch();
}
float DesviacionEstandard(float *Datos, int Max){//PRUEBA ESCRITORIO
register int t;
float DesvStd=0, Promedio;
double aux;
Promedio = CalcularPromedio(Datos,Max);
for(t = 0; t < Max; ++t)
DesvStd += ((Datos[t] - Promedio) * (Datos[t] - Promedio));
if(Max) DesvStd /= Max;
DesvStd = sqrt(DesvStd);
return DesvStd;
}
void GraficarPorcentajes(float *Datos, int Max){//PRUEBA ESCRITORIO
int ManejadorGrafico, ModoGrafico;
int i, izquierda, arriba, ancho, abajo, profundidad;
float total=0;
float porcentajes[MaxArreglo];
if (Max){
for (i = 0; i < Max; i++)
total += Datos[i];
for (i = 0; i < Max; i++)
porcentajes[i] = ((float) Datos[i]) / total;
detectgraph(&ManejadorGrafico, &ModoGrafico);
initgraph(&ManejadorGrafico, &ModoGrafico, "");
ancho = (int)( (getmaxx()) / ((Max * 2 ) + 1) );
abajo = getmaxy() - 10;
profundidad = (int) (ancho / 4);
izquierda = ancho;
setbkcolor(WHITE);
for (i = 0; i < Max; i++) {
arriba = (abajo) - ((int)(porcentajes[i] * (getmaxy() - 25)));
setcolor(RED); //color de las l¡neas de cada barra
setfillstyle(i+1, i+1); //setfillstyle(tipodeRelleno, ColorRelleno)
bar3d(izquierda,arriba,(izquierda+ancho),abajo,profundidad,1);
izquierda += (ancho * 2);
}
getch();
closegraph();
MarcoPresentacion();
}
}
void ImprimirEnImpresora(float *Datos, int Max){
register int t;
float total=0, porcentajes[MaxArreglo];
ofstream Imprimir("PRN");
for (t = 0; t < Max; t++)
total += Datos[t];
for (t = 0; t < Max; t++)
porcentajes[t] = Datos[t] / total;
gotoxy(35,4); cout <<"Imprimiendo... ";
Imprimir << "\n Registro Datos Porcentajes \n\n";
for(t = 0; t < Max; ++t) {
Imprimir << setfill('.') <<setw(5) << t+1 << setiosflags(ios::fixed)
<< setiosflags(ios::showpoint) << setiosflags(ios::right)
<< setprecision(2) << setw(15) << Datos[t]
<< setw(15) << porcentajes[t]*100 << "%" << endl;
}
Imprimir << "\f";
}
void LeerArchivoYCargarEnDatos(float *Datos, int &N){
int IDArchivo;
fstream Archivo;
N=0;
Archivo.open("Estadist.ica", ios::in | ios::binary);
if(Archivo){
while( Archivo.read( (char *)&Datos[N], sizeof(float) ) )
N++;
Archivo.close();
cout << "Le¡dos desde disco: " ; Mostrar(Datos, N);
}
else
cout << "Archivo no existe";
}
void GrabarDatosEnArchivo(float *Datos, int N){
int i;
fstream Archivo;
Archivo.open("Estadist.ica", ios::out|ios::binary|ios::trunc);//borra archivo si existe
if (!Archivo)
cout << "Error en la apertura del archivo \a";
else{
for(i=0; i<N; i++)
Archivo.write((char *)&Datos[i], sizeof(float));
Archivo.close();
}
}
char OpcionMenu(){
char entrada;
clrscr();
do {
gotoxy( 3, 1); cout << "MENU PRINCIPAL";
gotoxy( 3, 2); cout << "==============";
gotoxy( 3, 3); cout << "Capturar Datos";
gotoxy( 3, 4); cout << "Estad¡sticas b sicas";
gotoxy( 3, 5); cout << "Ordenar de menor a mayor";
gotoxy( 3, 6); cout << "Mostrar Datos";
gotoxy( 3, 7); cout << "Graficar en barras";
gotoxy( 3, 8); cout << "Imprimir en papel";
gotoxy( 3, 9); cout << "Terminar";
gotoxy( 3,13); cout << "Elija letra inicial (C E O M G I T): ";
gotoxy(39,13); entrada = AMayuscula(getch());
} while (!CaracterEstaEn(entrada, "CEOMGIT"));
return entrada;
}
void main(){ //ESTADISTICA BASICA FUNCION PRINCIPAL
float Datos[MaxArreglo]; // almacena valores de la muestra
int N=0; //N£mero verdadero de elementos
float Promedio=0,Mediana=0,DesvStd=0, Varianza=0, Moda=0, Mayor=0, Menor=0;
MarcoPresentacion();
LeerArchivoYCargarEnDatos(Datos, N);
for(;;) {
switch( OpcionMenu() ) {
case 'C': N = CapturarDatos(Datos);
break;
case 'E': Promedio = CalcularPromedio(Datos, N);
Mediana = CalcularMediana(Datos, N);
Moda = EncontrarModa(Datos, N);
Menor = BuscarMenorYMayor(Datos, N, Mayor);
DesvStd = DesviacionEstandard(Datos, N);
Varianza = DesvStd*DesvStd;
gotoxy(30, 1); cout << "Promedio : " << Promedio;
gotoxy(30, 2); cout << "Mediana : " << Mediana;
gotoxy(30, 3); cout << "Desviaci¢n Std : " << DesvStd;
gotoxy(30, 4); cout << "Varianza : " << Varianza;
gotoxy(30, 5); cout << "Moda : " << Moda;
gotoxy(30, 6); cout << "M ximo : " << Mayor;
gotoxy(30, 7); cout << "M¡nimo : " << Menor;
gotoxy(30, 9); cout << "Cualquier tecla y seguir... ";
getch();
break;
case 'M': Mostrar(Datos, N);
break;
case 'O': ClasificarMuestraAscendentemente(Datos, N);
Mostrar(Datos, N);
break;
case 'G': GraficarPorcentajes(Datos, N);
break;
case 'I': ImprimirEnImpresora(Datos, N);
break;
case 'T': GrabarDatosEnArchivo(Datos, N); exit(0);
}
}
}
Suscribirse a:
Entradas (Atom)