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

#1
Buenas!
Yo suelo utilizar un script tan fácil como un simple comando:

netsh interface ipv4 set address name="Nombre interface Wifi Biblioteca" static x.x.x.10 255.255.255.0
netsh interface ipv4 set address name="Nombre interface Wifi Casa" static y.y.y.10 255.255.255.0

Create un archivo .bat con cada una de las líneas y tendrás un script para cada lugar.

Si utilizas la misma interface para ambas conexiones, supongo que el parámetro "name" será el mismo.


Suerte!!!


PD: No te puedo confirmar 100% que esté perfectamente escrito el comando ya que no lo tengo aquí y ahora mismo estoy trabajando en linux y supongo que te referías para windows.
#2
Supongo que es más una duda con el algoritmo que de programación.

Los elementos de la diagonal (suponiendo que se refiere a la diagonal principal) son los que ambos índices son iguales, es decir: m(1,1), m(2,2), m(3,3), m(4,4), m(5,5). Por lo tanto para calcular el promedio deberías sumar todos los elementos cuyos índices no sean iguales y dividirlos por el total.

En el caso en el que se refiera a ambas diagonales deberías descartar los elementos cuyos índices son: m(i,i) y m(i,6-i).

Por último sería comparar ambos promedios y definir un booleano que describa si son o no iguales.

Un saludo!
#3
Hola Rossmery, la mejor forma de aprender es probando. Aunque pierdas un poco más de tiempo al principio, luego habrás mejorado bastante más que tan solo leyendo lo que otro puede haber programado por ti.

Te echo una mano en cuanto a las funciones que puedes gastar, dejándote así mismo una página muy recomendable para formarte http://ss64.com/nt/syntax.html

En cuanto a obtener los archivos dentro del directorio "archivos" puedes utilizar el comando "Dir":
http://ss64.com/nt/dir.html

Por lo que hace al bucle pueder utilizar el "For /f" que tomará como parámetro los resultados de otra funcion (en tu caso tomará cada archivo que será la salida del comando DIR):
http://ss64.com/nt/for_cmd.html

Espero haberte ayudado.
Un saludo!
#4
Scripting / Re: Trabajo en batch con textos
26 Enero 2014, 14:25 PM
A ver el .exe te genera un archivo de texto con estos datos que has puesto? y, exactamente que es lo que quieres? guardas un número y un nombre en variables del proceso que quieres?

Explicate un poco más y te podré ayudar ;)
#5
Ufff Pela667, te has complicado mucho, mira a ver si de este modo te sirve:

@echo off
setlocal enabledelayedexpansion
attrib -r weather.txt
set num1=Race1
set num2=Race2
for /f "tokens=*" %%A in (weather.txt) do (set resultado=%%A && call :sub)
copy salida.txt weather.txt
del salida.txt
attrib +r weather.txt
goto:eof
:sub
set resultado=!resultado:Qualify1=%num1%!
set resultado=!resultado:Qualify2=%num2%!
echo %resultado%>>salida.txt
goto:eof


dentro de ":sub" puedes poner tantas cosas como quieras cambiar.


Un saludo
#6
Programación C/C++ / Re: AYUDA Función Recursiva
19 Diciembre 2013, 23:51 PM
Efectivamente el algoritmo de Dijkstra serviría, en este caso para buscar el camino más largo posible. Parece muy interesante, voy a echarle un vistazo.  ;)

El único problema que le veo es que no se determina el punto final, por lo que se tendría que aplicar dicho algoritmo a todos los nodos y al final elegir de todos los posibles finales el camino más largo...
#7
Programación C/C++ / Re: Función Recursiva
19 Diciembre 2013, 10:34 AM
También podrías hacer una función que iterara con todas las posibilidades y caminos posibles y eligiera la mejor, pero eso es muy cómodo y puede que el tiempo de cálculo sea elevado
#8
Programación C/C++ / Re: Función Recursiva
19 Diciembre 2013, 10:27 AM
Pfff, esto no va a ser nada fácil... Lo primero que se me ha ocurrido es en hacer como un "radar" de la serpiente para identificar obstáculos en 2 o 3 celdas de radio con el fin de que, mediante la correspondiente función, sea capaz de decidir ella sola el recorrido. Pero creo que sin la previa anticipación puede que se quede atrapada sin posibilidad a rectificar.

Un saludo!
#9
Por el nombre de la función se puede intuir más o menos lo que va a hacer.

Citarif (n == 0)
        printf("0");

Si el número introducido es 0, imprime 0. Pues 0 en binario es 0.

Citarelse if (n == 1)
        printf("1");

Lo mismo con el 1.

Citarelse
        {
           decBin(n / 2);
           printf("%d", n % 2);
        }


Para el resto de números se pasa de decimal a binario mediante una función recursiva que se dedica a dividir el número entre 2 (Procedimiento para pasar de decimal a binario  http://recursostic.educacion.es/secundaria/edad/4esotecnologia/quincena5/4q2_contenidos_2c.htm ).


Y eso es todo.

Un saludo!
#10
Bueno, como me parecía interesante y no tenía mucho que hacer, aquí tienes mi versión:


Código (cpp) [Seleccionar]
#include <iostream>
using namespace std;
int main() {
   int d,c,i,j;
   cout<<"Longitud de la matriz: ";
   cin>>d;
   int matriz[d][d];
   for(int k=0;k<(2*d-1);k++){
           cout<<"Constante de la diagonal "<<k<<": ";
           cin>>c;
           if(k<d){
                   i=0;
                   j=k;
                   if(i==j){
                             matriz[i][j]=c;
                   }else{
                         matriz[i][j]=c;
                         while(i!=k){
                                     i++;
                                     j--;
                                     matriz[i][j]=c;
                         }
                   }
           }else{
                 i=k-(d-1);
                 j=d-1;
                 if(i==j){
                             matriz[i][j]=c;
                 }else{
                       matriz[i][j]=c;
                       while(i!=d-1){
                                   i++;
                                   j--;
                                   matriz[i][j]=c;
                       }
                 }
           }        
   }
   cout<<endl<<endl<<"Matriz inicial"<<endl;
for(int k=0;k<d;k++){
       for(int l=0;l<d;l++){
               
               cout<<matriz[k][l];
       }
       cout<<endl;
}
int f;
while(1){
        cout<<endl<<endl<<"Magnitud de la fuerza a aplicar: ";
        cin>>f;
        for(int k=0;k<(2*d-1);k++){
                if(k<d){
                        c=(f+matriz[0][k])-(f+matriz[0][k])/2;
                        f=(f+matriz[0][k])/2;
                        i=0;
                        j=k;
                        if(i==j){
                             matriz[i][j]=c;
                        }else{
                             matriz[i][j]=c;
                             while(i!=k){
                                     i++;
                                     j--;
                                     matriz[i][j]=c;
                             }
                        }
                       
                }else{
                      c=(f+matriz[k-(d-1)][d-1])-(f+matriz[k-(d-1)][d-1])/2;
                      f=(f+matriz[k-(d-1)][d-1])/2;
                      i=k-(d-1);
                      j=d-1;
                      if(i==j){
                             matriz[i][j]=c;
                      }else{
                            matriz[i][j]=c;
                            while(i!=d-1){
                                   i++;
                                   j--;
                                   matriz[i][j]=c;
                            }
                      }
                 }  
        }
        cout<<endl<<"Matriz resultante"<<endl<<endl;
        for(int k=0;k<d;k++){
                for(int l=0;l<d;l++){
                        cout<<matriz[k][l];
                }
                cout<<endl;
        }
       
}
return 0;
}