Luis Eloy Ramírez

Cuando buscas tener y poseer, eres tú quien termina siendo poseído

Subscribe to RSS feed

shadow of a soul



Clases estadística

cuatro primeras clases en pdf
clase1.pdf
clase2.pdf
clase3.pdf
clase4.pdf

las clases en formato .lyx
clase1.lyx
clase2.lyx
clase3.lyx
clase4.lyx

pila dinámica en C++

, , , ...

#include <iostream>
#include <string>
using namespace std;

class nodo {
private:
    int val;
    string cad;
    nodo *sig;
public:
    nodo(int v, string c, nodo *p = NULL) {
        val = v;
        cad = c;
        sig = p;
    }
    void setValues(int v, string c);
    friend class pila;
};
void nodo::setValues(int v, string c) {
    val = v;
    cad = c;
}

class pila {
private:
    nodo *top;
public:
    pila() {
        top = NULL;
    }
    bool vacia();
    nodo pop();
    void push(nodo n);
    void mostrar();
};
bool pila::vacia() {
    return (top == NULL);
}

nodo pila:: pop() {
    if(!vacia()) {
        nodo data(top->val, top->cad);
        nodo *aux = top;
        top = top->sig;
        delete aux;

        return data;
    }
}

void pila:: push(nodo n) {
    nodo *nuevo = new nodo(n.val, n.cad);
    if(nuevo) {
        if(vacia()) {
            top = nuevo;
            top->sig = NULL;
        } else {
            nuevo->sig = top;
            top = nuevo;
        }
    }
}

void pila::mostrar() {
    nodo *aux = top;

    while(aux) {
        cout << aux->val << ":" << aux->cad << endl;
        aux = aux->sig;
    }
}

int main() {
    pila p;
    nodo n(1, "uno");
    cout << "Pila Dinámica Sencilla:" << endl;
    cout << "los valores a ingresar son: 1,2,3,4,5,6,7,8,9,0" << endl;
    p.push(n);
    n.setValues(2,"dos");
    p.push(n);
    n.setValues(3,"tres");
    p.push(n);
    n.setValues(4,"cuatro");
    p.push(n);
    n.setValues(5,"cinco");
    p.push(n);
    n.setValues(6,"seis");
    p.push(n);
    n.setValues(7,"siete");
    p.push(n);
    n.setValues(8,"ocho");
    p.push(n);
    n.setValues(9,"nueve");
    p.push(n);
    n.setValues(0,"cero");
    p.push(n);

    cout << "Los valores en la pila son:" << endl;

    p.mostrar();

    cout << "Si se extrae un valor, la pila queda así:" << endl;
    p.pop();
    p.mostrar();

    return 0;
}

cadenas (strings) en C++

, ,

Esta es mi primera entrada en my Opera. así que es más prueba que otra cosa. Comencemos.

Como todos sabemos, Java posee objetos de tipo String que son bastante útiles y amigables porque son objetos que guardan caracteres y no poseen una limitación de espacio aparente, lo que muchos principiantes de C/C++ no saben es que C++ posee estos maravillosos objetos que no son una panacea, pero facilitan mucho la vida. Voy a ir agregando poco a poco algunos ejemplos acerca de las cosas que se pueden hacer con los strings.
1)leer una cadena completa desde el teclado sin importar la longitud:

#include <iostream>
#include <cstdlib>
using namespace std;

int main(){
string cadena;
cout << "Escribe algo" << endl;
//getline lee la cadena completa incluyendo los espacios, ejm "the black rose..."
getline(cin, cadena);
cout << "escribiste: " << cadena << endl;

system("pause");

return 0;

}