jueves, 14 de julio de 2011

PROGRAMANDO

#include <stdio.h>
#include <conio.h>
#include <windows.h>

int v,i,CER,CEA;
float suma;
main()
{
      do
      {
           printf("Cantidad de promedios en la lista\n");
           scanf("%d", &v);
           }while(v<=0 || v>10);
           suma=0;
           CEA=0;
           CER=0;
           float x[i];
           for(i=0;i<v;i++)
           {
                      do
                      {
                      printf("\n Dame el promedio %d:\n", i+1);
                      scanf("%f", &x[i]);
                      }while(x[i]<0 || x[i]>100);
                      if(x[i]>=70)
                      {
                                  printf("Esta Aprobado\n\n");
                                  CEA++;
                                  }
                                  else
                                  {
                                      printf("Esta Reprobado\n\n");
                                      CER++;
                                      }
                                      }
                                      system("cls");
                                      for(i=0;i<v;i++)
                                      {
                                                      suma=suma+x[i];
                                                      printf("\n%.2f", x[i]);
                                                      }
                                                      suma=suma/v;
                                                      printf("\n\nEl promedio general es: %8.2f", suma);
                                                      printf("\n\nLa cantidad de aprobados son: %.2d y los reprobados son: %.2d", CEA,CER);
                                                      getche();                 







en este programa le introduces la cantidad de promedios que quieres calcular y le ingresas los promedios y al final te dise cuandos reprobados ahi y cuantos aprovados

Programa de arreglo

#include <stdio.h>
#define MAX 12
//define MAX como constante

int main(int argi, char** argc[]) {
    int Arreglo[MAX], i, suma = 0;
    float promedio;
    printf("Tecleea los datos a calucular el promedio\n");
    for(i = 0; i < MAX; i++) {
       printf("Dato[%d] = ", i + 1);
       scanf("%d", &Arreglo[i]);
    }
    for(i = 0; i < MAX; i++) {
       printf("Arreglo[%d] = %d\n", i, Arreglo[i]);
    }
    for(i = 0; i < MAX; i++) {
       suma += Arreglo[i]; // suma = suma + Arreglo[i]    }
    promedio = (float)suma / MAX;
    printf("El promedio de los datos es = %f", promedio);   
    return 0;
}



**este es un arreglo unimensional tambien conosido como una lista**


en ese programa es una lista de promedios donde yo por desir puse un maximo de 12 promedios le puse dato a cada numero que iva a promediar y asi hize una lista de maximo 12 datos

algoritmos recursivos

martes, 12 de julio de 2011

PROGRAMANDO

#include <stdio.h>   /* programa que suma la diagonal principal de la matriz */


void carga_matriz();      /*declaramos funciones*/
void suma_diagonal();
void imprime _resultado();

/* declaramos variables generales*/

int Matriz[10][10], I, J, N, SUMA, fila, columna;

main()
{

clrscr();
carga_matriz();                           /*llamamos a las funciones*/
suma_diagonal();
imprime_resultado();
}                                              /*terminamos con la funcion de main*/


void carga_matriz()
{
clrscr();
printf("Dame la dimension de la matriz \n") ;
scanf("%d", &N);
for(I=1;I<=N;I++)
{
for(J=1;J<=N;J++)
{
printf("Dame el elemento[%d,%d] \n" ,I,J) ;
scanf("%d , &Matriz[I] [J] ) ;
}                                   /*fin del for*/
}                         /*fin del otro for */
return;
} /*fin de la funcion carga_matriz */

/*-----------------------------------------------------*/

void suma_diagonal()
{
SUMA=0;
for(I=1;I<=N;I++)
{
    for(J=1;J<=N;J++) ;
    {
         if(I==J)
                {
                   SUMA = SUMA+Matriz [I] [J] ;
                 }            /*Temina el if (I==J) */
     }
}
Return;
}      /*fin de la funcion suma_matriz */


/*-------------------------------------------*/


void imprime_resultado()
{
clrscr() ;
fila =5;
for (I=1;I<=N;I++)
        {
          columna=5;
              for(J=1;J<=N;J++)
             {
                gotoxy(columna,fila) ; printf("%d", MAtriz [I] [J] ;
                 columna=columna+10;
              }
              printf("\n");
              fila=fila+1;
       }     
  printf("\n  \n La suma de la diagonal principal es %d \n", SUMA) ;
 printf ("Pulse cualquier tecla para continuar \n") ;
getche();
return;
}

Pilas

#include <stdio.h>
#include <stdlib.h>
 
 struct tpila           {
  int clave;
  struct tpila *sig;
};
   /* prototipos e implementacion */
 
void crear(struct tpila **pila);
int vacia(struct tpila *pila);
void apilar(struct tpila *pila, int elem);void desapilar(struct tpila *pila, int *elem);
 
 
void crear(struct tpila **pila)
{  *pila = (struct tpila *) malloc(sizeof(struct tpila));
  (*pila)->sig = NULL;
}
 
int vacia(struct tpila *pila){
  return (pila->sig == NULL);
}
 
void apilar(struct tpila *pila, int elem){
  struct tpila *nuevo;
 
  nuevo = (struct tpila *) malloc(sizeof(struct tpila));
  nuevo->clave = elem;  nuevo->sig = pila->sig;
  pila->sig = nuevo;
}
 
void desapilar(struct tpila *pila, int *elem){
  struct tpila *aux;
 
  aux = pila->sig;
  *elem = aux->clave;  pila->sig = aux->sig;
  free(aux);
}
 
   /* programa de prueba */
int main(void)
{
  struct tpila *pila;
  int elem; 
  crear(&pila);
  if (vacia(pila)) printf("nPila vacia!");
  apilar(pila, 1);
  desapilar(pila, &elem); 
  return 0;
}




aqui les dejo una interaccion de una pila como manipularla y como se introducen elementos

TAREA #4 ALGORITMOS