|
11
|
Programación / Programación C/C++ / Re: Programacion en C++
|
en: 21 Noviembre 2017, 08:33 am
|
1.- Que el usuario introduzca los datos ( cout, cin...) 2.-con una condición comparas los números para que no sean iguales 3.- en otra condición buscas el mayor y si es el mayor realizas sacas el cociente de la división (num1 / num2 ), y el resto o residuo (num % num2).
|
|
|
12
|
Foros Generales / Foro Libre / Re: iniciando en hackeo
|
en: 21 Noviembre 2017, 08:30 am
|
Primeros pasos: - Aprender Redes - Aprende programacion - Aprende sistemas operativos - Aprender base de datos Una vez aprendido eso enteras algo, después coges y buscas herramientas actualizadas como aprendiste redes sabrás como realizar ataques MITM, ataques wifi ... como funcionan al menos, después buscas las herramientas y ya estas listo
|
|
|
15
|
Programación / Programación C/C++ / Ayuda con ejercicio
|
en: 20 Noviembre 2017, 23:58 pm
|
Buenas estoy haciendo un ejercicio simple de clases ( solo hemos dado el class nada de programacion orienta a objetos) la cosa es que aunque no tengo clase hasta el viernes practicas y el jueves es teoria ( que lo explicara con ejemplo y demas mejor) estoy realizando los ejercicos de la relacion ya, pero no entiendo que me falla. Paso codigo con el enunciado y demas
-- Solo quiero que me ayudeis con el apartado A el area los demas quiero yo calentarme la cabeza ( aunque sabiendo hacer el a los demas tienen que salir mas o menos igual).
// 16.Establecer una definición de una clase que represente el tipo de dato // rectángulo. A partir de la definición propuesta construir: // a. Un método que calcule el área del rectángulo. // b. Un método que calcule el perímetro del rectángulo. // c. Un método que reciba otro rectángulo e indique cuál es el mayor (el de mayor área). // d. Un método que nos diga si 2 rectángulos son iguales (tienen el mismo área Y el mismo // perímetro). // e. Un método que intercambie los valores entre el rectángulo del objeto y otro objeto rectángulo // pasado como argumento.
#include <iostream> using namespace std;
class Rectangulo{ private: // Atributos int ladoa, ladob; // lados del rectangulo public: // Metodos Rectangulo(int, int); // Constructor de la clase void area(); void perimetro(); }; // Constructor nos sirve para inicialziar los atributos Rectangulo::Rectangulo(int _ladoa, int _ladob){ ladoa = _ladoa; ladob = _ladob; }
int Rectangulo::area(int ladoa, int ladob){ return area; }
int main() { // Variable y constantes int ladoA = 0, ladoB = 0, area = 0; // Entrada del program do{ cout << "Introduce el valor del ladoA: " << endl; cin >> ladoA; cout << "Introduce el valor del ladoB: " << endl; cin >> ladoB; }while(ladoA <= 0 || ladoB <= 0); // Desarrollo del programa /* Rectangulo a(ladoA,ladoB); area = a.area(ladoA, ladoB); */ return 0; }
|
|
|
16
|
Programación / Programación C/C++ / Re: Numero narcisista
|
en: 11 Noviembre 2017, 21:59 pm
|
Nada conseguido después de toda la tarde mirando un código como lo hacia lo he conseguido entender: Paso código por si en un futuro alguien lo necesita como hoy yo. // 22. Un número entero de n dígitos se dice que es narcisista si se puede obtener como la suma de // las potencias n-ésimas de cada uno de sus dígitos. Por ejemplo 153 y 8208 son números narcisistas // porque 153 = 13 + 53 + 33 (153 tiene 3 dígitos) y 8208 = 84 + 24 + 04 + 84 (8208 tiene 4 dígitos). // Construir un programa que, dado un número entero positivo, nos indique si el número es o no // narcisista. // Finalidad: Ejercitar los bucles. Dificultad Media.
#include <iostream> #include <cmath> using namespace std;
int main() { // Variables y constantes int n, contador = 0, cn = 0, suma = 0, ultima_cifra = 0; //Entrada del programa do{ cout << "Introduce un numero: " << endl; cin >> n; }while(n <= 0); // Desarrollo del programa // Copia de n cn = n; // Saber el numero de cifras while(n > 0){ n /= 10; contador++; } // Volver a darle a n su valor incial n = cn; for(int i = 0; i < contador; i++){ ultima_cifra = n % 10; suma = suma + pow(1.0*ultima_cifra, contador); n /= 10; } n = cn; if(suma == n){ cout << "El numero es narcisista" << endl; } else{ cout << "No es narcisista" << endl; } return 0; }
|
|
|
17
|
Programación / Programación C/C++ / Numero narcisista
|
en: 11 Noviembre 2017, 21:30 pm
|
Llevo todo el dia con el ejercicio y no encuentro la forma. Ahora mismo consigo tener el 1 15 y el 153 pero no encuentro la maldita forma de cuando salga 15 % 10, y cuando salga 153 % 100, sin utilizar un if,
Podeis darme un empujón o alguna idea de como hacerlo¿?
// 22. Un número entero de n dígitos se dice que es narcisista si se puede obtener como la suma de // las potencias n-ésimas de cada uno de sus dígitos. Por ejemplo 153 y 8208 son números narcisistas // porque 153 = 13 + 53 + 33 (153 tiene 3 dígitos) y 8208 = 84 + 24 + 04 + 84 (8208 tiene 4 dígitos). // Construir un programa que, dado un número entero positivo, nos indique si el número es o no // narcisista. // Finalidad: Ejercitar los bucles. Dificultad Media. #include <iostream> #include <cmath> using namespace std; int main() { // Variables y constantes int numero_introducido = 0, numero_backup = 0, potencia = 0, resultado = 0, divisor = 100000, resultado_final = 0; // Entrada del programa do{ cout << "Introduce un numero: " << endl; cin >> numero_introducido; cin.clear(); }while(numero_introducido <= 0); // Resolucion del programa numero_backup = numero_introducido; while(numero_backup != 0){ numero_backup /= 10; potencia++; } numero_backup = numero_introducido; while(numero_backup != 0){ resultado = numero_backup / divisor; cout << resultado << endl; if(resultado != 0 && resultado > 0){ resultado_final = resultado_final + pow(resultado, potencia); } divisor /= 10; cout << resultado_final << endl; } return 0; }
|
|
|
19
|
Programación / Programación General / Programación segura
|
en: 5 Noviembre 2017, 23:30 pm
|
Pues eso queria saber si tenéis pdf sobre como programar para que mis programas no tenga fallos de seguridad, y bueno ahora que estoy empezando me gustaría empezar a implementar la forma de programar seguro desde ya.
También vendría bien algunos consejos para evitar fallos comunes desbordamiento de buffer... ( ya he visto los post de c++ pero me gustaría saber mas)
|
|
|
20
|
Programación / Programación C/C++ / Dos dudas para mejorar el código
|
en: 5 Noviembre 2017, 23:27 pm
|
Bueno estaba realizando ejercicios y ahora que acabo de terminarlo y antes de seguir con los demás quiero saber como mejorarlo ( voy a mirar la forma de hacerlo con un bucle en vez de tanto if, y la otra duda es cuando meto mas dígitos en el entero de que lo que soporta ejemplo 99999999999999999, el programa ( al menos a mi ) entra en bucle y se queda bloqueado alguna forma de solucionarlo ( no tendría por que hacerlo pero así voy aprendiendo).
Paso código:
// 21. Un número entero n se dice que es desgarrable (torn) si al dividirlo en dos partes // cualesquiera izda y dcha, el cuadrado de la suma de ambas partes es igual a n. Por ejemplo, // 88209 es desgarrable ya que (88 + 209)2 = 88209; 81 también lo es ya que 81 = // (8+1)2.Cread un programa que lea un entero ne indique si es ono desgarrable. // Finalidad: Ejercitar los bucles. Dificultad Baja.
#include <iostream> #include <cmath> using namespace std;
int main() { // Variables y constantes int numero_introducido = 0, contador = 1, cifra1 = 0, cifra2 = 0, cifra3 = 0, cifra4 = 0, cifra5 = 0, cifra6 = 0, numero_backup = 0, operado = 0, cifra_total = 0, concatenacion1 = 0, concatenacion2 = 0; // Entrada del programa do{ cout << "Introduzca un numero para comprobar si es desgarrable: " << endl; cin >> numero_introducido; }while(numero_introducido > 999999); numero_backup = numero_introducido; // Resolucion del programa while (numero_introducido / 10 > 0){ numero_introducido = numero_introducido / 10; contador++; } cout << "Cifras del numero introducido son: " << contador << endl; if(contador == 1){ cout << "El numero no es desgarrable: " << numero_introducido << endl; } else if (contador == 2){ // Con el algoritmo de la division a = b+c + r // Cociente y resto cifra1 = numero_backup / 10; cifra2 = numero_backup % 10; cifra_total = cifra1 + cifra2; operado = pow(cifra_total, 2); if(numero_backup == operado){ cout << "El numero: " << numero_backup << " es un numero desgarrable. " << endl; } else{ cout << "No es un numero desgarrable" << endl; } } else if (contador == 3){ cifra1 = numero_backup / 100; cifra2 = (numero_backup % 100) / 10; cifra3 = numero_backup % 10; concatenacion1 = (cifra1 * 10) + cifra2; cout << concatenacion1 << endl; concatenacion2 = cifra3; cout << concatenacion2 << endl; cifra_total = concatenacion1 + concatenacion2; operado = pow(cifra_total,2); if (numero_backup == operado){ cout << "El numero: " << numero_backup << " es un numero desgarrable. " << endl; } else{ cout << "No es un numero desgarrable." << endl; } } else if (contador == 4){ cifra1 = numero_backup / 1000; cifra2 = (numero_backup % 1000) / 100; cifra3 = (numero_backup % 100) / 10; cifra4 = (numero_backup % 10); concatenacion1 = (cifra1 * 10) + cifra2; concatenacion2 = (cifra3 * 10) + cifra4; cifra_total = (concatenacion1) + (concatenacion2); operado = pow(cifra_total, 2); if (numero_backup == operado){ cout << "El numero: " << numero_backup << " es un numero desgarrable. " << endl; } else{ cout << "No es un numero desgarrable." << endl; } } else if (contador == 5){ cifra1 = numero_backup / 10000; cifra2 = (numero_backup % 10000) / 1000; cifra3 = (numero_backup % 1000) / 100; cifra4 = (numero_backup % 100) / 10; cifra5 = (numero_backup % 10); concatenacion1 = (cifra1 * 10) + cifra2; concatenacion2 = (cifra3 * 100) + (cifra4 * 10) + cifra5; cifra_total = concatenacion1 + concatenacion2; operado = pow(cifra_total, 2); if (numero_backup == operado){ cout << "El numero: " << numero_backup << " es un numero desgarrable. " << endl; } else{ cout << "No es un numero desgarrable. " << endl; } } else if (contador == 6){ cifra1 = numero_backup / 100000; cifra2 = (numero_backup % 100000) / 10000; cifra3 = (numero_backup % 10000) / 1000; cifra4 = (numero_backup % 1000) / 100; cifra5 = (numero_backup % 100) / 10; cifra6 = (numero_backup % 10); concatenacion1 = (cifra1 * 100) + (cifra2 * 10) + cifra3; concatenacion2 = (cifra4 * 100) + (cifra5 * 10) + cifra6; cifra_total = concatenacion1 + concatenacion2; operado = pow(cifra_total, 2); if (numero_backup == operado){ cout << "El numero: " << numero_backup << " es un numero desgarrable. " << endl; } else{ cout << "No es un numero desgarrable. " << endl; } } return 0; }
|
|
|
|
|
|
|