You are on page 1of 7

Desarrollo de practica.

Problema 1

Este programa que tiene que ver con el apuntador valor, tiene varias funciones: La primera
función es funcionPunteros y función. La primera le indica a int valor que inicie en 0, después le
suma 10, quedando valor igual a 10. Luego el int*valor que es un puntero, inicia con la posición
0, y termina el *valor con una posición igual a 10. Finalmente con cout imprimimos lo que mostrara
en pantalla. Le indicamos a las funciones, función y funcionPunteros que trabaje con el valor de
números que corresponde a 10. Finalmente nos muestra después de la funcionPunteros un valor
a 20.

Problema 2

Este problema corresponde a dos apuntadores los cuales son *títulos, y *autores los cuales
inician en null, luego declaramos la variable tamanio, después el programa lee por pantalla los
libros que se desean ingresar. En base al tamaño solicitado a través de stoi se convierte de
entrada a un numero para luego hacer dos arreglos según lo leído en pantalla, autores y títulos,
Luego a través del for se hace una sentencia que índique el titulo y autor de los libros en donde
i inicia en 0 luego debe ser menor a tamanio, una vez sobrepase el proceso finaliza. Por ultimo
con delete [] títulos, delete autores[] se libera la información de los arreglos y volvemos a indicar
que titulo y autores son igul a null.

Problema 3.

En este programa tenemos un punteros de punteros string**libros y el puntero string*[tamanio],


declaramon la variable tamanio, a través de pantalla dependiendo de los libros que desea
ingresar el usuario se lee el valor. A través de stoi la entrada pasa a ser numero, Luego libros=
new string*[tamanio] esto indica el numero de filas introducido según el usuario. Luego hhast
donde i debe ser siempre menor a tamanio tras el for, si deja de cumplir la condición deja de
realizar libros[i]= new string[cols], donde cada fila va a contener dos columnas como se había
indicado al inicio. Se toman los datos de autor y titulo introducidos en pantalla, luego para liberar
hay que recorrer fila por fila antes de. Despues usamos delete [] libros[i], donde sabemos que
cada fila es un array de punteros de ahí el nombre punteros a punteros.y por ultimo mandamos
a quitar la fila única que quedo.
/* Ejemplo de una pila. */

#include <iostream>
#include <cstdlib>

void insertar(void);
void extraer(void);
void visualizar(void);

struct pila{
char nombre[20];
struct pila *ant;
}
*CAB=NULL,*AUX=NULL;
using namespace std;
main(){ /* Rellenar, extraer y visualizar */
char opc;
do
{
system("cls"); /* borramos la pantalla */

cout <<("1.- Insertar\n");


cout <<("2.- Extraer\n");
cout <<("3.- Visualizar la pila\n");
cout <<("4.- Salir\n");
cout <<("Digite una opcion: ");
cin>>opc;
switch(opc)
{
case '1':
insertar();
break;
case '2':
extraer();
break;
case '3':
visualizar();
}
}while (opc!='4');
}

void insertar(void)
{
AUX=(struct pila *)malloc(sizeof(struct pila));
system("cls");
cout<<("Nombre: ");
cin>>(AUX->nombre);
if (CAB==NULL)
{
CAB=AUX;
AUX->ant=NULL;
}
else
{
AUX->ant=CAB;
CAB=AUX;
}
}
void extraer(void)
{
if (CAB==NULL) return;
AUX=CAB;
CAB=CAB->ant;
free(AUX);
}

void visualizar(void)
{
if (CAB==NULL) return;
system("cls");
AUX=CAB;
while (AUX!=NULL)
{
cout<<"Nombre:"<<AUX->nombre<<endl;
AUX=AUX->ant;
}
system ("pause");
}
/* Ejemplo de una pila. */

#include <iostream>
#include <cstdlib>

void insertar(void);
void extraer(void);
void visualizar(void);

struct cola
{
char nombre[20];
struct cola *sig;
}*CAB=NULL,*AUX=NULL,*FIN=NULL;
using namespace std;
main() /* Rellenar, extraer y visualizar */
{
char opc;
do
{
system("cls");
cout <<("1.- Insertar\n");
cout <<("2.- Extraer\n");
cout <<("3.- Visualizar la pila\n");
cout <<("4.- Salir\n");
cout <<("Digite una opcion: ");
cin>>opc;
switch(opc)
{
case '1':
insertar( );
break;
case '2':
extraer( );
break;
case '3':
visualizar( );
}
}while (opc!='4');
}
void insertar(void)
{
AUX=(struct cola *)malloc(sizeof(struct cola));
system("cls");
cout<<("Nombre: ");
cin>>(AUX->nombre);
AUX->sig=NULL;
if (FIN==NULL)
FIN=CAB=AUX;
else
{
FIN->sig=AUX;
FIN=AUX;
}
}

void extraer(void)
{
if (CAB==NULL) return;
AUX=CAB;
CAB=CAB->sig;
free(AUX);
}

void visualizar(void)
{
if (CAB==NULL) return;
system("cls");
AUX=CAB;
while (AUX!=NULL)
{
cout<<"Nombre: "<<AUX->nombre<<endl;
AUX=AUX->sig;
}
system ("pause");
}

You might also like