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

#31
Cita de: pucheto en 17 Julio 2011, 15:55 PM
Por rompebolas nomas, "//Si el numero no es par ni impar... supongo q esto es omirp" si pasa esto, en los enteros, ese numero no existe...

Ademas... si no es divisible por 2, y no es divisible por 3, puede ser divisible por 5 y no ser primo, entonces no ser OMIRP.

jajajaja.... me adueñe del ejercicio ahora. Entonces no tiene q ser divisible por 2 ni por 3, ni por 5,  y ya ta? Ahora me fijo en la wiki como se determina bien si es o no omirp

Tenes razon el comentario ese que hice... jajajaja la flashee

#32
va contra las reglas hacerle el ejercicio a alguien?  :P ... yo tambien toy aprendiendo el c++ asique espero que te funque.
Si lo queres en java es casi igual, en ves de bool usas boolean, y en salida System.out.println("lo que queres q imprima"); sacas el include y el using namespace. jejejejeje
Los sabios diran si estoy errado.

Espero que leas lo que hice almenos  >:D ....
Código (cpp) [Seleccionar]

//============================================================================
// Necesito crear un programa en C o en Java que muestre los numeros OMIRP que
// son los numeros primos reversibles,como por ejemplo el 7 y el 17...
//============================================================================

//by niu

#include <iostream>
using namespace std; //Para usar los cout y cin

bool omirp (int numero) {
if (numero==2 || numero==3 || (numero%2!=0 && numero%3!=0)){ //Si el numero no es par ni impar... supongo q esto es omirp
if (numero>9){
unsigned short int m_numero [1]; // Considero hasta 99, o como los doy vulta?
/* ejemplo, de lo que sigue... tengo un numero 17
* m_numero[0]=7
* m_numero[1]=1
* numero=70+1  // 7*10+1
*/
m_numero[0]=numero%10;
m_numero[1]=(numero-m_numero[0])/10;
numero=m_numero[0]*10+m_numero[1];
}
return true;
}else return false;

}

int main (){
for (int i=0;i<101;i++){
if (omirp(i))cout<<i<<" ";
}
return 0;
}


mmm nada q decir, saludos gente.
#33
Cita de: rir3760 en 14 Julio 2011, 16:23 PM
En tu caso la unión debe almacenarse en una dirección que sea múltiplo de 4 (int) y 8 (double), como puedes imaginarte eso condiciona su tamaño (40 es múltiplo de 4 y 8).

Genial!!! gracias, respuesta re clara.
Nos vemos :)
#34
Programación C/C++ / Una pregunta de uniones
14 Julio 2011, 14:09 PM
Hola gente, me presento soy brkpnt.... jajja que apodo tan ocurrente (?).

Resulta que estoy aprendiendo a programar en C++, y estoy teniendo un problema teorico, con las uniones, que no me ocupan el espeacio esperado. El java me quemo el cerebro.

Código (cpp) [Seleccionar]

union casa{
int direccion;
char nombre [34];
double pisos;
} casa;
int main() {
        //no importa por que puse suma ;)
cout<<"suma de longitudes: "<< sizeof casa.direccion<<" "<<sizeof casa.nombre<<" "<<sizeof casa.pisos<<endl;
cout<<"Longitud total: "<<sizeof casa;
return 0;
}


lo que me regresa es:

suma de longitudes: 4 34 8
Longitud total: 40

segun tengo entendido ocuparia la lontitud de la variable con mayor tamaño pero en realidad, se va a justando a medida que cambio los tipos y sus longitudes. Quiero decir que si cambio los tipos me respeta el echo de obtener el tamño del mas grande, pero en otros casos sobrepasa el tamño del mas grande (no solo en potencias de 2, xdd).

la pregunta seria ¿como funciona esta agrupacion de bytes? ¿No debe tomar siempre el tamaño del mas grande?

Desde ya muchas gracias por desponder la pregunta noob. ;)