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

#11
Parece un problema interesante, tienes algo hecho ya? Así no partimos de 0 y además creo que la tarea es tuya no nuestra. ;)

Un saludo
#12
La verdad es que no se cómo está comprobando si es o no palíndromo (que si no me equivoco quiere decir que es un vector capicúa no?).
Yo haría algo más simple:

Código (cpp) [Seleccionar]
// PALINDROMO
   bool palindromo=1;
   for(i = 0; i<n/2; i++){
         if(vector[i]==vector[n-1-i]){}else{palindromo=0;}
   }

   if(palindromo==1){
             printf("\n\nEs palindromo");
   }
   else{
        printf("\n\nNo es palindromo");
   }
#13
El programa está bien, cambiando las dos líneas esas por redundancia de declaración y con el algoritmo correcto para calcular la x funciona bien.

Código (cpp) [Seleccionar]
#include <iostream>
#include <cstdlib>
using namespace std;
float SistemaX(float a,float b,float c,float p,float q,float r)
{
      float x;
      x=(b*r-c*q)/(a*q-b*p);
      return x;
      }
float SistemaY (float a,float b,float c,float p,float q,float r)
{
      float y;
      y=(p*c-a*r)/(a*q-b*p);
      return y;
      }
int main()
{
    float x,y,a,b,c,p,q,r;
    cout<<"Un sistema lineal tiene estas dos ecuaciones: ax+by+c=0 y px+qy+r=0\n";
    cout<<"Indique el valor de a,b,c,p,q y r:";
    cin>>a>>b>>c>>p>>q>>r;
    x=SistemaX(a,b,c,p,q,r);
    y=SistemaY(a,b,c,p,q,r);
    cout<<"La x vale:"<<x<<endl;
    cout<<"La y vale:"<<y<<endl;
    system("Pause");
    return 0;
}



Un saludo
#14
Veamos el error que te da es porque estás declarando las variables que ya tienes decaradas como variables que obtienes como parámetros de la función, pues la línea debería quedar:
en SistemaX
Código (cpp) [Seleccionar]
float x;

y en SistemaY
Código (cpp) [Seleccionar]
float y;

Pues son las únicas variables que no has declarado como parámetro de la función.

De todos modos, lo he probado y el cálculo del valor de "x" sale mal, supongo que error del algoritmo.

Un saludo
#15
Tras terminar una ingeniería superior creo que domino bastante con las matemáticas, y la verdad es que son útiles si pretendes hacer programas de cálculo, sea cual sea. Obviamente si te dedicas al malware no te servirá de mucho calcular la inversa de una matriz pero si que es verdad que dominando las matemáticas, para un programa de resolución numérica te va a reducir considerablemente las líneas de código.

Yo programé un "Sudoku Solver" en c++ y gracias al saber crear algoritmos un poco más complejos pude reducir las líneas de código dos terceras partes...

Aunque bueno, a medida que te vayan surgiendo problemas tendrás que aprender más o menos matemáticas  ;)

Un saludo
#16
Scripting / Re: modificar codigo
23 Noviembre 2013, 08:38 AM
Si el comando 'Dir' ya te saca los archivos que quieres copiar bien, sin ningún dato que pueda molestar, con un "for /f" ya podrías recorrer todas las salidas de dicho comando y por lo tanto copiarlas donde quieras. Prueba algo así:

@echo on
Set Pattern=magodeoz
Set Carpetafinal=%cd%

for /f "tokens=*" %%G in ('Dir /B /S "%SYSTEMDRIVE%\*%Pattern%*.doc*"') do (copy %%G %Carpetafinal%)

pause


Obviamente en la variable "Carpetafinal" tendrás que poner la ruta donde quieras que se copien, o de lo contrario eliminar la variable y ponerlo directamente sobre el comando.

PD: No te aseguro que vaya, pues no lo he probado.

Un saludo!
#17
Mmmm pero supongo que querrá que se haga sin preguntar. Imagino. Y no he encontrado esa opción para Xcopy
#18
Qué raro, y así?

for /f "tokens=*" %%G in ('dir /b /s /a:d "C:\prueba\*"') do (xcopy "C:\test" "%%G\test" /I /Y)
#19
Prueba así:

for /f "tokens=*" %%G in ('dir /b /s /a:d "C:\prueba*"') do (xcopy "C:\test" "%%G\" /I /Y)


No se si será  "%%G\" o "%%G"
#20
Prueba a hacer algo del tipo:

for /f "tokens=*" %%G in ('dir /b /s /a:d "C:\prueba*"') do (copy "C:\test.txt" "%%G\test.txt")

No se si funciona correctamente, pues no tengo tiempo para probarlo.

Un saludo