Apostar y ganar

Click Now!

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);
}
}
}