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ú

Temas - BitsPuke

#1
Hardware / Placa compatible con WPA2
1 Febrero 2015, 17:05 PM
Buenas resulta que tengo una placa MS-7502 que siempre me tarda mas de media hora en negociar la conexion con el router (por cable), porque tiene seguridad WPA2 y es algo antigua la placa. El caso es que dentro de poco voy a renovar algunos componentes de mi PC de entre ellos mi placa y queria saber que caracteristicas de la placa son en las que hay que fijarse para saber que se puede conectar bien a una red WPA2. Me podrian decir?

Un saludo
#2
Programación C/C++ / Merge sort en C++
7 Diciembre 2014, 13:14 PM
Buenas tengo que implementar este algoritmo para ordenar un vector en una practica de C++ tanto en forma recursiva y como iterativa. La recursiva la he hecho sin problemas pero llevo desde ayer dandole vueltas a la iterativa y no consigo hallar manera de implementarla en C++. Estoy atascado.

Aqui os dejo un gif sacado de wikipedia de lo que hace el algoritmo y mi codigo:


http://es.wikipedia.org/wiki/Ordenamiento_por_mezcla

Funcion main
Código (cpp) [Seleccionar]
#include "divideyvenceras.hpp"

main (){
 
  vector <int> vectorDesordenado;
 
  CrearVector(vectorDesordenado);
 
  OrdenarPorFusion(vectorDesordenado, true);
 
  MostrarVector(vectorDesordenado);
 
}


Resto del programa
Código (cpp) [Seleccionar]
#include <iostream>
#include <cstdlib>
#include <vector>
using namespace std;
#define INFINITO 2147483647

void MostrarVector (vector <int> vecT){
  for (int i=0;i<vecT.size();i++)
    cout << "[ " << vecT[i] << " ]"; 
  cout << endl;
}

void Fusionar (vector <int> &vecT, vector<int> vecU, vector <int> vecV){
  int i=0,j=0,m, n;
  m=vecU.size();
  n=vecV.size();
  vecU.push_back(INFINITO);
  vecV.push_back(INFINITO);
 
  for (int k=0; k<m+n; k++){
    if (vecU[i]<vecV[j]){
      vecT[k]=vecU[i];
      i++;
    }
    else{
      vecT[k]=vecV[j];
      j++;     
    }     
  }
 
}

void OrdenarPorFusion (vector <int> &vecT, bool verbose){
  int n=vecT.size();
  if (verbose) MostrarVector (vecT);
  if (n>1){ //Si el tamaño es lo suficientemente pequeño (?)
    vector <int> vecU;
    vector <int> vecV;
    //Dividir vector en 2
    for (int i=0; i<n; i++){
      if (i<n/2)
vecU.push_back(vecT[i]);
      else vecV.push_back(vecT[i]);     
    }
    //Recursivo   
    OrdenarPorFusion(vecU, verbose);
    OrdenarPorFusion(vecV, verbose);
    Fusionar(vecT,vecU,vecV);
  }
 
}

void CrearVector (vector <int> &vecT){
  int n;
  cout << "Tamaño del vector: ";
  cin >> n; 
 
  srand (time(NULL)); //Semilla a 0
  for (int i=0;i<n;i++)
    vecT.push_back(rand()%10); //Numero pseudoaleatorio entre 0 y 10   
}


Me pueden dar alguna pista de como hacer la version iterativa?
Muchas gracias!
#3
Dudas Generales / La wiki esta actualizada?
26 Agosto 2014, 16:35 PM
Buenas llevo varios dias leyendo cosas de la wiki bastante interesantes, y me preguntaba si los articulos estan mas o menos actualizados o actualmente obsoletos¿alguien sabe? Porque veo varias cosas en programacion sobre todo que hablan de 2003, 2005, hasta 2008 pero nada mas alla del 2010...
gracias