martes, 30 de julio de 2013

Los puntos de una circunferencia

El siguiente código guarda en un archivo de texto plano los puntos de una circunferencia, deberás complementar este programa para que muestre el proceso de lectura del archivo creado.

#include<stdio.h>
#include<conio.h>
#include<io.h>
#include<stdlib.h>
#include<math.h>
main()
{
      float x,y,r,g;
      
      FILE *fp;
      
      if((fp=fopen("datos.txt","wb"))==NULL)
          {
          printf("Error de escritura");
          exit(1);
          }
          r=100;
          for(g=0;g<=360;g+=10)
          {
          x=r*sin(g*3.1416/180);
          y=r*cos(g*3.1416/180);
          fprintf(fp,"%f\t %.0f\t %f\t %f\n",r,g,x,y);
          }
      fclose(fp);
          
          
          
               
}

rutina básica para crear gráficos

#include <winbgim.h>

void waitForLeftMouseClick();

int main()
{
    initwindow(400,300); //open a 400x300 graphics window
   
    // delete these lines and replace them with your own code:
    settextstyle(0,0,2);
    setcolor(RED);
    outtextxy(20,100,"Welcome to C++ graphics!");
    setcolor(GREEN);
    outtextxy(60,130,"Click this window");
    outtextxy(120,160,"to exit.");
   
               
    // while(!kbhit());     // wait for user to press a key
    waitForLeftMouseClick(); // use one or the other of these--not both


    closegraph();        //close graphics window
    return 0;
}

void waitForLeftMouseClick()
{
    clearmouseclick(WM_LBUTTONDOWN);
    const int DELAY = 50; // Milliseconds of delay between checks
    int x, y;
    while (!ismouseclick(WM_LBUTTONDOWN))
        delay(DELAY);
    getmouseclick(WM_LBUTTONDOWN, x, y);
}

Biblioteca para creación de gráficos

Descarga la bibliotecade gráficos de DEV-C++

lunes, 15 de julio de 2013

Escribir archivo de texto en lenguaje C

#include<stdio.h>
#include<conio.h>
#include<io.h>
#include<stdlib.h>
main()
{
     
      FILE *fp;
      char nom[30];
      int ed;
      fprintf(stdout,"Introduce tu nombre");
      fscanf(stdin,"%s",nom);
     
      fprintf(stdout,"Introduce tu edad");
      fscanf(stdin,"%d",&ed);
     
      if((fp=fopen("test.txt","wb"))==NULL)
         {
            printf("Error de escritura");                                                                       
            exit(1);                                   
                                          }
      fprintf(fp,"%s %d\n",nom,ed);
      fprintf(stdout,"Datos guardados");
      fclose(fp);
     
            if((fp=fopen("test.txt","rb"))==NULL)
         {
            printf("Error de lectura");                                                                       
            exit(1);                                   
                                          }
     
      fscanf(fp,"%s %d",nom,&ed);
      fprintf(stdout,"%s %d\n",nom,ed);
     
      getch();
     
     
      }

miércoles, 3 de julio de 2013

método de inserción

inserción

Códigos del método de QuickSort


:::::::::::::::::::::::::::::::::::::::::::

ORDENACION NUMEROS

:::::::::::::::::::::::::::::::::::::::::::



#include<stdio.h>
#include<conio.h>
void quicksort(int x[],int prim,int ult);
int main()
{ int tam,i;
  printf(":::::::::::::Quick Sort:::::::::::::\n\n");
  printf("\tDigita cuantos numeros deseas ordenar: ");
  scanf("%d",& tam);
  int x[tam];
  printf("\n\nIntroduce %d valores: \n",tam);
  for(i=0;i<tam;i++)
scanf("%d",&x[i]);
  quicksort(x,0,tam-1);
  printf("\t\nValores Ordenados: \n");
  for(i=0;i<tam;i++)
printf(" %d",x[i]);
  getch();
  return 0;
}

void quicksort(int x[],int prim,int ult)
{  int pivot,j,temp,i;
   if(prim<ult)
   {   pivot=prim;
       i=prim;
       j=ult;
       while(i<j)
       {   while(x[i]<= x[pivot]&& i<ult)
              i++;
      while(x[j]>x[pivot])
         j--;
  if(i<j)
           {   temp=x[i];
  x[i]=x[j];
  x[j]=temp;
  }
       }
       temp=x[pivot];
       x[pivot]=x[j];
       x[j]=temp;
       quicksort(x,prim,j-1);
       quicksort(x,j+1,ult);
   }
}




:::::::::::::::::::::::::::::::::::::::::::::::::::::::

ORDENACION CADENAS

:::::::::::::::::::::::::::::::::::::::::::::::::::::::



#include <stdio.h>
#include <string.h>
void quicksort(char nombre[15][15],int izquierda,int derecha)
{
     int i,j;
     char y[15],*x;
     i=izquierda;
     j=derecha;
     x=nombre[(izquierda+derecha)/2];
     do{
        while((strcmp(nombre[i],x)<0) && (i<derecha)) i++;
        while((strcmp(nombre[j],x)>0) && (j>izquierda)) j--;
        if(i<=j)
        {
           strcpy(y,nombre[i]);
           strcpy(nombre[i],nombre[j]);
           strcpy(nombre[j],y);
           i++;
           j--;
        }
     }while(i<=j);
     if(izquierda<j) quicksort(nombre,izquierda,j);
     if(i<derecha) quicksort(nombre,i,derecha);
}
int main()
{
    char nombre[15][15];
    int n,i,izquierda,derecha,respuesta;
    do
    {
        printf("\nCuantos nombres deseas ordenar:\n ");
        scanf("%d",&n);
        for(i=0;i<n;i++)
        {
           printf("Introduzca el nombre de la persona %d: ",i+1);
           scanf("%s",nombre[i]);
        }
        izquierda=0;
        derecha=n-1;
        quicksort(nombre,izquierda,derecha);
        printf("Los nombres en orden alfabetico:\n");
        for(i=0;i<n;i++)
           printf("\n %d.-%s",i+1,nombre[i]);
        printf("\nEjecutar programa de nuevo? (SI = 1 y NO = 0)\n");
        scanf("%d",&respuesta);
    }while(respuesta==1);
    return 0;
}


Exposicion QuickSort

Exposicion QuickSort Grupo 352

Exposiciones grupo 353

Exposición: QuickSort