Professional Documents
Culture Documents
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.
#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 */
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");
}