Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - satu

#1
Programación C/C++ / Re: suma de una cola
6 Julio 2013, 20:35 PM
Buenas!!

No muestra la suma porque cuando entra en la función "suma" la cola está vacía!!!! La vacías cuando la muestras jeje

Saludetes
#2
Hola!!

Te digo lo que tienes que hacer:

crearVector
llenarVector
contador1 = principioDelVector
contador2 = finalDelVector
mientras: contador1 sea menor que contador2
    intecambiarValores(contador1, contador2)
    incrementa(contador1)
    decrementa(contador2)
FIN

Cuando lo intentes y tengas dudas concretas las preguntas, aquí nadie te va a hacer las tareas, pon algo de tu parte

Saludos!!


Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.
#3
Buenas!!

Propongo otra forma: utilizar el contenedor set como forma de eliminar repetidos y ordenamiento:

Código (cpp) [Seleccionar]

#include <iostream>
#include <vector>
#include <set>

using namespace std;

void unico(vector<int> &v){
    set<int> aux;
    set<int>::const_iterator it;

    aux.insert(v.begin(), v.end());

    v.clear();

    for(it = aux.begin(); it != aux.end(); it++) {
        v.push_back(*it);
    }
}

int main(){
    int n, e;
    cout << "Introduzca el tamaño del vector " << endl;
    cin >> n;

    vector<int> v;
    for(int i = 0; i < n; i++) {
        cout << "elemento" << endl;
        cin >> e;
        v.push_back(e);
    }

    unico(v);
    cout << endl;
    cout << "[";
    for(unsigned i = 0; i < v.size(); i++) {
        cout << v[i] << "  ";
    }
    cout << "]" << endl << endl << "Pulsa Enter para salir..." << endl << endl;
    cin.sync();
    cin.get();
    return 0;
}


Saludetes
#4
Buenas!!

He mirado el código por encima y no lo puedo probar pero creo que el fallo está en:
Código (cpp) [Seleccionar]

for(int i=0;i<v.size();i++){
           cout<<p[i]<<"  ";
           }


Debes cambiar v.size() por p.size() en el for

Prueba a ver si es eso y dinos qué tal

Saludos!!
#5
Buenas!!

Claro, si para gustos....

El caso es que de ambos modos está bien, es cuestión de manías o necesidades jeje

Saludetes
#6
Buenas!!

m@o_614 tu código se puede mejorar un pelín:

Código (cpp) [Seleccionar]

int tri_sup =1;
for(i=0;i < n-1;i++)
   {
    for(j=n-1;(j > 0+i)&&(tri_sup);j--)
       {
        if(matriz[j][i] != 0)
            tri_sup = 0;
        }
    }


Ya estás asumiendo al principio que es triangular superior (tri_sup = 1), entonces solo debes controlar el caso que cambie eso (matriz[ j][ i] != 0)

Saludetes
#7
Buenas!!

Eso es lo que hace, aunque no me gusta eso de meter returns, prefiero esto:
Código (cpp) [Seleccionar]

void clear_all_latency_tracing(struct task_struct *p) {
    unsigned long flags;
     
    if (latencytop_enabled) {
        raw_spin_lock_irqsave(&latency_lock, flags);
        memset(&p->latency_record, 0, sizeof(p->latency_record));
        p->latency_record_count = 0;
        raw_spin_unlock_irqrestore(&latency_lock, flags);
    }
}


Llamadme maniático....  :silbar::silbar: jeje

Saludos
#8
Buenas!!

Una solución puede ser crearte una función que vaya imprimiendo el muñequito paso a paso, según el usuario vaya fallando, una cosa así:

void error(int i) {
    switch(i) {
        case 1:
            printf("\n                                       _____ \t A");
            break;
        case 2:
            printf("\n                                      |    | \t H");
            break;
        case 3:
            printf("\n                                      |    0 \t O");
            break;
        case 4:
            printf("\n                                      |   /|\\ \t R");
            break;
        case 5:
            printf("\n                                      |   / \\ \t C");
            break;
        case 6:
            printf("\n                                      | \t A");
            break;
        case 7:
            printf("\n                                      | \t D");
            break;
        case 8:
            printf("\n                                       --------  O\n\n\n\n\n");
            break;
    }
}


Entonces ahora añades en tu función "imprimir", al final, esto:

for(i = 8; i >= oport; i--) {
    error(8 - i);
}


Y donde dibujas el muñequito, cambias todos los printf por:

for(i = 1; i <= 8; i++) {
    error(i);
}


Además tienes cosas como las llamadas a system que NO son estándar, deberías cambiarlo, por ejemplo puedes sustituir los

system("pause");

por

printf("Pulsa Enter para continuar...");
getchar();


Además main debe devolver un int, que debe ser 0 si el programa finalizó correctamente.

Y fíjate que tienes un warning en

printf("\LA PALABRA ERA..");

por el \L. Borra la barra \

Y otra cosa, a veces utilizas un bucle for para imprimir palabras letra por letra, como por ejemplo en la función "imprimir"

for(i=0;i<strlen(cadena);i++) printf("%c",word[i]);

Puedes imprimir la palabra entera

printf("%s", word);


No sé si se me quedará algo.

Saludetes
#9
Programación C/C++ / Re: Problema con Char
24 Junio 2013, 11:57 AM
Buenas!!

O también....

Código (cpp) [Seleccionar]

strcpy(c, typeid(M).name());

o strncpy

Saludos
#10
Hala!!!! Me gusta tu idea!!!

Y no sabía eso de Swing, voy a echar un ojo a JavaFX.

Muchas gracias!!!!!