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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Ordenar un arreglo de dos dimensiones aplicando el ordenamiento burbuja en: 25 Octubre 2015, 03:31 am
Buenas gente aquí les dejo un código de una de las muchas formas de cómo aplicar el ordenamiento burbuja a un arreglo de dos dimensiones.

Código
  1.    #include <iostream>
  2.    #include <cstdlib>
  3.    #include <ctime>
  4.  
  5.    using namespace std;
  6.  
  7.    void rellenarArreglos(int a[10][10]);
  8.    void desplegarArreglo(int a[10][10]);
  9.    void ordenarArreglo(int a[10][10]);
  10.  
  11.    int main(){
  12.  
  13.        int arreglo1[10][10];
  14.  
  15.        cout << "Arreglo1\n\n";
  16.        rellenarArreglos(arreglo1);
  17.        ordenarArreglo(arreglo1);
  18.        desplegarArreglo(arreglo1);
  19.  
  20.  
  21.        system("pause");
  22.        return 0;
  23.    }
  24.  
  25.    void rellenarArreglos(int a[10][10]){
  26.  
  27.        srand(time(0));
  28.  
  29.        for(int i = 0; i < 10; i++){
  30.            for(int j = 0; j < 10; j++)
  31.                a[i][j] = (1 + rand() % 1000);
  32.        }
  33.  
  34.    }
  35.  
  36.    void desplegarArreglo(int a[10][10]){
  37.  
  38.        for(int c = 0; c < 10; c++){
  39.            for(int b = 0; b < 10; b++)
  40.                cout << c[a][b] << "\t";
  41.                cout << endl;
  42.        }
  43.  
  44.    }
  45.  
  46.    void ordenarArreglo(int a[10][10]){
  47.  
  48.        int k = 0;
  49.        int arreglo[100];
  50.  
  51.        //Convertir el arreglo de dos dimensiones en uno de una sola dimension.
  52.        for(int fila = 0; fila < 10; fila++){
  53.            for(int col = 0; col < 10; col++){
  54.                arreglo[k] = a[fila][col];
  55.                k++;
  56.            }
  57.        }
  58.  
  59.  
  60.        //Aplicación del Ordenamiento Burbuja.
  61.        for(int f = 1; f < 100; f++){
  62.            for(int c = 0; c < 100; c++){
  63.                if(arreglo[c] > arreglo[c+1]){
  64.                    int temp = arreglo[c];
  65.                    arreglo[c] = arreglo[c+1];
  66.                    arreglo[c+1] = temp;
  67.  
  68.                }
  69.            }
  70.        }
  71.  
  72.        k = 0;
  73.  
  74.        //Convertir el arreglo de una dimensión en una de dos dimensiones
  75.        //como anteriormente estaba.
  76.        for(int f = 0; f < 10; f++){
  77.            for(int c = 0; c < 10; c++){
  78.                a[f][c] = arreglo[k];
  79.                k++;
  80.            }
  81.        }
  82.  
  83.    }
  84.  
2  Programación / Programación C/C++ / Cómo ordenar un arreglo bidimensional aplicando ordenamiento burbuja? en: 14 Febrero 2015, 17:26 pm
Buenas gente, les escribo para saber si me pueden dar una mano, en cómo ordenar un arreglo de 15x15 que contiene números aleatorios del 1 al 999 aplicando el ordenamiento burbuja. He estado quebrandome la cabeza pero no he tenido éxito. Aquí les dejo el código.

Gracias de antemano.

Código
  1. const int Fil = 15;
  2. const int Col = 15;
  3.  
  4. srand(time(NULL));
  5.  
  6.        cout << setw(50) << "Matriz con numeros del 1 al 999\n\n";
  7.  
  8.        for(int fila = 0; fila < Fil; fila++){
  9.            for(int columna = 0; columna < Col; columna++)
  10.                matriz[fila][columna] = 1 + rand()% 999;
  11.        }
  12.  
  13.        for(int f = 0; f < Fil; f++){
  14.            for(int c = 0; c < Col; c++)
  15.                cout << matriz[f][c] << " ";
  16.  
  17.                cout << endl;
  18.        }
  19.  
  20.        cout << "Matriz Ordenada\n\n";
  21.  
  22.        int temp;
  23.  
  24.        for(int fila = 0; fila < Fil-1; fila ++){
  25.            for(int columna = 0; columna < Col-1; columna++){
  26.                for(int FilaAux = 0; FilaAux < Fil; FilaAux++){
  27.                    for(int ColumnaAux = 0; ColumnaAux < Col; ColumnaAux++){
  28.                            if(matriz[fila][columna] > matriz[FilaAux+1][ColumnaAux+1]){
  29.                                temp = matriz[FilaAux][ColumnaAux];
  30.                                matriz[fila][columna] = matriz[FilaAux+1][ColumnaAux+1];
  31.                                matriz[FilaAux+1][ColumnaAux+1] = temp;
  32.                            }
3  Programación / Programación C/C++ / Juego Buscar objetos escondidos en: 9 Febrero 2015, 01:44 am
Buenas gente, aquí les comporto el código de un juego, trate de publicarlo en el foro pero debido a que el código es demasiado grande las etiquetas de C++ no funcionan. Aquí está el enlace para que puedan acceder tanto al código fuente como a su ejecutable. https://mega.co.nz/#F!Pxk10KyY!LpkWTsS0mWd7K7huGbopjw

El código era parte de un proyecto del curso de C++, aclaro que no fui el desarrollador de dicho código fue un colega mío.

El juego se trata de encontrar objetos, el usuario tiene 50 intentos para poder encontrarlos todos. Donde C = candelabro, R = reloj, E = espejo, A = anteojos, N = nave
4  Programación / Programación C/C++ / Cómo agregar varios arreglos en un arreglo de dos dimensiones en: 5 Febrero 2015, 20:35 pm
Buenas gente, soy nuevo en esto de la programación en C++. Les escribo para saber si me pueden ayudar con esta duda, he estado tratando por todos lados pero no lo consigo. Les doy las gracias de antemano

Mi duda es la siguiente cómo puedo hacer para agregar varios arreglos de tipo char a un arreglo char de 10x10. Mi idea es hacer que estos arreglos se agreguen al arreglo 10x10 para luego hacer que el contenido de los mismos aparezcan en posiciones aleatorias tanto en vertical como en horizontal.

Aquí les dejo mi código y les pido disculpas de antemano porque está malísimo lo que hice pero es lo que humildemente pude hacer hasta ahora

Código
  1. #include <iostream>
  2. #include <ctime>
  3. #include <cstdlib>
  4. #include <string>
  5.  
  6. using namespace std;
  7.  
  8. int main(){
  9.  
  10.    char matriz[10][10];
  11.  
  12.    char A1[][] = "AAAA";
  13.    char C1[][] = "CC";
  14.  
  15.    for(int fila = 0; fila < 10; fila++){
  16.        for(int columna = 0; columna < 10; columna++)
  17.            matriz[fila][columna] = C1[];
  18.    }
  19.  
  20.    for(int f = 0; f < 10; f++){
  21.        for(int c = 0; c < 10; c++)
  22.            cout << matriz[f][c];
  23.  
  24.        cout << endl;
  25.    }
  26.  
  27.    for(int i = 0; i < 10; i++){
  28.        for(int j = 0; j < 10; j++)
  29.            matriz[i][j] = A1[];
  30.    }
  31.  
  32.    for(int x = 0; x < 10; x++){
  33.        for(int y = 0; y < 10; y++)
  34.            cout << matriz[x][y];
  35.    }
  36.  
  37.    return 0;
  38. }
  39.  
5  Programación / Programación C/C++ / Programa que genera números aleatorios sin repetir en C++ en: 21 Enero 2015, 01:27 am
Buenas gente aquí les dejo un programa que hice traveseando un poco el código para generar números aleatorios sin que se repitan. Si tienen sugerencias de cómo hacerlo más eficiente por favor no duden en comentar, soy nuevo en esto de la programación y cualquier sugerencia será bienvenida.


Código
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <ctime>
  4.  
  5. using namespace std;
  6.  
  7. int main(){
  8.  
  9.    int arreglo[10];
  10.    int aux = 0;
  11.  
  12.    srand(time(0));
  13.  
  14.    for(int i = 0; i < 10; i++){
  15.        aux = (1 + rand() % 15);
  16.  
  17.        int aux2 = 0;
  18.  
  19.        while(aux2 < i){
  20.  
  21.            if(aux != arreglo[aux2])
  22.                aux2++;
  23.  
  24.            else{
  25.                    aux = (1 + rand() % 15);
  26.                    aux2 = 0;
  27.  
  28.                }
  29.        }
  30.  
  31.        arreglo[i] = aux;
  32.  
  33.        cout << arreglo[i] << "\n";
  34.    }
  35.  
  36.    return 0;
  37. }
  38.  
6  Programación / Programación C/C++ / Código fuente para sumar números enteros aleatorios en: 1 Abril 2012, 19:47 pm
Damas y caballeros, este es mi primer aporte. Se trata de un programa que me habían dejado en la universidad como tarea. El enunciado de la tarea dice así: Realice un programa que llene dos arreglos unidimensionales de 10 elementos con valores aleatorios enteros de 1 a 15. En cada arreglo no puede existir el mismo número repetido, pero si puede existir en el otro arreglo. Cuando termina de llenar los arreglos debe mostrar su contenido uno a la par del otro, como se muestra a continuación:

Posicion        Arreglo 1            Arreglo 2
     1                 10                     8
     2                 15                     7
     3                  1                      6
     4                  6                      4
     5                 12                     9
     6                  9                    11
     ....

Luego deberá sumar los resultados en un tercer arreglo tomando el primer elemento del arreglo 1 y sumarlo con el último elemento del arreglo 2, valore que irá en la posición 1 del arreglo 3.
Al finalizar la suma de los elementos debe mostrar el resultado del tercer vector como se muestra a continuación:

Posicion      Arreglo 3
      1                     21
      2                     24
      3                      5
      4                     12
      5                     19
      6                     17

A cada les dejo el código fuente del programa. Me gustaría que opinen, den sugerencias. Yo apenas estoy empezando en el mundo de la programación. Así que todas sus sugerencias serán bienvenidas


//Suma de arreglos.

#include <iostream>

using std::cout;
using std::endl;

#include <iomanip>

using std::setw;

#include <cstdlib>

#include <ctime>

// la función main comienza la ejecución del programa

int main()
{
    // se declara los arreglos

    int x[ 11 ] ;
    int y[ 11 ] ;
    int z[ 11 ] ;

    // se declara las variables

    int a1 = 0;
    int a2 = 0;

   srand( time( 0 ) ); // semilla generadora de números aleatorios

   cout << "Posicion" << setw( 17 ) << "Arreglo 1"
    << setw( 17 ) << "Arreglo 2" << "\n" << endl;

    for ( int i = 1; i < 11; i++ )
    {
        a1 = (1 + rand() % 15);

        a2 = (1 + rand() % 15);

    int h = 0;
    int p = 0;

    // se declara estructuras de control para evitar que los números aleatorios se repitan

    while (h < i)
        {
              if (a1 != x[h])
              {
                  h++;
              }
              else
              {
                  a1 =(1 + rand() % 15);
                  h = 0;
              }
        }

        while (p < i)
        {
              if (a2 != y[p])
              {
                  p++;
              }
              else
              {
                  a2 =(1 + rand() % 15);
                  p = 0;
              }
        }

        //los arreglos se les asigna las varables

        x = a1;
        y = a2;


      cout << setw ( 9 ) << i
           << setw ( 16 ) << x[ i ]
           << setw ( 18 ) << y[ i ] << endl;



    }

 cout << "\n La suma de los Arreglos es:\n ";

       int haciaAdelante = 1;
       int haciaAtras = 11;

    // se declara una estructura de control para hacer la suma de los arreglos de forma diagonal

    for (haciaAdelante = 0; haciaAdelante < 11; haciaAdelante++)
    {
        z [haciaAdelante] = x[haciaAdelante] + y[haciaAtras];
        haciaAtras--;
    }

 cout << "\nPosicion" << setw( 17 ) << "Arreglo 3" << "\n" << endl;

 for ( int n = 1; n <= 10; n++ )
      cout << setw ( 9 ) << n  << setw ( 16 ) << z[ n ] << endl;

    system("PAUSE");
    return 0;

} //fin de la función main
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines