elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: 1 2 3 [4]
31  Programación / Programación C/C++ / Re: Ayuda con bucle for en: 22 Octubre 2018, 17:35 pm
Saludos,

- Revisa esta parte:

for (i = 0; i == n; i++)

- No deberías de utilziar i < n o algo así?
Sí, efectivamente, pero no lo entiendo. Si 'i < n', para cualqiuer valor de 'i', ¿no debería de finalizar el bucle? Me tengo que repasar el concepto ese desde luego jajaja.
32  Programación / Programación C/C++ / Ayuda con bucle for en: 22 Octubre 2018, 17:18 pm
Buenas tengo el siguiente código:

Código:
#include <cstdlib>
#include <iostream>
using namespace std;

int main()
{
int j1;
int i = 0;
int n;
int vic = 0;
int der = 0;

cin >> n;

for (i = 0; i == n; i++)
{
j1 = 1 + rand() % (51 - 1);

if (j1 > 0 && j1 < 25)
{
vic ++;
}
else
{
der++;
}
}

cout << vic;
cout << endl;
cout << der;

return 0;
}

Pretende generar un numero aleatorio 'n' veces, y dependiendo del rango en el que esté contenido se sumará a las variables 'vic' o 'der'. La cuestión es que siempre me devuelve 0 en ambas. ¿El valor de las variables no se guarda al salir del bucle? En ese caso, ¿cómo sería el programa que planteo? ¿O estoy haciendo algo mal y no me doy cuenta?

Como podreis notar soy muy principante en esto.

Muchas gracias.
33  Programación / Programación C/C++ / Re: Espacios con cin en: 15 Octubre 2018, 00:17 am
Vale ya está, era usando cin.get()
34  Programación / Programación C/C++ / Espacios con cin en: 14 Octubre 2018, 23:34 pm
Buenas, estoy a tope con la universidad y los compañeros de clases no saben como hacer esto tampoco :/. la cuestión es que tengo que leer los espacios en blanco de alguna manera con cin y guardarlos es una variable para mostrarlos más tarde. El enunciado del problema es este: "Realiza un programa que lea 9 caracteres y muestre un tablero de 3 en raya (ver figura) donde dichos caracteres han sido integrados en las celdas. Se debe permitir el carácter blanco (celda vacía). " Nada de bucles ni condicionales por cierto. Mi  código es este:

Código:
#include <windows.h>
#include <math.h>
#include <iostream>
using namespace std;

int main()
{
  char a;
  char b;
  char c;
  char d;
  char e;
  char f;
  char g;
  char h;
  char i;
 
  cout << "Introduce 9 caracteres para el tablero de 3 en raya:";
cin >> a;
cin >> b;
cin >> c;
cin >> d;
cin >> e;
cin >> f;
cin >> g;
cin >> h;
cin >> i;
cout << endl << endl;
  cout << "|----------|";
  cout << "| " << a << "|" << b << " | " << c < " |";
  cout << "|----------|";
  cout << "| " << d << "|" << e << " | " << f < " |";
  cout << "|----------|";
  cout << "| " << g << "|" << h << " | " << i < " |";
  cout << "|----------|";

return 0;
}
35  Programación / Programación C/C++ / Re: Ayuda con temporizador en: 13 Octubre 2018, 19:41 pm
Saludos,

- Depende de la temática de tu ejercicio, si estás en Algoritmos lo correcto sería utilizar conversiones; si estás en Programación utilizando librerías, entonces lo correcto sería utilizar librerías de tratamiento de fechas/horas.

- Supongo que estás tratando con ejercicios de Algoritmos, entonces has conversiones:

-- Aunque también depende algo del formato de las fechas/horas que vas a utilizar, por ejemplo si la hora dada es: 13:20:23 tomas las horas (13) las pasas a una unidad base por ejemplo segundos: 13 * 3600 = 46800, lo sumas con los minutos convertidos: 20 * 60 = 1200, y a la vez lo sumas con los segundos, quedando: 46800 + 1200 + 23 = 48023 segundos.

-- Para finalizar sumas tus segundos obtenidos con los segundos dados, suponiendo que los segundos dados son 500, entonces: 48023 + 500 = 48523.

-- Listo ahora haces el inverso:

--- Horas = 48523 / 3600 = 13; residuo = 1723
--- Minutos = 1723 / 60 = 28; residuo = 43
--- Segundos = 43

-- Quedando: 13:28:43

- Hay varias maneras, otra podría ser el convertir los segundos dados a horas, minutos y segundos, para luego sumarlos a las horas, minutos y segundos dados al inicio.

- No le veo mucho parecido a un temporizador, a no ser que no lo haya entendido bien...  :xD
Muchas gracias, ya lo tengo. Al final lo he hecho así: 
Código:
#include <windows.h>
#include <math.h>
#include <iostream>
using namespace std;

int main()
{
unsigned short hora0;
unsigned short minutos0;
unsigned short segundos0;
unsigned int segundos_add;
unsigned short horas1;
unsigned short minutos1;
unsigned short segundos1;

cout << "Este programa implementa un temporizador que determina la hora que sera dentro de x segundos " << endl;
cout << "a partir de la hora introducida por el usuario." << endl << endl;
cout << "Dame la hora actual:" << endl;
cout << "Hora: ";
cin >> hora0;
cout << "Minuto: ";
cin >> minutos0;
cout << "Segundo: ";
cin >> segundos0;
cout << endl;
cout << "Dame los segundos a anadir: ";
cin >> segundos_add;

segundos1 = segundos0 + segundos_add;
minutos1 = minutos0 + segundos1 / 60;
segundos1 = segundos1 % 60;
horas1 = hora0 + minutos1 / 60;
minutos1 = minutos1 % 60;
horas1 = horas1 % 24;

cout << horas1 << ":" << minutos1 << ":" << segundos1;


return 0;
}

Otra duda que me surge (aunque no aparezca en este ejercicio), es si las constantes es mejor declararlas dentro de main o fuera. Es que me han dejado muy claro que de momento no podemos usar variables globales (solo en casos muy puntuales en los siguientes cursos del grado), pero no han mencionado nada de las constantes. Obviamente le preguntaré al profesor, pero opiniones nunca sobran.
36  Programación / Programación C/C++ / Ayuda con temporizador en: 13 Octubre 2018, 12:08 pm
Buenas, en uno de los ejercicios que tengo que hacer para clase, se pide realizar un temporizador. Es decir, el usuario introduce la hora actual, y los segundos que quiere añadir, y el programa debe de mostrar correctamente las hora que será pasados esos segundos. No tengo ni idea de cómo. No quiero que nadie me diga el código, simplemente una pista para poder sacarlo por mí mismo. Muchas gracias.
Páginas: 1 2 3 [4]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines