sábado, 10 de octubre de 2015

Ejercicio numero mayor

Descripcion 

En este ejercicio se aplica el uso de la función si , para en este caso seleccionar un numero mayor dentro de 3 números ingresados.

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

int numero[5];
int *ptrnum;
int mayor=0;

main () {
for (int i=0;i<5;i++){
printf ("Ingrese el valor %d : " ,i+1);
scanf ("%d" ,&numero[i]);
printf ("%d\n" ,numero[i]);
}
for (int j=0;j<4;j++){
ptrnum=&numero[j];
printf ("%d\n",*ptrnum);
printf ("%d\n",numero[j+1]);
if (*ptrnum>=numero[j+1]){
mayor=*ptrnum;
}
else
mayor=numero[j+1];
}
printf ("El numero mayor es %d" ,mayor);
getch ();
}

Teoria de "Cola"



Una cola es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación de inserción push se realiza por un extremo y la operación de extracción pop por el otro. También se le llama estructura FIFO (del inglés First In First Out), debido a que el primer elemento en entrar será también el primero en salir. Las colas se utilizan en sistemas informáticos, transportes y operaciones de investigación (entre otros), dónde los objetos, personas o eventos son tomados como datos que se almacenan y se guardan mediante colas para su posterior procesamiento. La variable utilizada para representar la cola para programar en c++ es la letra “Q”
Usos concretos de la cola
La utilización de este método programático es que sólo podemos acceder al primer y al último elemento de la estructura, de tal manera que los elementos sólo se pueden eliminar por el principio y sólo se pueden añadir por el final de la cola.
Ejemplos de colas en la vida real serían: personas comprando en un supermercado, esperando para entrar a ver un partido de béisbol, esperando en el cine para ver una película, una pequeña peluquería, etc. La idea esencial es que son todas líneas de espera.


Representación de las colas
Un elemento se inserta en la cola (parte final) de la lista y se suprime o elimina por la frente (parte inicial, cabeza) de la lista. Las aplicaciones utilizan una cola para almacenar elementos en su orden de aparición o concurrencia




Los elementos se eliminan (se quitan) de la cola en el mismo orden en que se almacenan y, por consiguiente, una cola es una estructura de tipoFIFO (first-iidfirs-out, primero en ciitrar//?primero en salir o bienprimero en llegar/primero en ser servido).

Las colas se representan por listas enlazadas o por arrayas. Se necesitan dos punteros: frente (f) y final(r), y la lista o arraya de “n” elementos (LONGMAX).





Ejercicio 

En este ejercicio se demostra la teoria , mediante el uso de cola , en este caso se ingresara un nombre y se imprimira en pantalla la primera letra que entra es la primera que sale.


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

int i;
int num[5];
int *ptrnum;


main () {
printf ("BIENVENIDO EJERCICIO COLA\n");

for (int i=0;i<5;i++){

printf ("Ingrese los numeros %d:\n",i+1);

scanf ("%d" ,&num[i]);

}
ptrnum=&num[i];

for(i=0;i<=4;i++)
 {

  printf("\n %d \n",ptrnum[i]);
 }


getch ();
}

Teoria "Pila"

Teoria Pila

La pila es una estructura de datos que permite almacenar datos en el orden LIFO (Last In First Out, en español, "último en entrar, primero en salir"). 
La recuperación de los datos es realizada en el orden inverso de su inserción. 

Para la implementación he elegido una lista enlazada simple, presentada sobre la vertical. 
Ya que la inserción es siempre hecha al inicio de la lista, el primer elemento de la lista será el ultimo elemento ingresado, por lo tanto estará en la cabeza de la pila. 
No he utilizado un puntero fin, como lo hice en el caso de la lista enlazada simple, ya que el objetivo no es el de tratar una lista enlazada, sino una pila
Lo interesante es que el último elemento ingresado, será el primer elemento recuperado 



Ejercicio

En este ejercicio se aplicara la teoria de pila , en el cual mediante el ingreso de caracteres , el primero en entrar sera el ultimo en salir.


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

int i;
int num[5];
int *ptrnum;


main () {
printf ("BIENVENIDO EJERCICIO PILA\n");

for (int i=0;i<5;i++){

printf ("Ingrese los numeros %d:\n",i+1);

scanf ("%d" ,&num[i]);

}
ptrnum=&num[i];

for(i=4;i>=0;i--)
 {

  printf("\n %d \n",ptrnum[i]);
 }


getch ();
}

miércoles, 7 de octubre de 2015

Librerias en C

Para declarar una libreria en c basta con crear un archivo con la funcion , este archivo debe ser guardado con la extension .h , se puede utilizar un bloc de notas para crearlo , despues a este archivo se lo copia a la biblioteca de librerias del compilador .
Ejemplo

#include <Funciones.h>

main()
{
reves ();

getch ();
}

Archivo Funciones.h
https://www.dropbox.com/s/8uhb2yqmvffvbin/Funciones.h?dl=0

miércoles, 30 de septiembre de 2015

Programa caracteres usando punteros

Ejercicio
En este programa , mediante el uso de punteros se imprimira el nombre de una persona caracter por caracter , mostrando su direccion de puntero , y su caracter char

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

int longi,i;
char nom;
char *ptrnom;

main () {
char *ptrnom=&nom;
printf ("Ingrese su nombre:\n");
scanf ("%s" ,&nom);

longi=strlen(ptrnom);


for(i=0;i<=longi-1;i++)
{
  printf("\n %c %p \n",ptrnom[i],ptrnom[i]);
}


getch ();
}

martes, 29 de septiembre de 2015

Programa punteros

Ejercicio
En este ejercicio se solicitaran los datos a una persona , que seran Edad , Genero , Nombre , estos datos para almacenar estos datos se utilizaran punteros

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

char nom[10];
char *ptrnom;
char genero[10];
char *ptrgenero;
int edad;
int *ptredad;

main () {
int *ptredad=&edad;
char *ptrgenero=&genero[10];
char *ptrnom=&nom[10];

printf ("Ingrese nombre:\n");
scanf ("%s",&nom);
printf ("Ingrese genero:\n");
scanf ("%s",&genero);
printf ("Ingrese edad:\n");
scanf ("%d",&edad);

cout <<"Su nombre es : \n"<<*ptrnom;
cout <<"Su genero es : \n"<<*ptrgenero;
cout <<"Su edad es : \n"<<*ptredad;

printf ("Su nombre es %p \n" , *ptrnom );
printf ("Su edad es %p \n" , *ptredad );
printf ("Su genero es %p \n" , *ptrgenero );



getch();
}

lunes, 28 de septiembre de 2015

Punteros en C

Punteros
Un puntero es una variable que contiene la dirección de memoria de un dato o de otra variable que contiene al dato en un arreglo. Quiere esto decir, que el puntero apunta al espacio físico donde está el dato o la variable. Un puntero puede apuntar a un objeto de cualquier tipo, como por ejemplo, a una estructura o una función. Los punteros se pueden utilizar para referencia y manipular estructuras de datos, para referenciar bloques de memoria asignados dinamicamente y para proveer el paso de argumentos por referencias en las llamadas a funciones.
Muchas de las funciones estandares de C, trabajan con punteros, como es el caso del scanf o strcpy. Estas reciben o devuelve un valor que es un puntero. Por Ej. A scanf se le pasa la dirección de memoria del dato a leer (esto es un puntero)...
char a;
scanf ("%c",&a);
Ya se dijo que un puntero es una variable que guarda la dirección de memoria de otra variable, haciendo logica a esto, decimos que un puntero se declara igual que cualquier otra variable, pero anteponiendo un * (asterisco) antes del nombre de la variable.
Sintaxis :
tipo *NombrePuntero;
Donde tipo es el tipo de dato al que referenciará este puntero, es decir, que si se necesita guardar la dirección de memoria de un dato int, se necesita un puntero de tipo int.
Operadores
Operador de Dirección (&): Este nos permite acceder a la dirección de memoria de una variable.
Operador de Indirección (*): Además de que nos permite declarar un tipo de dato puntero, también nos permite ver el VALOR que está en la dirección asignada.
Incrementos (++) y Decrementos (--): Te darás cuenta que puedes usar un puntero como si de un array se tratase, es por esto que permite estos operadores.
De lo anterior podemos decir que:
int a; Es Igual int *puntero=&a; printf("%d",a); Es Igual printf("%d",*puntero);
Fuente :https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C/Punteros