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 - sherry_XD

#1
Hola!,
Estoy aprendiendo a trabajar con oracle, y mientras intentaba hacer un procedure me surgieron algunos problemas.
Mi procedimiento deberia mostrar como resultado final una tabla con informacion que obtengo de otras tablas pero estas tablas no estan relacionadas directamente.
Buscando en intenet, encontre que podia utilizar INNER JOIN, pero no supe como utlizarlo pues, para este caso, necesito hacer muchos inner join en la misma sentencia, esto fue lo que intente
Código (oracle8) [Seleccionar]

BEGIN
SELECT PEDIDO.ID,item.nombre INTO id_ped,nombre_item FROM item
     INNER JOIN comanda ON comanda.item_id=item.id
     INNER JOIN pedido ON pedido.id = comanda.pedido_id
     INNER JOIN cuenta ON pedido.cuenta_id = cuenta_cons;
     echo('asdasd');
   END loop;
END;


pero me arrojo un error pues dice que me falta un INTO, pero como el select devuelve mas de un resultado, me arroja un error si intento utilizar eso

Como alternativa encontre que podia usar cursores, sin embargo, no se como mostrar los datos que guarde en el cursor, es decir mostrarlos como una tabla que seria lo ideal, lei que existen las tablas temporales o algo asi, pero no se como usarlas.

Ojala me puedan ayudar, soy aun muy noob en esto.

>:( >:( >:( >:( >:( >:( >:( >:(



#2
Código (cpp) [Seleccionar]

void h::insertar(nodo n){
a= (nodo *)realloc(a,sizeof(nodo)*(cantidad + 1));
cantidad++;
a[cantidad] = n;
return;
}


h es una clase:
Código (cpp) [Seleccionar]

class h{
int cantidad;
nodo *a;
public:
h();
void insertar(nodo a);

};
#3
Programación C/C++ / Problema con realloc :(
4 Julio 2014, 06:56 AM
Hola, estoy realizando un algoritmo en el cual necesito redimencionar una variable, buscando en internet llegue a realloc, pero al ejecutar el algoritmo, luego de agregar 2 espacios nuevos a la variable me arroja el siguiente error (con otras cosas mas feas .-.):

*** glibc detected *** ./a.out: realloc(): invalid next size: 0x0902d2d8 ***

La verdad no entiendo que pasa, ojalá alguien se apiade de mi alma y me pueda explicar el error.

Algo así esta la parte donde uso realloc:

variable = (tipo_variable *)realloc( variable  ,sizeof(tipo_variable)*(nro_elementos + 1));
#4
Hola, primero gracias por responder :D!

Probe asi como me dijiste pero me tira muchas warnings, que dicen basicamente que el tipo de puntero es incompatible, y al ejecutarlo, me dice violacion de segmento ('core' generado)

Me ayudas please  :huh:  :huh:
#5
Programación C/C++ / Matrices con punteros
21 Abril 2014, 02:55 AM
Hola, estoy haciendo una funcion que multiplica dos matrices de orden n;
como he leido, para enviar como parametro una matriz es necesario indicar
el indice de la columna.
Ejemplo:

void multiplicacion(float M1[][2], float M2[][2],float M3[][2],int n){
   //cosas
}


Sin embargo, la idea es que este valor sea variable, por lo que no sabria el valor que deberia ir ahi. Al parecer la solucion seria utilizar punteros ._____. La verdad es que no se mucho de punteros, o en realidad no se manejarlos .-.
Mi programa ,sin los punteros es este:

void multiplicacion(float M1[][2], float M2[][2],float M3[][2],int n){
     int i,j,k;
    float a,b;
    for (i=0;i < n; i++){
        for (j=0; j < n; j++){
             M3[i][j] = 0.0;
            for(k=0; k < n; k++){   
                 a= M1[i][k];
                b= M2[k][j];
                M3[i][j] +=( a*b);
             }
                 printf("%f  ", M3[i][j]);
         }
         printf("\n");
     } 
}
int main(){
     int i,j;
     float M1[2][2]= { {2.0,3.0},
                     {2.0,3.0} };
    float M2[2][2]= { {3.0,2.0},
                     {3.0,2.0} };
    float M3[2][2];
        multiplicacion(M1,M2,M3,2);
    for (i=0 ; i < 2 ; i++){
        for (j=0; j< 2 ; j++){
            printf("%f  ", M3[i][j]);
        }
        printf("\n");
    }
    return 0;
}


Por favor, alguien que me diga como deberia quedar con punteros.
Se que la funcion deberia recibir los parametros asi:


void multiplicacion(float **M1, float **M2,float **M3,int n){
     // cosas
}