sábado, 11 de junio de 2011

Programa que dibuja un arbol en c++


1.-/*Programa que dibuja un arbol*/
#include<stdio.h>
main()
{
      int filas,columnas,blancos;/*Variables*/
      int altura;/*Dato*/
      /*Condicion de inicializacion*/
      do
      {
            printf("Introduzca la altura del arbol:");
            scanf("%d",&altura);
      }
      while(!(altura>0));
      /*Desarrollo*/
      for(filas=1; filas<=altura; filas++)
      {
            for(blancos=1; blancos<=altura-filas; blancos++)
            {
                  /*Impresion de espacios inverso de las filas*/
                  printf(" ");
            }
            for(columnas=1; columnas<=2*filas-1; columnas++)
            {
                  /*impresion de * proporcional a las filas*/
                  printf("*");
            }
            /*Terminacion de la fila*/
            printf("\n");
      }
      return 0;
}


2.-


#include<stdio.h>
main( )
{
int N;/*Numero de datos*/
int NUM;/*Dato actual*/
int I;/*Contador*/
long SUM;/*Suma de los numeros introducidos*/
double PROD;/*Producto de los introducidos*/
printf("Numero de datos:");
scanf("%d",&N);
SUM=0;
PROD=1;
I=1;
/*Introduccion de los datos bajo condicion inicial*/
while(I<=N)
{
      printf("%d.numero:",I);
      scanf("%d",&NUM);
      SUM+=NUM;
      PROD*=NUM;
      I++;
}
/*Operaciones y entrega de resultados*/
printf("La suma de los %d numeros es %ld\n",N,SUM);
printf("El producto de los %d numeros es %.0f\n",N,PROD);
printf("El promedio de los %d numeros es %.4f\n",N,(float)SUM/N);
return 0;
}
 


3)Sumay producto de un numero introducido por teclado
#include<stdio.h>
main( )
{
int N;/*Numero de datos*/
int NUM;/*Dato actual*/
int I;/*Contador*/
long SUM;/*Suma de los numeros introducidos*/
double PROD;/*Producto de los introducidos*/
printf("Numero de datos:");
scanf("%d",&N);
SUM=0;
PROD=1;
I=1;
do
{
      printf("%d.numero:",I);
      scanf("%d",&NUM);
      SUM+=NUM;
      PROD*=NUM;
      I++;
}
while(I<=N);
printf("La suma de los %d numeros es %ld\n",N,SUM);
printf("El producto de los %d numeros es %.0f\n",N,PROD);
printf("El promedio de los %d numeros es %.4f\n",N,(float)SUM/N);
return 0;
}
4)area de un triangulo
#include<math.h>
main( )
{
int A,B,C;
double AUX;
/*introducir los lados del triangulo*/
printf("Introduzca los 3 lados del triangulo (A,B,C)\n");
scanf("%i %i %i",&A,&B,&C);
/*despliegue los lados del triangulo*/
printf("A=%i\tB=%i\tC=%i\n",A,B,C);
/*determinar si el triangulo ingresado existe*/
if(A+B>C&&A+C>B&&B+C>A)
{
/*Para cuando el triangulo existe*/
/*operaciones*/
AUX=(A+B+C);
AUX=AUX/2;
AUX=AUX*(AUX-A)*(AUX-B)*(AUX-C);
AUX=sqrt(AUX);
/*despliegue de los resultados*/
printf("El area del triangulo es %lf\n",AUX);
return 0;
}
else
{
/*Para cuando el triangulo no extiste*/
printf("Los datos ingresados no corresponden a un triangulo\n");
return 0;
}

5) realizar unprograma que muestresi es onoun año bisiesto
#include<stdio.h>
int bisiesto (int x)
{
      if(x %400 ==0)
            return (1);
      else if(x % 100 ==0)
            return(0);
      else
            return (x % 4 ==0);
}
int main()
{
      int x;
      puts("Introduzca año entero\n");
      scanf("%d",&x);
      if(bisiesto(x))
            printf("%d es bisiesto\n",x);
      else
            printf("%d  no es un año bisiesto \n",x);
      return 0;
}

6)realizarun programa que muestre el tamaño de unvector formado por dos puntos

#include<math.h>
main( )
{
int X,Y,x,y;
double RES;
/*introducir el primer punto*/
printf("Introduzca el primer punto X Y:");
scanf("%i %i",&X,&Y);
/*despliegue del primer punto*/
printf("X=%i\tY=%i\n",X,Y);
/*Introducir el segundo punto*/
printf("Introduzca el segundo punto x y:");
scanf("%i %i",&x,&y);
/*despliegue del segundo punto*/
printf("x=%i\ty=%i\n",x,y);
/*operaciones*/
RES=pow(X-x,2)+pow(Y-y,2);
RES=sqrt(RES);
/*despliegue de los resultados*/
printf("La distancia entre P1 y P2 es %lf\n",RES);
return 0;
}
7)realizarunprograma quecalcule la traza de una matriz
#include<stdio.h>
main()
{
      /*Declaraciones*/
      int T[50][50]; /*Tabla dada*/
      int L,C; /*Dimensiones*/
      int I,J; /*Indices actuales*/
      long SUM; /*Suma de los elementos_tipo long por la talla del resulatdo*/
      /*Introducir los datos*/
      printf("Numero de lineas(Max.50):");
      scanf("%d",&L);
      printf("Numero de columnas (Max.50):");
      scanf("%d",&C);
      for(I=0;I<L;I++)
            for(J=0;J<C;J++)
            {
                  printf("Elemento [%d][%d]:",I,J);
                  scanf("%d",&T[I][J]);
            }
            /*Mostrar la tabla*/
            printf("Tabla dada:\n");
            for(I=0;I<L;I++)
            {
                  for(J=0;J<C;J++)
                        printf("%7d",T[I][J]);
                  printf("\n");
            }
            /*Calcular la suma*/
            for(SUM=0,I=0;I<L;I++)
                  for(J=0;J<C;J++)
                        SUM +=T[I][J];
            /*Mostrar el resultado*/
            printf("La suma de los elementos es :%ld\n",SUM);
            return 0;
}

8)

/*Programa que calcula el maximo comun divisor de dos numeros
introducidos desde el teclado*/
#include<stdio.h>
main()
{
      /*Inicializacion de las variables*/
      int A,B,Res;
      int Mayor,Menor;
      do
      /*Condicion inicial*/
      {
            printf("Introduzca el primer numero entero(N>0):");
            scanf("%d",&A);
      }
      while(A<=0);
      do
      {
            printf("Introduzca el segundo numero entero(N>0):");
            scanf("%d",&B);
      }
      /*Detectar cual es el mayor*/
      while(B<=0);
      if(A>B)
      {
            Mayor=A;
            Menor=B;
      }
      else
      {
            Mayor=B;
            Menor=A;
      }
      /*Operaciones*/
      printf("MAYOR=%d, MENOR=%d\n",Mayor,Menor);
      Res=Mayor%Menor;
      /*Condicion de operacion*/
      while(!(Res==0))
      {
            Mayor=Menor;
            Menor=Res;
            Res=Mayor%Menor;
      }
      /*Impresion de resultados*/
      printf("El maximo comun divisor es %d\n",Menor);
      return 0;
}

9) programa que enseñalosdatos negativos y positivos introducidos en una tabla
#include<stdio.h>
main( )
{
      /*Declaraciones*/
      /*Tablas y dimensiones*/
      int T[50],TPOS[50],TNEG[50];
      int N,NPOS,NNEG;
      int I; /*Indice Actual*/
      /*Introduccion de datos*/
      printf("Dimension de la tabla(MAX.50):");
      scanf("%d",&N);
      for(I=0;I<N;I++)
      {
            printf("El elemento %d:",I);
            scanf("%d",&T[I]);
      }
      /*Desplegar la tabla*/
      printf("Tabla dada:\n");
      for(I=0;I<N;I++)
            printf("%d",T[I]);
      printf("\n");
      /*Indicar dimensiones Tpos y Tneg*/
      NPOS=0;
      NNEG=0;
      /*Transferir los datos*/
      for(I=0;I<N;I++)
      {
            if(T[I]>0)
            {
                  TPOS[NPOS]=T[I];
                  NPOS++;
            }
            if(T[I]<0)
            {
                  TNEG[NNEG]=T[I];
                  NNEG++;
            }
      }
      /*Desplegar los resultados*/
      printf("Tabla TPOS:\n");
      for(I=0;I<NPOS;I++)
            printf("%d",TPOS[I]);
      printf("\n");
            printf("Tabla TNEG:\n");
            for(I=0;I<NNEG;I++)
                  printf("%d",TNEG[I]);
            printf("\n");
            return 0;
}
9)
/*Programa que calcula el producto escalar de dos vectores de dimension N*/
#include<stdio.h>
main()
{
      /*Declaraciones*/
      float T[50],P[50];/*Vectores dados*/
      int D;/*Dimension del vector*/
      int I;/*Indice actual*/
      float PROD=1,SUM=0;/*Variables auxiliares*/
    /*Condicion de ingreso de dimension del vector*/
      do
      {
      printf("Introduzca la dimension de los vectores (MAX:50):");
      scanf("%d",&D);
      }
      while(D<=0);
      /*Introduccion de los elementos de los vectores*/
      printf("Introduzca los elementos del primer vector:\n");
      for(I=0;D>I;I++)
      {
            printf("Introduzca el %d elemento:",I);
            scanf("%f",&T[I]);
      }
      printf("Introduzca los elementos del segundo vector:\n");
      for(I=0;D>I;I++)
      {
            printf("Introduzca el %d elemento:",I);
            scanf("%f",&P[I]);
      }
      /*Muestra de los datos introducidos*/
      printf("El producto vectorial de:(");
      for(I=0;D>I;I++)
      {
            printf("% .1f",T[I]);
      }
      printf(")*(");
      for(I=0;D>I;I++)
      {
            printf("% .1f",P[I]);
      }
      printf(") ");
      /*Realizacion de los calculos*/
      for(I=0;D>I;I++)
      {
            PROD=T[I]*P[I];
            SUM+=PROD;
      }
      /*Presentacion de la respuesta*/
      printf(" es %.2lf:\n",SUM);
      return 0;
}
10) programa que calcula las raices reales de un polinomio de segundo grado
#include<math.h>
main( )
{
int A,B,C;
double D,AUX,RES,RES1;
/*Para la forma Ax2+Bx+C*/
printf("introducir los coeficientes de la ecuacion de segundo grado:");
scanf("%i %i %i",&A,&B,&C);
/*Condicion inicial*/
if(!(A>0&&B>0&&C>0))
{
printf("todos los coeficientes no pueden ser 0\n");
return 0;
}
else
{
/*definiendo el discriminante*/
D=((pow(B,2))-4*A*C);
{
if(D>0)
{
AUX=sqrt(D);
RES=(-B+AUX);
RES=RES/(2*A);
RES1=(-B-AUX);
RES1=RES1/(2*A);
printf("Las raices reales de la ecuacion de segundo grado son %lf %lf\n",RES,RES1);
}
else if(D=0)
{
RES=((-B)/(2*A));
printf("La ecuacion de segundo grado solo tiene una raiz real y es %lf\n",RES);
}
else
printf("La ecuacion de segundo grado no tiene raices reales\n");
return 0;
}
11) calcular la resistencia equivalente de un circuito
#include<math.h>
main( )
{
double R1,R2,R3,AUX,AUX1;
/*introducir las variables*/
printf("Introduzca las resistencias parciales (R1,R2,R3)\n:");
scanf("%lf %lf %lf",&R1,&R2,&R3);
/*dezpliegue de los datos*/
printf("R1=%lf\tR2=%lf\tR3=%lf\n",R1,R2,R3);
/*Cálculo de las resintecias en serie*/
AUX=R1+R2+R3;
/*Desplegar el resultado de las resistencias en serie*/
printf("La resistencia equivalente en serie es %lf\n",AUX);
AUX=R1*R2*R3;
AUX1=R1*R2+R1*R3+R2*R3;
AUX=AUX/AUX1;
printf("La resistencia equivalente en paralelo es %lf\n",AUX);
return 0;
}

12) programa que despliege la serie polinomial de tailor de valor ½
#include<stdio.h>
main( )
{
      int N;/*Numero de terminos*/
      int I;/*El contador*/
      float SUMA;/*tipo float para precision del resultado*/
      do
      {
            printf("Numero de terminos:");
            scanf("%d",&N);
      }
      while(N<1);
      for(SUMA=0.0,I=1;I<=N;I++)
            SUMA+=(float)1/I;
            printf("La suma de los %d primeros terminos es %f\n",N,SUMA);
      return 0;
}
13)
/*Programa que muestre una matriz (MAX:50x50) que muestra la suma de los elementos de cada fila con cada columna*/
#include<stdio.h>
main()
{
      int T[50][50];/*Tabla dada*/
      int L,C;/*Dimensiones de la tabla*/
      int I,J;/*Indices actuales*/
      int K,H;/*Indices auxiliares*/
      long SUML,SUMC,SUM;/*Suma de los elementos tipo Long*/
      SUML=0;/*Inicializacion*/
      SUMC=0;
      SUM=0;
      /*Introduccion de los datos de la tabla*/
      printf("Introduzca el numero de filas:");
      scanf("%d",&L);
      printf("Introduzca el numero de columnas:");
      scanf("%d",&C);
      /*Introduccion de los elementos*/
      for(I=0;L>I;I++)
            for(J=0;C>J;J++)
            {
                  printf("Introduzca el elemento T[%d][%d]:",I,J);
                  scanf("%d",&T[I][J]);
            }
             /*Presentacion de la tabla*/
            printf("La tabla dada es:\n");
            for(I=0;L>I;I++)
            {
                  for(J=0;C>J;J++)
                        printf("% d",T[I][J]);
                  printf("\n");
            }
            /*Suma de todos los elementos*/
            for(I=0;L>I;I++)
                  for(J=0;C>J;J++)
                  SUM+=T[I][J];
            printf("La suma total de los elementos de la matriz es:%ld\n",SUM);
            /*Suma de las filas una a una*/
            for(K=0;L>K;K++)
            {
                  for(I=0,SUML=0;C>I;I++)
                  {
                        SUML+=T[K][I];
                  }
                  printf("La suma de los elementos de la %d fila es:%ld\n",K,SUML);
            }
            /*Suma de las columnas una a una*/
            for(H=0;C>H;H++)
            {
                  for(J=0,SUMC=0;L>J;J++)
                  {
                        SUMC+=T[J][H];
                  }
                  printf("La suma de los elementos de la %d  columna es:%ld\n",H,SUMC);
            }
            return 0;
}

14)

 /*Programa que calcula el valor de X de un polinomio introduciendo
los coeficientes*/
#include<stdio.h>
main()
{
      /*Inicializacion de las variables*/
      int I,COEF,G;
      float EVAL,AUX;
      I=0;
      /*Introduccion de los datos de la ecuacion */
      printf("Introduzca el grado del polinomio:");
      scanf("%d",&G);
      printf("Introduzca el numero al que sera evaluada la expresion:");
      scanf("%f",&EVAL);
      /*Condicion de ingreso de las componentes P(x)=A_N X^N+B_(N-1) X^(N-1)+A_1 X+A_0*/
      do
      {
            printf("Introduzca el%d coeficiente",I+1);
            scanf("%d",&COEF);
            if(I==0)
            {
                  AUX=COEF*EVAL;
            }
            else if(I)
            {
                  AUX=COEF+AUX;
                  AUX=AUX*EVAL;
            }
            I++;
      }
      while(!(I==G+1));
      /*Impresion del resultado*/
            printf("La respuesta es = %f\n",(float)AUX/EVAL);
      return 0;
}

14) realizar un programa que transpote matrices(matriz transpuesta)
#include<stdio.h>
main()
{
      /*Declaraciones*/
      int M[10][10];/*Matriz*/
      int V[100]; /*Vector*/
      int L,C; /*Dimensiones*/
      int I,J; /*Indices actuales*/
      /*Introducir datos*/
      printf("Numero de lineas (max:10):");
      scanf("%d",&L);
      printf("Numero de columnas (max:10):");
      scanf("%d",&C);
      for(I=0;I<L;I++)
            for(J=0;J<C;J++)
            {
                  printf("Elemento [%d][%d]:",I,J);
                  scanf("%d",&M[I][J]);
            }
            /*Desplegar la matriz*/
            printf("Matriz dada:\n");
            for(I=0;I<L;I++)
            {
                  for(J=0;J<C;J++)
                        printf("%7d",M[I][J]);
                  printf("\n");
            }
                  /*Transferencia de los elementos linea por linea*/
                  for(I=0;I<L;I++)
                        for(J=0;J<C;J++)
                             V[I*C+J]=M[I][J];
                  /*Deslegar el resltado*/
                  printf("Vector resultante:");
                  for(I=0;I<L*C;I++)
                        printf("% d",V[I]);
                  printf("\n");
                  return 0;
}


No hay comentarios:

Publicar un comentario