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

#1
Buenas,

Tengo un ejercicio bastante simple en C++: calcular la edad de una persona. Pero con varias limitaciones.

- De la biblioteca estandar, unicamente se puede usar cout, cin, endl (Para pedir dia, mes y año de nacimiento).
- Solo variables de tipo entero.
- Solo operadores aritmeticos, o de incremento/decremento.
- Se permiten instrucciones if PERO, no pueden estar anidadas, no if...else y las condiciones solo se pueden formar por operadores de igualdad o relacion.
- No switch, no bucles, no punteros, no funciones raras ni nada por el estilo :xD Solo lo mas basico.

Despues de darle varias vueltas, la unica solucion que se me ocurrio fue la siguiente.
Para simplificar, la fecha actual ya la seteo en el codigo y se asume que los valores que se ingresan para dia/mes/año son correctos. No se valida entrada.

Código (cpp) [Seleccionar]
#include <iostream>
using namespace std;

int main(){
    int n_dia, n_mes, n_anio; // Dia, mes y año de nacimiento
    int a_dia = 4; int a_mes = 4; int a_anio = 2020; // Dia, mes y año actuales
    int a = 0; int b = 0; int c = 0; int d = 0; int e = 0; // Banderas

    cout << "Ingrese dia nacimiento: ";
    cin >> n_dia;
    cout << "Ingrese mes nacimiento: ";
    cin >> n_mes;
    cout << "Ingrese año nacimiento: ";
    cin >> n_anio;

    if (n_mes > a_mes) a++;
    if (n_mes < a_mes) b++;
    if (n_mes == a_mes) c++;
    if (n_dia > a_dia) d++;
    if (n_dia <= a_dia) e++;

    if (a == 1) cout << "Edad: " << (a_anio - n_anio) - 1 << endl;
    if (b == 1) cout << "Edad: " << a_anio - n_anio << endl;
    if (c + d == 2) cout << "Edad: "<< (a_anio - n_anio) -1 << endl;
    if (c + e == 2) cout << "Edad " << a_anio - n_anio << endl;

    return 0;

}


A alguno se le ocurre alguna solucion mas simple/elegante que eso?
Es mas, ni siquiera se si funciona correctamente con todos los valores. Los casos que use los paso, pero no se sabe.

Gracias!
#2
Programación C/C++ / Vaciar buffer
14 Mayo 2016, 23:29 PM
Buenas,

Antes que nada perdón por repostear la pregunta, pero volví a agarrar un libro de programación y sigo con la misma duda.
No sabía si publicarlo acá o en Ingeniería Inversa, que capaz me pueden dar una imagen más clara.

Supongamos este ejemplo:

Código (cpp) [Seleccionar]
std::cout << "Mensaje de prueba" << std:endl;

Según dice el libro, el manipulador de flujos endl, inserta un caracter de nueva línea en el objeto cout y vacía el buffer de salida.

A que hace referencia con esto? Porque según veo, sin insertar endl y solo \n generaría el mismo resultado.

Gracias por la respuesta.
Un saludo.
#3
Java / Re: Problema "Hola Mundo" Android
5 Octubre 2014, 18:02 PM
Buenas,

Utilizo Eclipse como IDE, y estoy trabajando con Android 4.4 (API 20).

Esto es lo que me sale en el LogCat:

Código (xml) [Seleccionar]
10-03 15:38:05.670: I/ActivityManager(356): Resuming delayed broadcast
10-03 15:38:05.690: D/GCM(529): GcmService start Intent { act=com.google.android.gms.INITIALIZE   flg=0x10 pkg=com.google.android.gms cmp=com.google.android.gms/.gcm.GcmService } com.google.android.gms.INITIALIZE
10-03 15:38:05.800: I/ActivityManager(356): Delay finish: com.google.android.gms/.wearable.init.InitializeGmsWearableReceiver
10-03 15:38:05.820: I/ActivityManager(356): Resuming delayed broadcast
10-03 15:38:05.940: D/GCM(529): GcmService start Intent { act=com.google.android.gms.INITIALIZE flg=0x10 pkg=com.google.android.gms cmp=com.google.android.gms/.gcm.GcmService } com.google.android.gms.INITIALIZE
10-03 15:38:06.030: D/GCM(529): GcmService start Intent { act=com.google.android.checkin.CHECKIN_COMPLETE flg=0x10 cmp=com.google.android.gms/.gcm.GcmService (has extras) } com.google.android.checkin.CHECKIN_COMPLETE
10-03 15:38:06.900: I/ActivityManager(356): Delay finish: com.android.providers.calendar/.CalendarProviderBroadcastReceiver
10-03 15:38:07.040: I/ActivityManager(356): Resuming delayed broadcast
10-03 15:38:15.930: I/ActivityManager(356): START u0 {act=android.intent.action.MAIN flg=0x10000000 cmp=com.example.holamundo/.MainActivity} from pid 481 on display 0
10-03 15:38:16.030: D/PermissionCache(52): checking android.permission.READ_FRAME_BUFFER for uid=1000 => granted (786 us)
10-03 15:38:16.040: D/gralloc(52): Registering a buffer in the process that created it. This may cause memory ordering problems.
10-03 15:38:16.040: E/libEGL(52): called unimplemented OpenGL ES API
10-03 15:38:16.050: E/libEGL(52): called unimplemented OpenGL ES API
10-03 15:38:16.050: E/libEGL(52): called unimplemented OpenGL ES API
10-03 15:38:16.050: E/libEGL(52): called unimplemented OpenGL ES API
10-03 15:38:16.060: E/SurfaceFlinger(52): glCheckFramebufferStatusOES error 180008443
10-03 15:38:16.060: E/SurfaceFlinger(52): got GL_FRAMEBUFFER_COMPLETE_OES error while taking screenshot
10-03 15:38:16.060: E/libEGL(52): called unimplemented OpenGL ES API
10-03 15:38:16.060: E/libEGL(52): called unimplemented OpenGL ES API
10-03 15:38:16.060: W/WindowManager(356): Screenshot failure taking screenshot for (123x164) to layer 21000
10-03 15:38:16.120: D/LightsService(356): Excessive delay setting light: 111ms
10-03 15:38:16.130: D/rpctransport(513): sendRpc: failed: 6
10-03 15:38:16.240: I/ActivityManager(356): Start proc com.example.holamundo for activity com.example.holamundo/.MainActivity: pid=684 uid=10018 gids={50018}
10-03 15:38:16.300: D/dalvikvm(684): Not late-enabling CheckJNI (already on)
10-03 15:38:16.550: D/AndroidRuntime(684): Shutting down VM
10-03 15:38:16.550: W/dalvikvm(684): threadid=1: thread exiting with uncaught exception (group=0xb4a82d70)
10-03 15:38:16.570: E/AndroidRuntime(684): FATAL EXCEPTION: main
10-03 15:38:16.570: E/AndroidRuntime(684): Process: com.example.holamundo, PID: 684
10-03 15:38:16.570: E/AndroidRuntime(684): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.holamundo/com.example.holamundo.MainActivity}: android.util.AndroidRuntimeException: You cannot combine swipe dismissal and the action bar.
10-03 15:38:16.570: E/AndroidRuntime(684):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2197)
10-03 15:38:16.570: E/AndroidRuntime(684):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2258)
10-03 15:38:16.570: E/AndroidRuntime(684):  at android.app.ActivityThread.access$800(ActivityThread.java:138)
10-03 15:38:16.570: E/AndroidRuntime(684):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1209)
10-03 15:38:16.570: E/AndroidRuntime(684):  at android.os.Handler.dispatchMessage(Handler.java:102)
10-03 15:38:16.570: E/AndroidRuntime(684):  at android.os.Looper.loop(Looper.java:136)
10-03 15:38:16.570: E/AndroidRuntime(684):  at android.app.ActivityThread.main(ActivityThread.java:5026)
10-03 15:38:16.570: E/AndroidRuntime(684):  at java.lang.reflect.Method.invokeNative(Native Method)
10-03 15:38:16.570: E/AndroidRuntime(684):  at java.lang.reflect.Method.invoke(Method.java:515)
10-03 15:38:16.570: E/AndroidRuntime(684):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
10-03 15:38:16.570: E/AndroidRuntime(684):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
10-03 15:38:16.570: E/AndroidRuntime(684):  at dalvik.system.NativeStart.main(Native Method)
10-03 15:38:16.570: E/AndroidRuntime(684): Caused by: android.util.AndroidRuntimeException: You cannot combine swipe dismissal and the action bar.
10-03 15:38:16.570: E/AndroidRuntime(684):  at com.android.internal.policy.impl.PhoneWindow.requestFeature(PhoneWindow.java:275)
10-03 15:38:16.570: E/AndroidRuntime(684):  at com.android.internal.policy.impl.PhoneWindow.generateLayout(PhoneWindow.java:2872)
10-03 15:38:16.570: E/AndroidRuntime(684):  at com.android.internal.policy.impl.PhoneWindow.installDecor(PhoneWindow.java:3129)
10-03 15:38:16.570: E/AndroidRuntime(684):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:303)
10-03 15:38:16.570: E/AndroidRuntime(684):  at android.app.Activity.setContentView(Activity.java:1930)
10-03 15:38:16.570: E/AndroidRuntime(684):  at com.example.holamundo.MainActivity.onCreate(MainActivity.java:13)
10-03 15:38:16.570: E/AndroidRuntime(684):  at android.app.Activity.performCreate(Activity.java:5242)
10-03 15:38:16.570: E/AndroidRuntime(684):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
10-03 15:38:16.570: E/AndroidRuntime(684):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2161)
10-03 15:38:16.570: E/AndroidRuntime(684):  ... 11 more
10-03 15:38:16.590: W/ActivityManager(356):   Force finishing activity com.example.holamundo/.MainActivity
10-03 15:38:16.610: W/InputMethodManagerService(356): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@b4ed2450 attribute=null, token = android.os.BinderProxy@b4e62a90
10-03 15:38:16.830: D/dalvikvm(356): GC_FOR_ALLOC freed 362K, 15% free 4022K/4692K, paused 43ms, total 45ms
10-03 15:38:17.080: I/Choreographer(356): Skipped 137 frames!  The application may be doing too much work on its main thread.
10-03 15:38:17.160: W/ActivityManager(356): Activity pause timeout for ActivityRecord{b4eac478 u0 com.example.holamundo/.MainActivity t2 f}
10-03 15:38:17.220: I/ARMAssembler(52): generated scanline__00000077:03515104_00009002_00000000 [127 ipp] (149 ins) at [0xb5e941f0:0xb5e94444] in 10000000 ns
10-03 15:38:17.230: I/Choreographer(356): Skipped 38 frames!  The application may be doing too much work on its main thread.
10-03 15:38:17.310: I/Choreographer(356): Skipped 49 frames!  The application may be doing too much work on its main thread.
10-03 15:38:17.340: I/Choreographer(356): Skipped 237 frames!  The application may be doing too much work on its main thread.
10-03 15:38:17.360: D/rpctransport(513): sendRpc: failed: 7
10-03 15:38:17.390: I/Choreographer(356): Skipped 45 frames!  The application may be doing too much work on its main thread.
10-03 15:38:17.440: I/Choreographer(356): Skipped 53 frames!  The application may be doing too much work on its main thread.
10-03 15:38:17.450: I/ARMAssembler(52): generated scanline__00000077:03010104_00008002_00000000 [ 89 ipp] (110 ins) at [0xb5e94450:0xb5e94608] in 0 ns
10-03 15:38:17.470: I/Choreographer(481): Skipped 42 frames!  The application may be doing too much work on its main thread.
10-03 15:38:17.480: I/Choreographer(356): Skipped 36 frames!  The application may be doing too much work on its main thread.
10-03 15:38:27.550: W/ActivityManager(356): Activity destroy timeout for ActivityRecord{b4eac478 u0 com.example.holamundo/.MainActivity t2 f}
10-03 15:38:29.020: D/ConnectivityService(356): Sampling interval elapsed, updating statistics ..
10-03 15:38:29.060: D/ConnectivityService(356): Done.
10-03 15:38:29.060: D/ConnectivityService(356): Setting timer for 720seconds
10-03 15:39:00.070: D/WearableConn(513): Error writing to device
10-03 15:39:00.070: D/WearableConn(513): java.net.ConnectException: failed to connect to /10.0.2.2 (port 5601): connect failed: ETIMEDOUT (Connection timed out)
10-03 15:39:00.070: D/WearableConn(513):    at libcore.io.IoBridge.connect(IoBridge.java:114)
10-03 15:39:00.070: D/WearableConn(513):    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
10-03 15:39:00.070: D/WearableConn(513):    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
10-03 15:39:00.070: D/WearableConn(513):    at java.net.Socket.startupSocket(Socket.java:567)
10-03 15:39:00.070: D/WearableConn(513):    at java.net.Socket.<init>(Socket.java:226)
10-03 15:39:00.070: D/WearableConn(513):    at btx.run(SourceFile:130)
10-03 15:39:00.070: D/WearableConn(513): Caused by: libcore.io.ErrnoException: connect failed: ETIMEDOUT (Connection timed out)
10-03 15:39:00.070: D/WearableConn(513):    at libcore.io.Posix.connect(Native Method)
10-03 15:39:00.070: D/WearableConn(513):    at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:101)
10-03 15:39:00.070: D/WearableConn(513):    at libcore.io.IoBridge.connectErrno(IoBridge.java:127)
10-03 15:39:00.070: D/WearableConn(513):    at libcore.io.IoBridge.connect(IoBridge.java:112)
10-03 15:39:00.070: D/WearableConn(513):    ... 5 more
10-03 15:39:00.110: D/WearableConn(513): Socket closed
10-03 15:39:00.170: D/WearableConn(513): Waiting 1.0 seconds to retry connection
10-03 15:39:00.250: D/dalvikvm(481): GC_FOR_ALLOC freed 491K, 16% free 3285K/3908K, paused 111ms, total 115ms
10-03 15:39:01.210: D/WearableConn(513): Connecting via TCP to /10.0.2.2:5601
10-03 15:40:04.410: D/WearableConn(513): Caused by: libcore.io.ErrnoException: connect failed: ETIMEDOUT (Connection timed out)
#4
Java / Re: Problema "Hola Mundo" Android
1 Octubre 2014, 15:38 PM
Este? MainActivity.java

Código (java) [Seleccionar]
package com.example.holamundo;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
#5
Java / Re:
30 Septiembre 2014, 03:08 AM
No es el activity_main que publique arriba?
#6
Java / Problema "Hola Mundo" Android
29 Septiembre 2014, 17:38 PM
Buenas,

Estoy tratando de hacer la aplicación "Hola mundo" con Android, y tengo un problema.
Al ejecutar el AVD, al cargar la aplicación me aparece el mensaje "Unfortunately, APP_NAME has stopped".

Archivo AndroidManifest.xml

Código (xml) [Seleccionar]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.holamundo"
   android:versionCode="1"
   android:versionName="1.0" >

   <uses-sdk
       android:minSdkVersion="20"
       android:targetSdkVersion="20" />
   <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme">
       <activity android:name="MainActivity" android:label="@string/app_name">
           <intent-filter>
               <action android:name="android.intent.action.MAIN" />

               <category android:name="android.intent.category.LAUNCHER" />
           </intent-filter>
       </activity>
   </application>

</manifest>


Archivo activity_main.xml

Código (xml) [Seleccionar]
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   tools:context="com.example.holamundo.MainActivity" >

   <TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="@string/hello_world" />
<TextView
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:text="Esta es mi primera aplicacion Android" />
<Button
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:text="Esto es un boton!"
   />
</RelativeLayout>


Estoy trabajando con Android 4.4 (API 20).

Alguna idea de por qué se produce esto?

Muchas gracias.
#7
Java / Certificación Java
21 Septiembre 2014, 21:33 PM
Buenas,

Estoy averiguando para conseguir la certificación Oracle Certified Associate, Java SE 7 Programmer.

Alguno del foro la realizó? Es verdaderamente útil a la hora de conseguir trabajo? Es muy difícil rendirla sin realizar algún curso o de forma autodidacta es posible? Dónde podría comprar el material para estudiar?

Muchas gracias.
#8
Programación General / Re: Haskell
21 Septiembre 2014, 18:25 PM
Gracias! No había visto esos libros.

Un saludo.
#9
Programación General / Haskell
20 Septiembre 2014, 21:23 PM
Buenas.
Alguien tendría en pdf el libro "Razonando con Haskell"?

Muchas gracias.
#10
Programación C/C++ / Consulta sobre libros.
19 Septiembre 2014, 03:09 AM
Buenas,
Estoy entre varios libros diferentes para aprender C, y me gustaría, si es que los conocen, que me den su opinión a ver que tal son.

Como programar en C - Deitel
El lenguaje de programación C - K&R
Enciclopedia del lenguaje C - F. J. Caballos
Algoritmos y Estructuras de datos. Aproximación en C - Bowman

Un saludo.