lunes, 20 de noviembre de 2017

EJERCICIO DE FUNCION STRUCT

EJERCICIO 

Realizar un programa con funcion struct alumno que ingrese su nombre su peso y edad y lo imprima 
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
struct alumno{
char nombre[10];
float peso;
int edad;
}a;

main(){
char nombre[10];
int peso;
int edad;
struct alumno a;
printf("Ingrese su nombre:\n");
scanf("%s",&a.nombre);
printf("Ingrese su peso :\n");
scanf("%f",&a.peso);
printf("Ingrese su edad:\n");
scanf("%d",&a.edad);

printf("Su nombre es:%s\n",a.nombre);
printf("Su peso es:%f\n",a.peso);
printf("Su edad es:%d\n",a.edad);

getch();
return 0;
}

EJERCICIO STRUCT VECTOR

EJERCICIO CLASE

Realizar un programa en la que se utilice la funcion struct

#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
struct vector {
 double x;
 double y;
};

struct vector sumar (struct vector v1, struct vector v2) {
struct vector vres;
 vres.x = v1.x + v2.x;
 vres.y = v1.y + v2.y;

 return vres;
}

int main (){
 struct vector va;
 struct vector vb;
 struct vector vc;

 va.x=0.5;
 va.y=1;
 vb.x=1;
 vb.y=0.5;
 vc = sumar (va,vb);
 printf ("res: \n%.2f,\n%.2f,\n%.2f", vc.x, vc.y);
 getch ();
}

ESTRUCTURAS

ESTRUCTURA

Tipos de datos definidos por el usuario

-Al momento de hacer un programa, el usuario puede definir sus propios tipos de datos
-Mayor claridad
-Aumenta el significado semítico del código
-Simplificar declaración de variables

Tipos de datos definidos por el usuario
Typedef
- Define un nuevo nombre para un tipo de dato
-El nombre original sigue siendo valido


typedef <tipo> <nuevo nombre >;
typedef int positivo;

Ejemplo
typedef int positivo;
typedef int negativo;
int main(){
positivo a,b;
negativo c,d;
a=1;
b=2;
c=-a;
d=-b;
printf("%d %d %d %d %d %d %d %d",a,b,c,d);

}

Estructuras

1. Una estructura puede verse como una colección de variables que se referencia bajo un nombre en común
2. Cada una de estas variables se denominan "miembros" de la estructura. Otras denominaciones son:  Campo-Elemento -Atributo
Declaración de estructuras

La definición de una estructura se realiza fuera de cualquier función, generalmente en la parte superior del archivo
Para definir una estructura requerimos:
-Un nombre
-Una lista de miembros
-nombre
-tipo


Declaración de estructuras

La declaración de una estructura no crea variables
Solo se define el nombre y sus miembros
Debe esta definida para poder ser utilizada(Posición en el código)

Declaración de estructuras
Struct mi_estructura{
int miembro 1; char miembro 2;

double miembro 3;

miércoles, 15 de noviembre de 2017

LA PILA Y COLA


¿QUE ES UNA PILA?

Las pilas son estructuras de datos que tienes dos operaciones básicas: push (para insertar un elemento) y pop (para extraer un elemento). Su característica fundamental es que al extraer se obtiene siempre el último elemento que acaba de insertarse. Por esta razón también se conocen como estructuras de datos LIFO (del inglés Last In First Out). Una posible implementación mediante listas enlazadas sería insertando y extrayendo siempre por el principio de la lista. Gracias a las pilas es posible el uso de la recursividad (lo veremos en detalle en el tema siguiente). La variable que llama al mismo procedimiento en el q está, habrá que guardarla así como el resto de variables de la nueva llamada, para a la vuelta de la recursividad ir sacandolas, esto es posible a la implementación de pilas.


struct nodo {
   int dato;
   struct nodo *siguiente;
};


DECLARACIONES DE TIPOS PARA MANEJAR PILA EN LENGUAJE C

tipos que definiremos normalmente para manejar pilas serán casi los mismos que para manejar listas, tan sólo cambiaremos algunos nombres:

typedef struct _nodo {
   int dato;
   struct _nodo *siguiente;
} tipoNodo;

typedef tipoNodo *pNodo;
typedef tipoNodo *Pila; 

¿QUE ES UNA 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. Este tipo de estructura de datos abstracta se implementa en lenguajes orientados a objetos mediante clases, en forma de listas enlazadas.

struct nodo {
   int dato;
   struct nodo *siguiente;
};

 DECLARACIONES DE TIPOS PARA MANEJAR COLA EN LENGUAJE C

 typedef struct _nodo {
   int dato;
   struct _nodo *siguiente;
} tipoNodo;

typedef tipoNodo *pNodo;
typedef tipoNodo *Cola;

SEMEJANZAS Y DIFERENCIAS 

Pila: que la pila es el ultimo que entra y es el primero que sale y las pilas son el dato que pueden entrar por cualquier lado.

Cola: Que es el primero que entra y tambien es el primero en salir y entra por un lado y sale por el mismo lado que este ha ingresado.




EJERCICIO

EJERCICIO

Realizar un programa que ingrese vector de 10 y lo devuelva


#include <stdio.h>
#include <conio.h>
main(){
int *ptrznum;
printf("ingrese del 1 al 10\n");
for (int num;num<=10;num++){
 scanf("%d",&num);
}
for(int num1=10;num1>=0;num1--){
printf("%d\n",num1);
}
getch();


}

jueves, 9 de noviembre de 2017

EJERCICIO EN CLASE

EJERCICIO EN CLASE

Realizar un programa que cuente los caracteres ingresados y los imprime


#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
//globales
main()
{

 //locales
 char palabra[10];
 int n=0;
 char *ptrPal;//declaracion de un puntero
 printf("Ingrese palabra\n");
 scanf("%s",&palabra);
 n=strlen(palabra);//funcion que cuenta cuantas letras
  printf("%d\n",n);


   for(int i=0;i<n;i++)
   {
 ptrPal=&palabra[i];//asignacion
    if(*ptrPal>='0'&&*ptrPal<='9')
    {
     printf("\nEs Numero\n");
    printf("%c",*ptrPal);
    }

 printf("\n%c",*ptrPal);
   }


 //*ptrPal=&palabra

    getch();
}