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


 


  Mostrar Mensajes
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 88
1  Programación / Programación C/C++ / Re: Problema para sacar factorial de un entero en: 31 Julio 2014, 22:05
"Creo" que esto te arregla el desajuste:

Código
  1. void Factorial::establecerFactorial()
  2. {
  3. int numeroMultiplicador = numeroFactorial ;
  4. resultado = 1 ;
  5.  
  6. while (numeroMultiplicador != 0)
  7. {
  8. resultado  *=  numeroMultiplicador ;
  9. --numeroMultiplicador;
  10. }
  11. }

¡¡¡¡ Saluditos! ..... !!!!



2  Programación / Programación C/C++ / Re: string bidemencional en: 31 Julio 2014, 07:24
hola queria saber, como puedo cargarle datos a un strin bidimencional. por ej. si quiero hacer un arreglo de 40 nombres.

char nombre[40][20];

¿como hago para cargar los nombres por teclados? probe con cin.getline() pero no funciona

Por ejemplo:

Código
  1. #include <iostream>
  2.  
  3. int main() {
  4.  char nombre[40][21];
  5.  std::cout << "Introduce los nombres: " << std::endl ;
  6.  for ( int i = 0; i < 3 ; i++ )
  7.    std::cin.getline( nombre [ i ] , 20 ) ;
  8.  for ( int i = 0; i < 3 ; i++ )
  9.    std::cout << nombre [ i ] << std::endl ;
  10.  return 0;
  11. }

¡¡¡¡ Saluditos! ..... !!!!


3  Programación / Programación C/C++ / Re: [Solucionado] Problema en codigo C++, no se ejecuta el else en: 30 Julio 2014, 15:03
Sinceramente estoy haciendo siempre en mis códigos clases por una manera de recordar las cosas, osea, en el capitulo donde estoy se separa la interfaz de la implementación y se hacen clases, es por esta razon que lo hago... con respecto a usar for no lo hago porque eso sigue en el capitulo que viene, muchas gracias por los consejos a todos saludos  ;D

"Raro, raro". Está bien lo de ir practicando Clases pero no haber visto previamente cosas tan primaria como los for, else y compañía es cuanto menos "rarito". Pero en fin, de todo hay en la viña del Señor.  ;)

No obstante puedes conseguir el mismo objetivo con while tal como te indicó rir3760:

Código
  1. void imprime() {
  2.      int i = 0 , j = 0 , linea = 8;
  3.      while ( i < linea ) {
  4.        j = 0 ;
  5.        while ( j < linea ){
  6.          ( i % 2 != 0 && j == 0 ) ? cout << " *" : cout << '*' ;
  7.          j++ ;
  8.        }
  9.        cout << endl ;
  10.        i++ ;
  11.      }
  12.    }

¡¡¡¡ Saluditos! ..... !!!!


4  Programación / Programación C/C++ / Re: [Solucionado] Problema en codigo C++, no se ejecuta el else en: 26 Julio 2014, 19:11
cierto yo lo probe y funciona bien

Sorry, Blaster no modifique bien. La salida es la correcta.  :-X

¡¡¡¡ Saluditos! ..... !!!!




5  Programación / Programación C/C++ / Re: [Solucionado] Problema en codigo C++, no se ejecuta el else en: 26 Julio 2014, 17:34
Con una pequeña modificación lo dibujaríamos tal como muestra el ejem:
.............................

Salida a tu código:

Código
  1. ********
  2. ********
  3. *********
  4. *********
  5. **********
  6. **********
  7. ***********
  8. ***********
  9. ************
  10. ************
  11. *************
  12. *************
  13. **************
  14. **************
  15. ***************

Y de paso rectifico el mío:

Código
  1. void imprime() {
  2.      for ( int i = 0 ; i < linea ; i++ ){
  3.        for ( int j = 0 ; j < linea ; j++ )
  4.        ( i % 2 != 0 && j == 0 ) ? cout << " *" : cout << '*' ;
  5.      cout << endl ;
  6.    }

Con la salida deseada:

Código
  1. ********
  2. ********
  3. ********
  4. ********
  5. ********
  6. ********
  7. ********
  8. ********

¡¡¡¡ Saluditos! ..... !!!!


6  Programación / Programación C/C++ / Re: [Solucionado] Problema en codigo C++, no se ejecuta el else en: 26 Julio 2014, 06:59
Hola gente, estoy teniendo un problema con un código, el tema es que tengo que dibujar
esto en el programa:

Código:
********
 ********
********
 ********
********
 ********
********
 ********
...................................................
Desde ya agradezco cualquier ayuda   :)

Creo que "desparramas" el código, en buena parte por el uso de los while.

Un poco más "cortito":

Código
  1. public:
  2.    void imprime() {
  3.      for ( int i = 0 ; i < linea ; i++ ){
  4.        for ( int j = 0 ; j < linea ; j++ )
  5.        ( i % 2 != 0 && j == 0 ) ? cout << ' ' : cout << '*' ;
  6.      cout << endl ;
  7.    }
  8.  }

¡¡¡¡ Saluditos! ..... !!!!




7  Programación / Programación C/C++ / Re: Problema en ciclo infinito en: 26 Julio 2014, 05:10
Gracias Blaster, ivancea96 y leosansan  ;-) solucionaron mi problema, aparte había puesto potencia*= potencia, cuando era potencia*=2

Saludos

¡¡¡ De nada ¡¡¡¡ ,  para eso nos "asomamos" por aquí.

¡¡¡¡ Saluditos! ..... !!!!


8  Programación / Programación C/C++ / Re: Problema en ciclo infinito en: 26 Julio 2014, 00:25
Hola gente, tengo que imprimir las potencias del entero 2, para eso uso un ciclo infinito: while (true) y siempre me imprime cero...
....................................................

No siempre te imprime cero, lo que pasa es que sucede tan rápido que ni lo ves. Usa:

Código
  1. int potencia= 1;
  2.    while(1)
  3.    {
  4.         cout << potencia << endl;
  5.         system("pause");//para verlos uno a uno y veras como al final salen ceros
  6.         potencia *= 2;
  7.    }

para ver los resultados poco a poco.

¡¡¡¡ Saluditos! ..... !!!!


9  Programación / Programación C/C++ / Re: Selector de opciones (consola) en: 26 Julio 2014, 00:06
<iostream> ya me incluye el system.
......................................................

No lo dudo pero el error que te comenté en el anterior mensaje es lo que me indica a mí Code::Blocks, no así el Dev-C++.  :o

Como se trata de un aporte, que no hacer una tarea, espero que el moderador de turno no se tome a mal mi siguiente aportación, pequeña y humilde que no soy un experto en estas lides, y no la borre.  ;D

Y es que los seguidores de C nos quedamos si no desvalidos ya que la mayor parte de los portes son en C++.

En esencia es la misma propuesta de ivancea96, por no variar el tema, sólo que al ser en C hago uso de arrays en lugar de Clases. Nos movemos en el menú con las flechas UP y DOWN y se selecciona la opción con la flecha RIGHT. El menú se muestra en color invertido y a cada respuestas le corresponde un color diferente.   ;)

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <windows.h>
  4.  
  5. void contraste ( int abajo ) ;
  6. int gotoxy ( int x , int y ) ;
  7. void Respuesta ( int Abajo ) ;
  8.  
  9. void color ( int n ) ;
  10.  
  11. const char *pregunta_respuesta [] = {
  12.  "1. Un Dios." ,       "*** Piensas a lo Grande ***" ,
  13.  "2. Un gobernador." , "*** Deseas Poder ***" ,
  14.  "3. Un pensador." ,   "*** Eres Sabio ***" ,
  15.  "4. Un trabajador." , "*** Menudo Currante estas hecho ***" ,
  16.  "5. Un esclavo." ,    "*** Eres Servil ***"
  17.  };
  18.  
  19. const int Color[] = { 30 , 62 , 181 , 45 , 123 } ;
  20.  
  21. int main (){
  22.  int i , abajo = 0 ;
  23.  puts ( "Que querrias ser en otra vida?" ) ;
  24.  for ( i = 0 ; i < 9 ; i += 2){
  25.    puts ( pregunta_respuesta [i] );
  26.  }
  27.  gotoxy (0,1);
  28.  while (1)    {
  29.    contraste ( abajo ) ;
  30.    if ( abajo > 4 ){
  31.      gotoxy (0,1) ;
  32.      abajo = 0 ;
  33.    }
  34.    else if ( abajo < 0 ){
  35.      gotoxy (0,5);
  36.      abajo = 4 ;
  37.    }
  38.    else if (GetAsyncKeyState(VK_ESCAPE))
  39.      {gotoxy (0,5);system("pause"); return 1;}
  40.  
  41.    else if (GetAsyncKeyState(VK_DOWN)){
  42.      contraste ( abajo );
  43.      gotoxy (0,abajo+1);
  44.      abajo++;
  45.      Sleep(100);
  46.    }
  47.    else if (GetAsyncKeyState(VK_UP)){
  48.      contraste ( abajo );
  49.      gotoxy (0,abajo-1);
  50.      contraste ( abajo);
  51.      abajo--;
  52.      Sleep(100);
  53.    }
  54.    else  if (GetAsyncKeyState(VK_RIGHT)){
  55.      Respuesta ( abajo ) ;
  56.      break ;
  57.    }
  58.  }
  59.  system ("pause");
  60.  return 0;
  61. }
  62.  
  63. int gotoxy(int x, int y){
  64.  COORD coord;
  65.  HANDLE h_stdout;
  66.  coord.X = x;
  67.  coord.Y = y;
  68.  if ((h_stdout = GetStdHandle(STD_OUTPUT_HANDLE)) == INVALID_HANDLE_VALUE)
  69.    return 0;
  70.  if (SetConsoleCursorPosition(h_stdout, coord) == 0)
  71.    return 0;
  72.  return 1;
  73. }
  74.  
  75. void color (int n){
  76.        SetConsoleTextAttribute(GetStdHandle (STD_OUTPUT_HANDLE), n );
  77. }
  78.  
  79. void contraste (int abajo){
  80.  int i ;
  81.  color (7) ;
  82.  gotoxy (0,0);
  83.  puts ("Que querrias ser en otra vida?");
  84.  for ( i = 0 ; i < 9 ; i+= 2){
  85.    color ( abajo == i / 2 ? 112 : 7 ) ;
  86.    puts ( pregunta_respuesta [i] );
  87.  }
  88.  color ( 7 ) ;
  89.  gotoxy (0,abajo-1);
  90.  Sleep(100);
  91. }
  92.  
  93. void Respuesta ( int Abajo ){
  94.  system ( "cls" ) ;
  95.  gotoxy (0,0) ;
  96.  color ( Color[Abajo] ) ;
  97.  puts ( pregunta_respuesta [2 * Abajo + 1] ) ;
  98.  color ( 7 ) ;
  99. }

¡¡¡¡ Saluditos! ..... !!!!



10  Programación / Programación C/C++ / Re: Selector de opciones (consola) en: 25 Julio 2014, 21:43
............................................................
Y la cstdlib no la puse porque no la requería xD

En mi caso está de más ya que uso windows.h, pero en tu caso ""creo" que es necesaria para el uso de "system":

Código
  1. error: 'system' was not declared in this scope

Pero es sólo una opinión, no quiero que te molestes por una nimiedad como ésta.  ;) ;)

Lo realmente importante es que es una aportación interesante. Me obligas a meterme de lleno en las "clases" de C++.
 
¡¡¡¡ Saluditos! ..... !!!!


11  Programación / Programación C/C++ / Re: Selector de opciones (consola) en: 25 Julio 2014, 20:59
Hola a todos. Hace mucho que no hago alguna aportación por aquí, y por cutre que sea, voy a poner un selector de opciones, en el que no hay que elegir el número de la opción, sinó hay que mover el marcador con W y S. Bueno, aquí va:
..........................................................................
Utilizo la función system("cls") y getch(). Quién las quiera cambiar por otras, es libre de hacerlo, este código no tiene copyright xD

Usé getch() de conio.h porque es la más rápida y sencilla.

Jeje esto lo hice hace unos 4 años, pero lo hice a lo cutre con 2 solas opciones (y me costó). Ahora, años después, he visto lo terriblemente sencilo que es jaja.

"Una vez más, la experiencia marca la aptitud."

Saludos, espero que a alguien le sea útil :p

;-) ;-) ;-)

Antes que nada un fuerte saludo ivancea96 y gracias por el aporte.

Bueno, ya que no tiene "copyright" espero que no te moleste que lo modifique un poco.

El objetivo es no usar conio.h y su acólita getch, en su defecto sí windows. h  :rolleyes:  y se controla el menú con las teclas de flechas UP y DOWN y por cierto, incluyo la librería cstdlib que se te paso  ;) . También uso una nueva variable "tam" para que no me dé warnings por comparar signed ("i", index"") con unsigned ("_options.size()") y ya de paso enumero las opciones:  :o

Código
  1. #include <iostream>
  2. #include <vector>
  3. #include <cstdlib>
  4. #include <windows.h>
  5. using namespace std;
  6. int gotoxy(int x, int y);
  7.  
  8. class options{
  9.    vector<string> _options;
  10.    string _title;
  11.  
  12.    void coutTitle()const{
  13.        if(_title.size()==0) return;
  14.        vector<string> v;
  15.        string t = _title;
  16.        while(t.size()>80){
  17.            v.push_back(t.substr(0,80));
  18.            t.erase(0,80);
  19.        }
  20.        v.push_back(t);
  21.        while(v.size()>1){
  22.            cout << v[0];
  23.            v.erase(v.begin());
  24.        }
  25.        cout << string((80-v[0].size())/2,' ') << v[0] << endl << endl;
  26.    }
  27.  
  28. public:
  29.    options(){}
  30.    options(string title):_title(title){}
  31.    options(const options& o):_options(o.getOptions()),_title(o.getTitle()){}
  32.    void setTitle(string title){
  33.        _title = title;
  34.    }
  35.    string getTitle()const{
  36.        return _title;
  37.    }
  38.    vector<string> getOptions()const{
  39.        return _options;
  40.    }
  41.    string getOption(size_t i)const{
  42.        if(i<_options.size()) return _options[i];
  43.        return "";
  44.    }
  45.    void addOption(string option){
  46.        _options.push_back(option);
  47.    }
  48.    void addOptions(const vector<string>& v){
  49.        for(size_t i=0; i<v.size(); i++)
  50.            _options.push_back(v[i]);
  51.    }
  52.    void setOptions(const vector<string>& v){
  53.        _options = v;
  54.    }
  55.    int show()const{
  56.        int index = 0;
  57.        while(1){
  58.            gotoxy (0,1);
  59.            Sleep(100);
  60.            //system("cls");
  61.            coutTitle();
  62.            int tam=_options.size();
  63.            char indice ;
  64.            for(int i=0; i<tam; i++){
  65.                indice =  i+'0';
  66.                cout << '[' << (i==index?'X':indice) << "] " << _options[i] << endl;
  67.            }
  68.            if(GetAsyncKeyState(VK_UP) && index>0){
  69.              --index;
  70.            }
  71.            else if(GetAsyncKeyState(VK_UP) && index==0){
  72.              index=_options.size()-1;
  73.            }
  74.            else if(GetAsyncKeyState(VK_DOWN) && index<tam-1){
  75.              ++index;
  76.            }
  77.            else if(GetAsyncKeyState(VK_DOWN) && index==tam-1){
  78.              index=0;
  79.            }
  80.            else if (GetAsyncKeyState(VK_RETURN)){
  81.              cin.get();
  82.              return index;
  83.            }
  84.        }
  85.    }
  86. };
  87.  
  88. int main(){
  89.    options op;
  90.    op.setTitle("Que querrias ser en otra vida?");
  91.    op.addOption("Un Dios.");
  92.    op.addOption("Un gobernador.");
  93.    op.addOption("Un pensador.");
  94.    op.addOption("Un trabajador.");
  95.    op.addOption("Un esclavo.");
  96.    cout << endl << endl << op.show();
  97.  
  98. }
  99.  
  100. int gotoxy(int x, int y){
  101.  COORD coord;
  102.  HANDLE h_stdout;
  103.  coord.X = x;
  104.  coord.Y = y;
  105.  if ((h_stdout = GetStdHandle(STD_OUTPUT_HANDLE)) == INVALID_HANDLE_VALUE)
  106.    return 0;
  107.  if (SetConsoleCursorPosition(h_stdout, coord) == 0)
  108.    return 0;
  109.  return 1;
  110. }

Espero que no te disguste la modificación.  ;) ;) ;)

¡¡¡¡ Saluditos! ..... !!!!


12  Programación / Programación C/C++ / Re: Como calcular cuantos dígitos tiene un entero en: 25 Julio 2014, 00:02
Buenas, estoy codificando un programa y me urge saber cuantos dígitos tiene un
número que es de tipo int
 ...........................

Por ejemplo, como comentó ivancea96:

Código
  1.  int digitos , n = 123456789 ;
  2.  for ( digitos = 0 ; n ; digitos++ , n /= 10 ) ;
  3.  printf ( "%d" , digitos ) ;

¡¡¡¡ Saluditos! ..... !!!!


13  Programación / Programación C/C++ / Re: [Ayuda] Programa en C en: 24 Julio 2014, 18:25
bueno aquí va el mio que hace tiempo no venia................


EI: Codigo borrado, no se hacen tareas.


no es el mejor código, pero funciona bien o eso creo, de todas maneras una cosa más: DEV-C++ APESTA

Creo que te sobra, y a GatitoCai93 también:

Código
  1. cascara = cascara - corazon;

¡¡¡¡ Saluditos! ..... !!!!


14  Programación / Programación C/C++ / Re: [Ayuda] Redondeo en C++ en: 23 Julio 2014, 08:03
Para que no se diga   :rolleyes:  que no hay más opciones  :o  mi propuesta  :silbar: :

Código
  1. n1 = ( n1 % 100 ) < 50 ? 100 * ( n1 / 100 ) : 100 + 100 * ( n1  / 100 ) ;

donde 100 se puede sustituir por n2 supuesta potencia de 10:

Código
  1. n1 = ( n1 % n2 ) < n2 / 2 ? n2 * ( n1 / n2 ) : n2 + n2 * ( n1 / n2 ) ;



¡¡¡¡ Saluditos! ..... !!!!




Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 88
Powered by SMF 1.1.19 | SMF © 2006-2008, Simple Machines