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ú

Mensajes - Gunhack

#1
Hola compañeros, tengo una gran duda sobre los punteros... ¿Es posible almacenar la direccion de memoria de un puntero * en un puntero *** o uno ** a *** y que estos sean arreglos? De ser posible, ¿Cómo accedo a sus valores?  :P

Así...

Código (cpp) [Seleccionar]
    int* p1; // lo inicializamos con el operador new...
    int** p2; // lo inicializamos con operador new y sus respectivos ciclos...
    int*** p3;
    p3 = p1;
    p3 = p2;
#2
Intenta probar esto y dime si es lo que necesitabas  :P

Código (java) [Seleccionar]
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;

import javax.swing.*;

public class PruebaTeclas {

public static void main(String[] args) {

new WindowPrinc();
}

}

class WindowPrinc extends JFrame {

private JLabel lDireccion, lCouunt;
private int disp;
java.util.List<String> Dir;


public WindowPrinc() {

setTitle("Prueba");
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setBounds(Toolkit.getDefaultToolkit().getScreenSize().width/2 - 100,
Toolkit.getDefaultToolkit().getScreenSize().height/2 - 100,
100, 100);

setLayout(new FlowLayout());

lDireccion = new JLabel("Direccion: N/A");
lCouunt = new JLabel("Disparos: 0");
disp = 0;
Dir = new ArrayList<>();
Dir.add("N/A");

add(lDireccion);
add(lCouunt);

        this.addKeyListener(new KeyAdapter() {

@Override
public void keyPressed(KeyEvent e) {

int c = 0;

if(c == 0 && Dir.size() < 2) {

switch(e.getKeyCode()) {

case KeyEvent.VK_UP:
Dir.add("ARRIBA");
break;
case KeyEvent.VK_DOWN:
Dir.add("ABAJO");
break;
case KeyEvent.VK_LEFT:
Dir.add("IZQUIERDA");
break;
case KeyEvent.VK_RIGHT:
Dir.add("DERECHA");
break;
}
c++;
}

if(e.getKeyCode() == KeyEvent.VK_SPACE) {
disp++;
lCouunt.setText("Disparos: " + disp);
}

lDireccion.setText("Direccion: " + Dir.get(Dir.size()-1));
}

@Override
public void keyReleased(KeyEvent e) {

switch(e.getKeyCode()) {

case KeyEvent.VK_UP:
deleteKey("ARRIBA");
break;
case KeyEvent.VK_DOWN:
deleteKey("ABAJO");
break;
case KeyEvent.VK_LEFT:
deleteKey("IZQUIERDA");
break;
case KeyEvent.VK_RIGHT:
deleteKey("DERECHA");
break;
}

lDireccion.setText("Direccion: " + Dir.get(Dir.size()-1));
}

void deleteKey(String dir) {

for(int i = 0; i < Dir.size(); i++) {

if(dir == Dir.get(i)){

Dir.remove(i);
}
}

if(Dir.size() == 0) {

Dir.add("N/A");
}
}
});

setVisible(true);
}
}

#3
Para eso hay dos eventos, keyPressed y keyReleased.

Con un array añades la tecla pulsada al mismo cada vez que detectas un keyPressed, y si detectas keyReleased lo quitas del array.  :P
#4
Hola que tal, programando me surgió la duda  :huh: de si es posible copiar el texto que ya está impreso en la consola, o si hay alguna manera de seleccionarlo u obtenerlo mediante código, no sé si me explico xD ya encontré como almacenarlo en el clipboard pero me falta poder almacenarlo en una variable y más aun poder seleccionarlo  :xD  Gracias!  :P

#5
Código (csharp) [Seleccionar]
private void btn1_Click(object sender, EventArgs e)
        {
            PB f = new PB(); // Form creado Todo Bien.
            CalC n = new CalC(); // Form agregado de otro programa
            n.Show(); //Esto es lo que quieres?  :P
 
        }
#6
Programación C/C++ / Re: feof y fscanf
21 Mayo 2016, 03:56 AM
Creo que sería así :) Prueba y me dices... :rolleyes:

Código (cpp) [Seleccionar]
while (!feof(archivo)){ //"Mientras sea diferente" del feof
fscanf(archivo,"%d",&(arreglo[i]));
i++;
}
#7
Java / Re: Ayuda con programa
4 Mayo 2016, 04:18 AM
Cita de: qwery.azc en  2 Mayo 2016, 17:46 PM
pero si quitas los espacios entonces lo que quedara sera una palabra enorme

no creo que era esa la solucion

Sin palabras...   :xD Busca qué es un palíndoromo.  :-*
#8
Te dejo el código...

Código (cpp) [Seleccionar]
#include <iostream>

using namespace std;

int main() {

    int x = 11;

    for(int i = 0; i < x; i++) {

        for(int j = 0; j < x; j++) {

            if(j == i || j == (x-1) - i) {

                cout << " ";

            } else {

                cout << "*";
            }
        }
        cout << endl;
    }
}


La posición de los espacios en blanco para formar la "X" tienden a aumentar y disminuir... osea primero se dibuja una "\" que en este caso va de 0 a 10, y una "/" que va de 10 a 0, colocando las posiciones en un plano quedaría:

(0, 0), (0,10)
(1, 1), (1, 9)
(2, 2), (2,8)
.
.
.
(10, 10), (10,0)
Una aumenta, otra disminuye... eso se cumple en la condición:

Código (cpp) [Seleccionar]

if(j == i || j == (x-1) - i) {

    cout << " ";

} else {

    cout << "*";
}


Haz una pueba de escritorio con las variables y verás que se cumplen perfectamente las condiciones  ;D
#9
Java / Re: Ayuda con programa
2 Mayo 2016, 03:56 AM
Solo es cuestión de quitar espacios...  :P
Código (java) [Seleccionar]
import java.util.Scanner;

public class Palindromos {

public static void main(String[] args) {

String Frase;
Scanner input = new Scanner(System.in);
boolean Palindromo = true;

System.out.println("Ingresa una palabra o frase: ");
Frase = input.nextLine();

Frase = Frase.replace(" ", "") .toLowerCase();

for(int i = 0; i < Frase.length(); i++) {

if(Frase.charAt(i) != Frase.charAt((Frase.length() - 1) - i)) {

Palindromo = false;
System.out.println("No es palíndomo");
break;
}
}

if(Palindromo) {
System.out.println("Es palíndromo");
}
}
}
#10
Cita de: class_OpenGL en 29 Abril 2016, 23:26 PM
Eso no es un poco romperse la cabeza cuando hay soluciones más simples?? XDD
No digo que esté mal, pero dudo que eso lo acepte un profesor que está enseñando a un alumno en su primer trimestre XDD

Algo para primer trimestre sería así... :)

Código (cpp) [Seleccionar]
#include <iostream>

int main() {

    int n = 8;

    for(int i = 0; i < n; i++) {

        for(int j = 0; j < n; j++) {

            cout << "* ";
        }
        cout << endl;

        if(i%2 != 0) cout << " ";
    }
}