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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Mensajes
Páginas: [1]
1  Programación / Ejercicios / Cosa rarisima en codigo c++ en: 19 Agosto 2017, 11:24 am
Buenos días.
Me tendria que salir ANA 1 15 19 pero sin embargo me sale ANA 15 19.
No se por qué se come la primera posición.
¿Podríais por favor echarle un vistazo?

Este es el enunciado



y este mi codigo

Código
  1. #include <iostream>
  2. using namespace std;
  3. const unsigned MAX_PAL_DIST=20;
  4. const unsigned MAX_REP=20;
  5. typedef int TArrayPosiciones[MAX_REP];
  6.  
  7. struct TPalabra{
  8. unsigned numpos;
  9. string palabra;
  10. TArrayPosiciones arrpos;
  11. };
  12.  
  13. typedef TPalabra TArrayPalabras[MAX_PAL_DIST];
  14.  
  15. struct TVector{
  16. unsigned numelem;
  17. TArrayPalabras arrpal;
  18. };
  19.  
  20. bool esPalindromo(const string& palabra){
  21.    string aux="", aux2="";
  22. for(unsigned cont=0; cont<palabra.size();cont++){
  23.    aux+=palabra[cont];
  24. }
  25. for(int cont=palabra.size()-1; cont>=0;cont--){
  26.    aux2+=palabra[cont];
  27. }
  28. return aux==aux2&&aux.size()>1;
  29. }
  30.  
  31. bool primeraVez(const string& palabra, const TVector& vect){
  32. bool laprimera=true;
  33. int cont=0;
  34. while(laprimera&&cont<vect.numelem){
  35.    if(vect.arrpal[cont].palabra==palabra){
  36.        laprimera=false;
  37.    }
  38.    ++cont;
  39. }
  40. return laprimera;
  41. }
  42.  
  43. int buscaPalabra(const string& palabra, const TVector& vect){
  44. int cont=0;
  45. while(vect.arrpal[cont].palabra!=palabra){
  46.    ++cont;
  47. }
  48. return cont;
  49. }
  50.  
  51. void muestraPalabra(int pos, const TVector& vect){
  52. cout<<vect.arrpal[pos].palabra<<" ";
  53. for(unsigned cont=0;cont<vect.arrpal[pos].numpos;cont++){
  54.    cout<<vect.arrpal[pos].arrpos[cont]<<" ";
  55. }
  56. }
  57.  
  58. void mostrarVector(const TVector& vect){
  59. for(unsigned cont=0;cont<vect.numelem;cont++){
  60.    muestraPalabra(cont, vect);
  61.    cout<<endl;
  62. }
  63. }
  64.  
  65. int main(){
  66. string palabra;
  67. int cont=0;
  68. TVector vect;
  69. vect.numelem=0;
  70. cout<<"Introduzca su texto (FIN para terminar)"<<endl;
  71. cin>>palabra;
  72. ++cont;
  73. while(palabra!="FIN"&&cont<MAX_PAL_DIST){
  74.    if(esPalindromo(palabra)){
  75.        if(primeraVez(palabra, vect)){
  76.            vect.arrpal[vect.numelem].numpos=0;
  77.            vect.arrpal[vect.numelem].palabra=palabra;
  78.            vect.arrpal[vect.numelem].arrpos[0]=cont;
  79.            ++vect.numelem;
  80.            ++vect.arrpal[vect.numelem].numpos;
  81.        }else{
  82.            int pos=buscaPalabra(palabra, vect);
  83.            vect.arrpal[pos].arrpos[vect.arrpal[pos].numpos]=cont;
  84.            ++vect.arrpal[pos].numpos;
  85.        }
  86.    }
  87.    ++cont;
  88.    cin>>palabra;
  89. }
  90. mostrarVector(vect);
  91. }

Muchas gracias de antemano
2  Programación / Programación General / Ayuda con practica (ARM). La entrega es hoy!! en: 13 Marzo 2017, 13:37 pm
Hola.
Antes de nada decir que no quiero hacer un copy paste de lo que voy a pedir y que hasta que me lo pasen voy a seguir intentándolo hacer por mi cuenta.
Pero el caso es que la entrega es hoy y me he cambiado a un grupo en el que la practica es hoy por lo que he tenido menos tiempo que mis compañeros.
Os dejo lo que he intentado para demostrar que he hecho algo.
De verdad que estoy agobiadisimo

https://hastebin.com/abapaheqif.coffeescript

Esto es lo que he intentado

Esto es lo que se pide:

Copia el código anterior con el nombre maximoVector.s y modifícalo para que en vez de sumar los elementos del vector datos, lo que almacene en res sea el valor máximo encontrado en dicho vector.
Ejecuta el código que has creado y comprueba su correcto funcionamiento. Haz
varias pruebas cambiando el tamaño y los valores almacenados en el vector (por
ejemplo tamaño 1, todos los elementos negativos, …).


Este es el código en el que se basa

https://hastebin.com/mujesagobu.coffeescript

No pienso entregarle esto tal cual ya que soy un chico honrado y posiblemente esté leyendo esto xD
Solo pienso entenderlo y reescribirlo.
Ruego que me lo pasen ya que la entrega se cierra hoy y si no la subo será material que no tendré para el examen final
3  Programación / Programación General / Re: ayuda con ejercicio de tecnologia de computadores (arm) en: 13 Marzo 2017, 10:43 am
Yo no programo ARM. El código, a simple vista, me <parece> correcto.

Lo que te puedo decir es... ¿no tienes forma de depurarlo línea a línea?
O al menos, sacar información cada ciclo del bucle de qué valores tienen r2 y r3.

Es que no he programado absolutamente nada en arm. he mirado alguna transparencias por tratar de entender el codigo.
Me he cambiado de clase (2º profesor con mayor indice de suspensos de españa en el anterior grupo) y no tengo ni idea.

es que segun lo que yo entiendo en r2 guarda el primer valor del array.
en r4 el segundo.
pero en add r3,r3,r4 sumaria 0+4. ¿el dos se lo ha comido no?
4  Programación / Programación General / ayuda con ejercicio de tecnologia de computadores (arm) en: 13 Marzo 2017, 09:57 am
Es que no suma el primer 2 del array ¿empieza directamente en el 4 no?
Por favor. tengo que entregar esa practica hoy

Código
  1. .data
  2. tam: .word 8
  3. datos: .word 2, 4, 6, 8, -2 -4, -6 -7
  4. res: .word 0
  5. .text
  6. .global main
  7. main: ldr r0, =tam
  8. ldr r1, [r0]
  9. ldr r2, =datos
  10. mov r3, #0
  11. loop: cmp r1, #0
  12. beq sal
  13. ldr r4, [r2], #4
  14. add r3, r3, r4
  15. sub r1, #1
  16. b loop
  17. sal: ldr r0, =res
  18. str r3, [r0]
  19. bx lr

5  Programación / Programación C/C++ / Duda con ejercicio de programacion (c++) en: 2 Febrero 2017, 14:11 pm
He intentado este ejercicio pero es que no hay manera.
Si alguien puede ayudarme se lo agradezco



Este es el codigo

https://hastebin.com/uyiriwohat.cpp
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines