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 - SKaY9

#1
Windows / Re: Problema Windows 7 , aumento de la CPU
26 Septiembre 2013, 16:08 PM
AUTOSOLUCIONADO:

Indagando aun más por internet y buscando en foros en ingles llegue a la conclusión de que se debía unicamente a un programa concreto, por lo que,después de meterme en "modo seguro" y comprobar todos los programas que tenia ejecutado (ya que en modo seguro no me parecia este problema), hice una captura e intente dejarlo igual en "Iniciar Windows Normalmente" y lo deje todo igual, excepto el antivirus (que en este caso el que tengo es el AVG) que no me dejaba finalizarlo y al ver que todo seguia igual, finalizando todos los procesos excepto el AVG decidi desistalarlo y al desistalarlo todo ya se soluciono.
#2
Windows / Problema Windows 7 , aumento de la CPU
25 Septiembre 2013, 15:04 PM
Buenas, tengo el siguiente problema, y es que al abrir administrador de tareas para ver el proceso inactivo del sistema, me sale que un 13% de la CPU esta siendo consumida constantemente por system, utilice el programa process explorer y vi que el uso desmesurado se debia a esto:

ntoskrnl.exe!KeReleaseInStack Queued SpinLock+0x1e0

Aqui subo una imagen:
https://www.dropbox.com/s/mrvly1lq5mq1ndk/CPU.png?m

Si alguien consigue alguna solucion a este problema se lo agradeceria, ya que me incrementa mucho la temperatura y me paraliza bastante el portatil.

He probado en modo seguro, y el error no se produce, por lo que tiene que ser por un driver o programa, la cosa es que nose cual puede ser y nose como puedo saber cual es.
#3
ASM / Re: ENSABLADOR MIPS
10 Mayo 2013, 14:24 PM
Ya esta solucionado.
#4
ASM / Ensamblador MIPS cadena de caracteres
10 Mayo 2013, 14:23 PM
Buenas, ¿como puedo hacer un procesamiento de cadena de caracteres, en el cual tengo que meter una cantidad maxima de 200 caracteres y tiene que Mostrar por pantalla el número de palabras, Mostrar por pantalla la cadena invertida y Pedir por teclado un carácter y decir cuantas veces se repite en la cadena?

Ejemplo de lo que tiene que hacer:

Introduce una cadena: Hola a todos
Número de palabras: 3
Cadena invertida: sodot a aloh
Introducir un carácter: a
Número de repeticiones: 2

Gracias de antemano.
#5
ASM / ENSABLADOR MIPS
2 Mayo 2013, 19:20 PM
Buenas, tengo que hacer lo siguiente:
implementar en lenguaje ensamblador del MIPS el producto escalar de 2 vectores.

data # Segmento de datos
tvector: .word 6 # Tamaño de los vectores
res: .space 4 # Resultado del producto escalar
vector1: .word 6,7,8,9,4,1 # Vector 1
vector2: .word 2,3,5,4,6,7 # Vector 2
 Después de la ejecución del programa ejemplo, el resultado
debe ser res=140

También se debe de poder modificar el resultador res.

.data # Segmento de datos
res: .space 4 # Resultado del producto escalar
tvector: .word 6 # Tamaño de los vectores
vector1: .word 6,7,8,9,4,1 # Vector 1
vector2: .word 2,3,5,4,6,7 # Vector 2

main:
la $a0,vector1 # $a0 <-- dirección base del array vector1
la $a1,vector2 # $a1 <-- dirección base del array vector2
lw $a2,tvector # $a2 <-- tamaño del array = n
li $a3,140 # $a3 <-- valor que le daremos a res
sw $a3,res # $a3 <-- carga el contenido de la memoria en la dirección especificada de 32 bits en res
jal ip # invoca rutina ip, guarda en $ra la dir. de vuelta
move $a0, $v0 # escribe en consola el resultado (que ip dejó en $v0)
li $v0, 1
syscall

li $v0, 10
syscall

ip: li $v0, # inicializa sum a 0. $v0 guardará el resultado que devuelve la rutina
li $t3, 0 # $t3: índice de los elementos del array (i)
ip1: bge $t3, $a3, res # sale cuando i >= res
lw $t0, 0($a0) # $t0 <-- a0[i]
lw $t1, 0($a1) # $t1 <-- a1[i]
mul $a3, $t0, $t1
add $v0, $v1, $a3 # res <-- res + a0[i] * a1[i]
addi $a0,$a0, 4 #incrementa los punteros $a0
addi $a1,$a1, 4 #incrementa los punteros $a1
addi $t3, $t3, 1 # i++
b ip1 # cierra bucle (salto incond. a ip1)
ipx: jr $ra # retorna al invocador






como puedo aumentar la posicion del puntero que apunta a los vectores, esque no se me mueve?
#6
Buenas, estoy intentando hacer unas funciones que haga la colocacion de una palabra en el tablero. Los movimientos se deben indicar con el formato XY PALABRA, donde la primera coordenada
(X) puede ser tanto una letra como un numero.

Ejemplo:
H8 BASE
8H CACTUS
10F CEREAL
F10 BALANCE

Si ponemos H8 BASE, la palabra BASE comenzara en H8 y se colocara en
vertical sobre el tablero, mientras que con 8H BASE la casilla de origen
sera la misma pero la palabra se colocara en horizontal.
Se supondra que la sintaxis de la instruccion es correcta, es decir, que
el usuario siempre introducira dos palabras separadas por un espacio y
la primera correspondera a una coordenada, pero hay que comprobar
que el numero de la coordenada este entre 1 y 15 y su letra entre la
A y la O. En caso de que esto no se cumpla, o si alguna letra de la
palabra se sale del tablero, se debe emitir el mensaje Error: Orden
incorrecta y volver a mostrar el tablero y el rack.
Si alguna de las letras de la segunda parte (la palabra) estan en
minuscula, se pasara a mayuscula para guardar el movimiento.

Estoy intentando hacer que una funcion que devuelve una coordenada a partir de un string (por ejemplo,H10). La orientacion de la palabra (horizontal o vertical) se devuelve por referencia. En caso de que los valores del string sean incorrectos, la coordenada devuelta debe tener los valores fila=-1 y columna=-1.

Tambien otra funcion que haga que construye y devuelve un movimiento a partir de una orden,por ejemplo, H8 CACTUS. Esta funcion debe separar los campos
por el caracter de espacio y llamar a leerCoordenada con la primera
parte. El resultado de la funcion es un movimiento, con su origen,
orientacion y palabra. Si la orden no se corresponde con un movimiento,
la coordenada origen debe tener los valores fila=-1 y columna=-1.

Lo de fila=-1 y columna=-1 no entiendo mucho a lo que se refiere.

Aqui esta lo que tengo por ahora:

#include <iostream>
#include<string.h>
using namespace std;



const char LETRA[]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O'};
const char NUMERO[]={'1','2','3','4','5','6','7','8','9','10','11','12','13','14','15'};
// Orientacion de la palabra (si es horizontal o vertical)
enum Orientacion {HORIZONTAL, VERTICAL};
const char PALABRA[];
int x,y;
// Caracter para indicar que una casilla no tiene ninguna letra
const char CASILLAVACIA=' ';
typedef char Letra;
// Registros
struct Coordenada
{
int fila;
int columna;
};

struct Movimiento
{
Coordenada origen;
Orientacion orientacion;
string palabra;
};


Coordenada leerCoordenada(string coord, Orientacion &orientacion)
//XY PALABRA
// X PUEDE SER UNA LETRA O UN NUMERO, PERO LE DARE A LOS NUMEROS COMO VALOR '1','2'... HASTA '15'


if (orientacion==HORIZONTAL && orientacion==LETRA[]) //hacia la derecha
{
if(orientacion==LETRA[]) //hay que hacer una cadena que se mueva hacia la derecha
for (int i=0; i<kFILAS; i++){
cout<<Letra<<Numero<<CASILLAVACIA<<PALABRA[];

}

if (orientacion==VERTICAL && orientacion==NUMERO[]) //hacia abajo
{
if(orientacion==LETRA[]) //hay que hacer dos bucles, para que se desplace las letras hacia abajo
for (int i=0; i<kFILAS; i++){
       for (int j=0; j<kCOLUMNAS; j++){
    cout<<Numero<<Letra<<CASILLAVACIA<<PALABRA[];
}




#7
Programación C/C++ / SUPERINDICE
24 Febrero 2013, 13:46 PM
Buenas, tengo que hacer el superindice de las letras del abecedario, y tengo mas o menos esto:
#include <iostream>
#include <string.h>
using namespace std;
main(){


//A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z
// Array para imprimir un superindice por el terminal. Ejemplo para imprimir el numero 1: cout << SUPERINDEX[1];
const string SUPERINDEX[]={"\u2070","\u00B9","\u00B2","\u00B3","\u2074","\u2075","\u2076","\u2077","\u2078","\u2079"};

//En PUNTUACIONLETRAS[], te indica en orden el valor de cada letra. Y cada uno de esos valores corresponde a un
//superindice que viene dado por SUPERINDEX[]. Si el valor de por ejemplo V es 4, su superinidice seria el cuarto
//elemento de SUPERINDEX \u00B3


char Letra;
cout<<"Introduce letra"<<endl;
cin>>Letra;

  switch (Letra) {
                case 'A':
                case 'E':
                case 'I':
                case 'L':
                case 'N':
                case 'O':
                case 'R':
                case 'S':
                case 'T':
                case 'U':

cout<<Letra<<SUPERINDEX[0];
break;

                case 'D':
                case 'G':

cout<<Letra<<SUPERINDEX[1];
break;

                case 'B':
                case 'C':
                case 'M':
                case 'P':

cout<<Letra<<SUPERINDEX[2];
break;

                case 'F':
                case 'H':
                case 'V':
                case 'W':
                case 'Y':

cout<<Letra<<SUPERINDEX[3];
break;

                case 'K':

cout<<Letra<<SUPERINDEX[4];
break;
                case 'J':
                case 'X':

cout<<Letra<<SUPERINDEX[7];
break;

                case 'Q':
                case 'Z':

cout<<Letra<<SUPERINDEX[9];
break;

           
         
}
       


       
   
}


Lo que quiero que haga es que si por ejemplo pongo la letra A me salga al lado un 1 pero en forma de superindice.
#8
Era que tenia que poner al valor opcion un char y no un int, ya que cuando ponia una letra me salia el bucle infinito, que error más tonto cometi y el tiempo que estuve pensando porque y no lograba averiguarlo, gracias por el aporte.
#9
Buenas, tengo el siguiente codigo y lo que quiero es que me lea el menú y si le doy a la letra q se me finalice  el programa (que no se porque no me va cuando le doy a una letra pero si cuando le pongo un número) y que si por ejemplo le doy a la z o cualquier numero que no sea ni el 1 ni el 2 que me salga "Error: Opcion incorrecta" y vuelva otra vez a pedirme la opción, el problema es que me sale un bucle infinito y no se porque y lo que quiero es que me salga "Error: Opcion incorrecta" y vuelva a pedirme otra vez la opcion hasta que de al 1,2 o q.


#include <iostream>
using namespace std;
main(){

int opcion;
do {

cout<<"1- Nueva partida"<<endl;
cout<<"2- Cargar partida"<<endl;
cout<<"q- Salir"<<endl;
cout<<"Opcion:"<<endl;
cin>>opcion;

  switch (opcion){

case 1:

cout<<"1- Nueva partida"<<endl;

break;

case 2:

cout<<"2-  partida"<<endl;

break;


default:

cout<<"Error: Opcion incorrecta"<<endl;



  }


}while(opcion!=q);
   
}