Computing">
Practica Semana 10 Eliardo Benoit 1086299
Practica Semana 10 Eliardo Benoit 1086299
Practica Semana 10 Eliardo Benoit 1086299
#include<iostream>
#include<conio.h>
#include<stdlib.h>
using namespace std;
struct Nodo {
int num;
Nodo* sig;
};
int main() {
Nodo* pila = NULL;
int num;
char val;
do {
cout << "Escriba un numero: ";
cin >> num;
agregarNum(pila, num);
if (pila != NULL) {
cout << num << " , ";
}
else {
cout << num << ".";
}
}
_getch();
return 0;
}
struct Nodo {
char num;
Nodo* sig;
};
void menu();
void agregarPila(Nodo*&, char);
void sacarPila(Nodo*&, char&);
int main() {
menu();
}
void menu() {
Nodo* pila = NULL;
int op;
char num;
do {
cout << "\tEscoge una opcion:\n";
cout << "1. Insertar un caracter a la pila" << endl;
cout << "2. Mostrar los elementos de la pila" << endl;
cout << "3. Salir" << endl;
cout << "Opcion: ";
cin >> op;
switch (op) {
case 1: cout << "\nDigite un caracter: ";
cin >> num;
agregarPila(pila, num);
break;
case 2: cout << "\nLos elementos de la pila son: ";
while (pila != NULL) {
sacarPila(pila, num);
if (pila != NULL) {
cout << num << " , ";
}
else {
cout << num << ".";
}
}
cout << "\n";
system("pause");
break;
case 3: break;
}
} while (op != 3);
}
void agregarPila(Nodo*& pila, char n) {
Nodo* nuevo_nodo = new Nodo();
nuevo_nodo->num = n;
nuevo_nodo->sig = pila;
pila = nuevo_nodo;
}
#include <iostream>
#include<stdlib.h> //librerias.
void menu();
//matriz de adyacencia
// para que cualquier miembro del nodo accesible desde cualquier parte del progrma.
int ady;
ady = v;
siguiente = sig;
};
// para que cualquier miembro del nodo accesible desde cualquier parte del progrma.
vertice = v;
puntero = punt;
};
class lista {
// para que cualquier miembro del nodo accesible desde cualquier parte del progrma.
bool listavexiste(int i, int f);//función booleana para verificar si nuestro grafo esta vacio
void creararco(int i, int f, int peso);//función para crear los arcos de nuestro grafo.
int ExisteArco(int i, int f);//función para verificar si nuestro grafo tiene arcos
bool BuscarAdy(pnodo aux, int ad);//función booleana para verificar si nuestro grafo tiene
arcos
};
void lista::creararco(int i, int f, int peso) { //función para crear un nuevo arco
pos = primero;
if (listavexiste(i, f)) {
if (i == pos->vertice) {
else {
else { //sino
else {
else {
//en caso contrario se busca el nodo que tenga un dato menor a valor
anterior = anterior->siguiente;
return i; //retornamos i.
return a; //retornamos a
else {
return a = 0; //retornamos a
bool lista::BuscarAdy(pnodo aux, int ad) { //función booleana para poder realizar la matriz adyacente
return a = true;
} //retornamos a verdadero.
pnodo lista::Buscarv(int valor) { //función para buscar valores dentro de nuestro grafo
int z;
if (valor == indice->vertice) {
cout << "\t" << nodo->vertice << " "; //mostramos los nodos o vertices del grafo.
nodo = nodo->siguiente; //igualamos los punteros para que muestre todos los vertices
cout << "\t" << MatrizAdyacente[i][j] << " "; //mostramos los datos guardados
en la matriz.
}
nodo = nodo->siguiente; //igualamos los punteros para que muestre todos los datos.
menu();
void menu() {
system("cls");
l.Insertarv(1);
l.Insertarv(2);
l.Insertarv(4);
l.Insertarv(5);
l.creararco(1, 2, 1);
l.creararco(2, 1, 1);
l.creararco(1, 4, 2);
l.creararco(4, 1, 2);
l.creararco(4, 3, 3);
l.creararco(3, 4, 3);
l.creararco(3, 2, 4);
l.creararco(2, 3, 4);
l.creararco(4, 5, 5);
l.creararco(5, 4, 5);
l.creararco(5, 2, 6);
l.creararco(2, 5, 6);
switch (op1) {
case 1:
system("cls");
l.CrearMatriz(); //llamamos a nuestra función para que cree la matriz con los datos
ingresados
system("pause");
menu();
break;
case 2:
system("cls");
system("pause");
menu();
break;
case 3:
system("cls");
return;
break;
default:
system("cls");
system("pause");
menu();
break;