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 [2] 3 4 5
11  Programación / Programación C/C++ / Re: Ayuda en este codigo por favor en: 6 Mayo 2015, 02:59 am
Siii ivan, tienes alguna idea?
12  Programación / Programación C/C++ / Ayuda en este codigo por favor en: 4 Mayo 2015, 23:29 pm
Tengo este codigo en C++:

Código
  1. #include <iostream>
  2. #include <stdlib.h>
  3.  
  4. using namespace std;
  5.  
  6. main(){
  7.  
  8. int i, j, filas, columnas, suma_dp=0;
  9. cout << "Ingrese el n\243mero de filas de la matriz: ";
  10. cin >> filas;
  11. cout << "Ingrese el n\243mero de columnas de la matriz: ";
  12. cin >> columnas;
  13.  
  14. if((filas < 1 || columnas < 1) || (filas > 20 || columnas > 20)){
  15. cout << "La matriz no puede ser menor que 1 ni mayor que 20\n\n";
  16. }
  17. else{
  18. cin.get();
  19. float **a = new float*[filas];
  20. cout << endl;
  21. for(i=0; i < filas; i++){
  22. a[i] = new float[columnas];
  23. for(j=0; j < columnas; j++){
  24. cout << "Ingrese el elemento A[" << i + 1 << "][" << j + 1 << "]: ";
  25. cin >> a[i][j];
  26. }
  27. }
  28. cout << endl;
  29. cout << "La matriz digitada es: " << endl;
  30. for(i=0; i < filas; i++){
  31. cout<<"|";
  32. for(j=0; j < columnas; j++){
  33. cout << "\t" << a[i][j] <<"\t";
  34. }
  35. cout << "|" << endl;
  36. }
  37.  
  38. cout << "La diagonal principal es: " << endl;
  39. for(i=0; i < filas; i++){
  40. cout<<"|";
  41. for(j=0; j < columnas; j++){
  42. if(a[i]==a[j])
  43. cout << "\t" << a[i][j];
  44. if(i-j == 0)
  45. suma_dp += a[i][j];
  46. }
  47. cout << "|" << endl;
  48. }
  49. cout << "La suma es: " << suma_dp;
  50.  
  51. }
  52. cout << endl;
  53. system("pause");
  54. return EXIT_SUCCESS;
  55.  
  56. }

Quiero hacerlo usando la STL.

Alguien me orienta?

PTDA: Se trabajar con Vectores de una dimensión usando la STL
13  Programación / Programación C/C++ / Re: Sugerencias! en: 14 Marzo 2015, 01:05 am
Gracias a ambos sus respuestas me sirvieron. Otacu me ayudaste ya que mi Iteradores de salía de rango e Iván me aclaró la lógica de mi algoritmo
14  Programación / Programación C/C++ / Re: Ayuda porfavor Reverso cadena string en: 13 Marzo 2015, 04:12 am
Mira Cristian debes de crear hacer un ciclo que recorra el string caracter por caracter, luego le pones una condicion para que si encuentra una palabra (ya sea separada por espacio o cualquier signo de puntuacion o caracter especial) que le haga el reverse, y la guardas en el string personal y guardas la posicion tambien. Y le hace el reverso por palabras y la vas colocando al inicio del string.
15  Programación / Programación C/C++ / Sugerencias! en: 13 Marzo 2015, 03:56 am
Tengo esta funcion para agregar un string a un vector, pero con la condicion de no  tener nombres repetidos pero me explota el programa.

Código
  1. void addNomEst(){
  2.                  system("cls");
  3.                  cout<<"\n\n\t   <<<<<<<<<<<<<<<<<<<<MENU INSERTAR>>>>>>>>>>>>>>>>>>>>>>>\n\n\n";
  4.                  string nombre;
  5.                  int PosNom= 0, j=0;
  6.                  cout<<"Digite el nombre que desea agregar: ";
  7.                  cin.ignore(256,'\n');
  8.                  cin >> nombre;
  9.                  for(it = NomEst.begin(); it != NomEst.end(); ++it){
  10.                     if((*it) == nombre){      
  11.                        PosNom++;      
  12.                           }
  13.                          } if (PosNom > 0){
  14.                        j++;
  15.                        system ("cls");
  16.                        cout << "\n\nESTE NOMBRE YA EXISTE!!!" << endl;
  17.                        cout << "\n\nFAVOR DIGITAR OTRO NOMBRE DE ESTUDIANTE DIFERENTE\n" << endl;                                          
  18.                        system("pause");
  19.                       }PosNom = 0;
  20.                         NomEst.push_back(nombre);
  21.                        if(j==1){
  22.                           NomEst.erase(it);
  23.                           vector<string>::iterator itTemp = --it;
  24.                           PosNom++;
  25.                        }
  26.                        j=0;
  27.                  system("pause");
  28.                  }


miren la imagen.

16  Programación / Programación C/C++ / Re: Necesito ayuda en este codigo please en: 12 Marzo 2015, 16:58 pm
Gracias y mil gracias por tan buena explicacion efeiron. les puse unas condiciones mas al codigo y ya hace lo que quiero Thanks.

mira las modificaciones

Código
  1. void deletNomEst(){
  2.                  system("cls");
  3.                  cout<<"\n\n\t   <<<<<<<<<<<<<<<<<<<<<MENU BORRAR>>>>>>>>>>>>>>>>>>>>>>>\n\n\n";
  4.                  string borrar;
  5.                  int cont = -1;
  6.                  cout<<"Digite el nombre que desea borrar: ";
  7.                  cin.ignore(256,'\n');
  8.                  cin >> borrar;
  9.                  for(it = NomEst.begin(); it != NomEst.end(); ++it){
  10.                     if((*it) == borrar){      
  11. NomEst.erase(it);
  12. vector<string>::iterator itTemp = --it;
  13.                        cont++;  
  14.                        cout<<"\nEl nombre fue borrado con Exito\n\n";    
  15.                           }
  16.                          } if (cont == -1){
  17.                       cout << "El nombre a borrar no existe\n\n";
  18.                       }cont = -1;
  19.                  system("pause");
  20.                  }
  21. void seachNomEst(){
  22.                  system("cls");
  23.                  string buscar;
  24.                  int PosNom=-1;
  25.                  cout<<"\n\n\t   <<<<<<<<<<<<<<<<<<<<<MENU BUSCAR>>>>>>>>>>>>>>>>>>>>>>>\n\n\n";
  26.                  cout<<"Digite el nombre que desea buscar: ";
  27.                  cin >> buscar;
  28.                  cin.ignore(256,'\n');
  29.                  for(it = NomEst.begin(); it != NomEst.end(); it++){
  30.                         if((*it) == buscar ){
  31.                          PosNom++;
  32.                          cout<<"\nEl nombre ["<< *it << "] se encuentra en la lista"<<endl;        
  33.                           }        
  34.                         }if(PosNom == -1){
  35.                          cout<<"El nombre digitado no se encuentra en la lista\n";          
  36.                          }    
  37.                  PosNom ==-1;
  38.                  system("pause");
  39.                  }

17  Programación / Programación C/C++ / Re: Necesito ayuda en este codigo please en: 12 Marzo 2015, 15:20 pm
Efeiron por las ayudas que nos brindas. Estos algoritmos se ha vuelto un reto para mi. Ahora mira lo que pasa. Si inserto 3 Nombres con el metodo insertar. Ej: Jose, Rosa y Maria.

Ahora le agregue un else al metodo borrar, al yo seleccionar la opcion borrar, si borro el de las ultimas posiciones mira como sale:



y lo mismo le agregue al metodo buscar, al buscar una posicion que no sea la posicion 0 mira lo que sale:



Metodo Borrar:
Código
  1. void deletNomEst(){
  2.                  system("cls");
  3.                  cout<<"\n\n\t   <<<<<<<<<<<<<<<<<<<<<MENU BORRAR>>>>>>>>>>>>>>>>>>>>>>>\n\n\n";
  4.                  string borrar;
  5.                  cout<<"Digite el nombre que desea borrar: ";
  6.                  cin.ignore(256,'\n');
  7.                  cin >> borrar;
  8.                  for(it = NomEst.begin(); it != NomEst.end(); ++it){
  9.                     if((*it) == borrar){      
  10.                        vector<string>::iterator itTemp = --it;
  11. NomEst.erase(itTemp);  
  12.                        cout<<"\nNombre borrado con Exito\n\n";    
  13.                              }
  14.                        else
  15.                         cout<<"\nEl nombre digitado no existe\n\n";
  16.                  }
  17.                  system("pause");
  18.                  }

Metodo Buscar:
Código
  1. void seachNomEst(){
  2.                  system("cls");
  3.                  string buscar;
  4.                  cout<<"\n\n\t   <<<<<<<<<<<<<<<<<<<<<MENU BUSCAR>>>>>>>>>>>>>>>>>>>>>>>\n\n\n";
  5.                  cout<<"Digite el nombre que desea buscar: ";
  6.                  cin >> buscar;
  7.                  cin.ignore(256,'\n');
  8.                  for(it = NomEst.begin(); it != NomEst.end(); it++){
  9.                         if((*it) == buscar ){
  10.                          cout<<"\nEl nombre ["<< *it << "] se encuentra en la lista"<<endl;        
  11.                           }
  12.  cout<<"El nombre digitado no se encuentra en la lista\n";        
  13.                         }      
  14.                  system("pause");
  15.                  }

y mas adelante uso la libreria "algorithm", porque quiero hacerlo con los metodos mas complejos tambien usaré el metodo find_if().
18  Programación / Programación C/C++ / Re: Necesito ayuda en este codigo please en: 11 Marzo 2015, 21:08 pm
Gracias por la sugerencia efeiron es de gran ayuda tu aclaracion, pero mira mi error en el codigo. Si iinserto dos nombres al querer buscar uno me salen los dos AYUDA PLEASE.

Código
  1. #include <iostream>
  2. #include <string>          
  3. #include <vector>
  4. #include <algorithm>
  5.  
  6. using std::vector;
  7. using std::cout;
  8. using std::cin;
  9. using std::string;
  10. using std::endl;
  11.  
  12. class cEstudiante{
  13.        private:
  14.             vector<string> NomEst;    
  15.        public:
  16.             void setNomEst(const vector<string>& pNomEst){NomEst = pNomEst;}
  17.             vector<string> getNomEst(){return NomEst;}  
  18.             vector<string>::iterator it;
  19.  
  20.             void addNomEst(){
  21.                  system("cls");
  22.                  cout<<"\n\n\t   <<<<<<<<<<<<<<<<<<<<MENU INSERTAR>>>>>>>>>>>>>>>>>>>>>>>\n\n\n";
  23.                  string nombre;
  24.                  cout<<"Digite el nombre que desea agregar: ";
  25.                  fflush(stdin);
  26.                  cin >> nombre;
  27.                  NomEst.push_back(nombre);
  28.                  system("pause");
  29.                  }
  30.  
  31.             void deletNomEst(){
  32.                  system("cls");
  33.                  cout<<"\n\n\t   <<<<<<<<<<<<<<<<<<<<<MENU BORRAR>>>>>>>>>>>>>>>>>>>>>>>\n\n\n";
  34.                  string borrar;
  35.                  cout<<"Digite el nombre que desea borrar: ";
  36.                  fflush(stdin);
  37.                  cin >> borrar;
  38.                  for(it = NomEst.begin(); it != NomEst.end(); ++it){
  39.                     if((*it) == borrar){      
  40.                        NomEst.erase(it);
  41.                        --it;  
  42.                        cout<<"\nNombre borrado con Exito\n\n";    
  43.                              }
  44.                  }
  45.                  system("pause");
  46.                  }
  47.  
  48.             void showNomEst(){
  49.                  system("cls");
  50.                  cout<<"\n\n\t   <<<<<<<<<<<<<<<<<<<<<MENU LISTAR>>>>>>>>>>>>>>>>>>>>>>>\n\n\n";
  51.                  cout<<"\n\n\t\tLos nombres digitados son: "<<endl<<endl;
  52.                  for(it = NomEst.begin(); it != NomEst.end(); ++it){
  53.                         cout << *it << endl;
  54.                         }
  55.                  cout << endl;
  56.                  system("pause");
  57.                  }
  58.  
  59.             void seachNomEst(){
  60.                  system("cls");
  61.                  string buscar;
  62.                  cout<<"\n\n\t   <<<<<<<<<<<<<<<<<<<<<MENU BUSCAR>>>>>>>>>>>>>>>>>>>>>>>\n\n\n";
  63.                  cout<<"Digite el nombre que desea buscar: ";
  64.                  fflush(stdin);
  65.                  cin >> buscar;
  66.                  for(it = NomEst.begin(); it != NomEst.end(); it++){
  67.                         if((*it) == buscar ){
  68.                          cout<<"\nEl nombre ["<< *it << "] se encuentra en la lista"<<endl;        
  69.                           }      
  70.                         }      
  71.                  system("pause");
  72.                  }
  73.  
  74.      };
  75.  
  76. main(){
  77.             cEstudiante ObjEst;
  78.  
  79.             int OpcMen, sigue = 1; //Variables para controlar el menu
  80.             do {
  81.             system("cls");
  82.     system ("color F0");
  83.             cout << "\n\n\t\t<<<<<<<<<<<<<<<<<<<<<<<<MENU>>>>>>>>>>>>>>>>>>>>>>>>>>\n" << endl;
  84.             cout << "\n\n 1  ---> INSERTAR NOMBRE" << endl;
  85.             cout << " 2  ---> BORRAR NOMBRE" << endl;
  86.             cout << " 3  ---> MOSTRAR NOMBRE" << endl;
  87.             cout << " 4  ---> BUSCAR NOMBRE" << endl;
  88.             cout << " 0  ---> SALIR" << endl << endl;
  89.             cout<<"\n\t ---> INGRESE SU OPCION: ";
  90.     while(!(std::cin>>OpcMen))
  91.             {
  92.      std::cin.clear();
  93.      std::string error;
  94.      std::cin>>error;
  95.      system("cls");
  96.              cout<<"\n\tLA OPCION INGRESADA NO EXISTE\n";
  97.      cout<<"\n\tIngrese su opci\242n nuevamente: ";
  98.              }
  99.         switch(OpcMen) {
  100.     case 1:
  101.                     ObjEst.addNomEst();                        
  102.                 break;
  103.  
  104.     case 2:
  105.                       ObjEst.deletNomEst();                      
  106. break;
  107.  
  108.     case 3:
  109.                       ObjEst.showNomEst();
  110. break;
  111.  
  112.                 case 4:
  113.                      ObjEst.seachNomEst();
  114. break;
  115.                 case 0:
  116.  sigue = 0;
  117. break;
  118.                 default:
  119.                            cout<<"\t\tLA OPCION INGRESADA NO EXISTE\n";
  120.                        system("cls");
  121. }
  122. } while(sigue);      
  123. }

Entonces si inserto dos nombres y le doy a buscar o borrar uno de ellos me cosas que no deberia.
19  Programación / Programación C/C++ / Necesito ayuda en este codigo please en: 11 Marzo 2015, 03:54 am
me da este error al ejecutar el programa:
29 C:\Users\JuanaG\Programacion\Estructura de Datos\OtroVectorEstructurado.cpp invalid use of void expression

Código
  1. class cEstudiante{
  2.        private:
  3.             string NomEst;    
  4.        public:
  5.             void setNomEst(string pNomEst){NomEst = pNomEst;}
  6.             string getNomEst(){return NomEst;}  
  7.             vector<string> vEstudiante;
  8.             vector<string>::iterator it;
  9.             void addNomEst(){
  10.                  string nombre;
  11.                  cout<<"Digite el nombre que desea agregar: ";
  12.                  cin >> nombre;
  13.                  for(it = vEstudiante.begin(); it != vEstudiante.end(); it++){
  14.                    vEstudiante.push_back(setNomEst(nombre));
  15.                  }
  16.                  system("pause");
  17.                  }
  18.  
  19.             void showNomEst(){
  20.                  cout<<"Los nombres digitados son: "<<endl;
  21.                  for(it = vEstudiante.begin(); it != vEstudiante.end(); ++it){
  22.                         cout << *it;
  23.                         }
  24.                  cout << endl;
  25.                  system("pause");
  26.                  }
  27.  
  28.      };

ya solucione mi error, tarde pero lo solucione... para cualquier duda:

Código
  1. class cEstudiante{
  2.        private:
  3.             vector<string> NomEst;    
  4.        public:
  5.             //cEstudiante(string nombre): NomEst(nombre){}
  6.             void setNomEst(vector<string> pNomEst){NomEst = pNomEst;}
  7.             vector<string> getNomEst(){return NomEst;}  
  8.             vector<string>::iterator it;
  9.  
  10.             void addNomEst(){
  11.                  system("cls");
  12.                  cout<<"\n\n\t   <<<<<<<<<<<<<<<<<<<<MENU INSERTAR>>>>>>>>>>>>>>>>>>>>>>>\n\n\n";
  13.                  string nombre;
  14.                  cout<<"Digite el nombre que desea agregar: ";
  15.                  fflush(stdin);
  16.                  cin >> nombre;
  17.                  NomEst.push_back(nombre);
  18.                  system("pause");
  19.                  }
  20.  
  21. void showNomEst(){
  22.                  system("cls");
  23.                  cout<<"\n\n\t   <<<<<<<<<<<<<<<<<<<<<MENU LISTAR>>>>>>>>>>>>>>>>>>>>>>>\n\n\n";
  24.                  cout<<"\n\n\t\tLos nombres digitados son: "<<endl<<endl;
  25.                  for(it = NomEst.begin(); it != NomEst.end(); ++it){
  26.                         cout << *it << endl;
  27.                         }
  28.                  cout << endl;
  29.                  system("pause");
  30.                  }
20  Programación / Programación C/C++ / Re: Alguien que me ayude a hacer este codigo mas eficiente en: 10 Marzo 2015, 03:08 am
Siii y mucho efeiron


Enviado desde mi iPhone utilizando Tapatalk
Páginas: 1 [2] 3 4 5
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines