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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Algoritmo genérico en: 28 Mayo 2016, 00:24 am
Hola, la siguiente plantilla calcula la división de números seguidos, mi duda es como puedo hacer lo mismo pero sin ocupar "iterator_traits", ojalá alguien pudiera ayudar, gracias.

Código
  1. #include <iostream>
  2. #include <numeric>
  3. #include <vector>
  4.  
  5. using namespace std;
  6.  
  7. template <class entrada,class salida> salida division_adyacente(entrada primero,entrada ultimo,salida resultado)
  8. {
  9.  if (primero!=ultimo) {
  10.    typename iterator_traits<entrada>::value_type valor,anterior;
  11.    *resultado = anterior = *primero;
  12.    while (++primero!=ultimo) {
  13.      valor = *primero;
  14.      *++resultado = valor / anterior;
  15.      anterior = valor;
  16.    }
  17.    ++resultado;
  18.  }
  19.  return resultado;
  20. }
  21.  
  22. int main(){
  23.    vector<double> v{1,3,6,9,4.5};
  24.    division_adyacente(v.begin(),v.end(),v.begin());
  25.    for(vector<double>::iterator it=v.begin();it!=v.end();it++)
  26.        cout<<*it<<" ";
  27.    return 0;
  28. }
  29.  
2  Programación / Programación C/C++ / eliminar elementos desordenados en: 9 Mayo 2016, 17:54 pm
Mi duda es como hacer que al escribir una palabra como casa lo que salga en pantalla sea cas, osea se eliminen las repeticiones pero quede 1
Código
  1. #include <iostream>
  2. #include <string>
  3. #include <fstream>
  4. #include <vector>
  5. #include <algorithm>
  6. using namespace std;
  7. bool serepite(char , string );
  8. void elimina(char , string& );
  9.  
  10. int main(){
  11.      string frase;
  12.      cout << "frase" << endl;
  13.      getline(cin,frase);
  14.      cin >> clave;
  15.      for(int i=0;i<frase.size();++i ){
  16.    if(serepite(frase[i],frase))
  17.        elimina(frase[i],frase);
  18.   }
  19.   cout<< frase<<endl;
  20.  
  21.  
  22.        return 0;}
  23.  
  24. bool serepite(char b, string cad){
  25.    int contador = 0;
  26.    for(int i =0;i<cad.size();++i)
  27.        if(b==cad[i])
  28.            contador++;
  29.        if (contador>1)
  30.            return true;
  31.        return false;
  32.    }
  33.  
  34. void elimina(char c, string &cad){
  35.    for(int i=0;i<cad.size();++i)
  36.        if(c==cad[i]){
  37.            cad.erase(i,1);
  38.        }
  39.    }
  40.  
  41.  
3  Programación / Programación C/C++ / binario c++ en: 12 Mayo 2015, 04:24 am
Código
  1. #include <iostream>
  2. #include <string>
  3. #include <map>
  4. #include <iomanip>
  5.  
  6. using namespace std;
  7.  
  8. typedef pair<const char*, int> mes;
  9.  
  10. int main()
  11. {
  12.    //ifstream ();
  13.    cout <<"Veces de repeticion de dias"<<endl;
  14.    map<const char*, int> dias;
  15.    dias.insert( mes("L", 5) );
  16.    dias.insert( mes("M", 4) );
  17.    dias.insert( mes("X", 4) );
  18.    dias.insert( mes("J", 4) );
  19.    int total = 0;
  20.  
  21.    map<const char*, int>::iterator c = dias.begin();
  22.    while (c != dias.end() )
  23.    {
  24.        cout << setw(1) << c->first << setw(10) << c->second << endl;
  25.        total += c->second;
  26.        p ++;
  27.    }
  28.    cout << setw(1) << "total:" << setw(5) << total << endl;
  29.    return 0;
  30. }
Como puedo hacer para que en vez de que lea los datos del programa, lea desde un archivo .dat con los mismos datos y luego calcule el total de dias.
Se los agradecería ya que no me manejo con archivos binarios tipo map ni arboles
4  Programación / Programación C/C++ / ayuda c++(contar) en: 21 Abril 2015, 16:57 pm
Necesito contar cuantas veces se repite cada carácter de un archivo de texto por ej a=1, b=3, c=4, etc. Llevo eso pero el archivo de salida dice a= repetición de todos los caracteres, b= repetición de todos los caracteres.
Se que la función esta mal, por eso necesito ayuda si fueran tan amables, gracias.

Código
  1. int contar_carac()
  2. {
  3.    ifstream in ("in.txt");
  4.    ofstream out("out.txt");
  5.    char c;
  6.    int car=0;
  7.    while(!in.eof())
  8.        while(in.get(c))
  9.        if(c>=0 && c<=256)
  10.        car++;
  11.        for(c=0;c<126;c++)
  12.  
  13.    out<<c<<"="<<car<<endl;
  14.    out.close();
  15.    }
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines