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

#381
Cita de: nanto en  5 Marzo 2014, 02:37 AM
Holaaa.... Nunca he dicho lo contrario Gh057, pero creo que era necesario fomentar este punto ( Porque no se debe colocar funciones dentro del programa principal?). Es distinto decir, no se debe a no se puede!
..............................................................

Me ratifico en lo que te indiqué: no se debe. El hecho obvio de que si se puede hacer es que tú lo has hecho, mal pero lo has hecho.

Cuestión de semántica nada más.


¡¡¡¡ Saluditos! ..... !!!!




P.D: ¡¡¡UFFFFF...!!!, como está hoy el personal .....
#382

Has caso a lo que marca el compilador en la parte inferior, los errores y warnings.

* main es de tipo int. Ya sé que lo sabes porque has puesto return 0 al final, pero al principio sería int main.

* Como te comentaron el signo para decimales, a no ser que uses un formato Spanish o similar, es el punto decimal. Con él puedes meter todas las cifras sin problemas, más siendo la variable de tipo double.

* Y hablando de double, en los últimos printf lo que procede es el formato %lf, ya que un tipo como %ld puede provocar salidas erróneas.



¡¡¡¡ Saluditos! ..... !!!!







#383

¡¡¡Tienes definida la función factorial dentro de la función main!!!. Debe estar fuera.

Ya nos dirás lo que sucede después.


¡¡¡¡ Saluditos! ..... !!!!


#384
Programación C/C++ / Re: ayuda
4 Marzo 2014, 21:36 PM
Gracias engel lex por tu punto de vista que considero neutral y totalmente objetivo.

No suelo hacer alarde de mi profesión  ... "a no ser que me los toquen". Siento haberlo hecho. Sorry!  :-X

Y conste que considero que yoel_alejandro me da mil vueltas en este mundillo de la programación, creo, pero otra cosa muy diferente es tratar de intervenir en todos los temas, a veces a costa de no aportar nada nuevo.

Porque el código que aporta es para mí la expresión en código de lo que tu, engelx, expusiste en un post anterior de este hilo, ni más ni menos. Y se trataba de responder sin responder al que inició este hilo sin ninguna aportación, más allá del enunciado de un simple problema de ecuaciones.

Pero por mi parte el máximo respeto a  yoel_alejandro .... pero cuando no se tiene razón, no se tiene y no pasa nada.... aunque siempre se agradece una aclaración más que una disculpa ya que creo que el "tonito" de la respuesta de yoel_alejandro lo merece. Pero en fin ........


¡¡¡¡ Saluditos! ..... !!!!


#385
Programación C/C++ / Re: ayuda
4 Marzo 2014, 18:10 PM
Cita de: yoel_alejandro en  4 Marzo 2014, 17:28 PM

Saludos a todos. Como profesor de matemáticas me permito hacer algunos comentarios. .........................


Y yo como Ingeniero también aporto mis comentarios.

Lamento corregirte querido yoel_alejandro pero mantengo lo que propuse: la indeterminación del sistema es de uno ya que existen DOS ecuaciones y TRES incógnitas con lo que dos de ellas se obtendrán de la tercera, o sea una sola variable independiente.

Cita de: rafa011 en  2 Marzo 2014, 23:23 PM

Un centenar de mujeres, hombres y niños .......................


Al parecer no has leído correctamente el enunciado: un centenar, o sea 100, no un centenar y pico. Esa es una de las condiciones que se ha de cumplir y que tú obvias, quedando un sistema de dos ecuaciones y tres incógnitas. Claro que tu puedes interpretar centenar como más te guste.

Y para que quede constancia, esta es la solución que da tu código con esa condición:



Curiosamente coincide con mi solución .

Y tu código con la condición del centenar:

Cita de: yoel_alejandro en  4 Marzo 2014, 17:28 PM
..............................................
En síntesis, el problema consiste en encontrar todas las tripletas de valores i, j, k que satisfagan:

A*i + B*j + C*k = T

       Y

i+j+k=100


Código (cpp) [Seleccionar]

#include <stdlib.h>
#include <stdio.h>

/* Nota: Sean
*
*  A la cantidad de monedas que aporta cada hombre
*  B la cantidad de monedas que aporta cada mujer
*  C la cantidad de monedas que aporta cada nino
*  T el total de monedas
*
* entones tenemos:
*/
#define A 75
#define B 99
#define C 40
#define T 7869
/* por otra parte, siendo i la cantidad de hombres, j la cantidad
* de mujeres y k la cantidad de ninos, la condicion buscada es que
*
*  A*i + B*j + C*k = T
*
* siendo i, j, k numeros enteros y positivos. La solucion la buscaremos
* por tanteo (fuerza bruta) mostrando todas las combinaciones posibles.
*/

int main () {

int i, j, k, count;
int i_MAX, j_MAX, k_MAX;

printf( "********************************************\n"
   "Programa de calculo de combinaciones\n"
   "********************************************\n\n" );

printf( "Condiciones:\n"
" cada hombre aporta %d monedas\n"
" cada mujer aporta  %d monedas\n"
" cada nino aporta   %d monedas\n"
" Total:             %d monedas.\n\n",
A, B, C, T );

/* El maximo valor posible de i sera el cociente entero de
* (T - 1*B - 1*C) entre A, es decir, el valor entero de i que satisface
* la ecuacion:
*
*  A*i + B*j + C*k = T
*
* con los valores minimos de j = 1, k = 1. De modo similar se calculan
* los valores maximos posibles de j y k.
*/
i_MAX = (T - 1*B - 1*C)/A;
j_MAX = (T - 1*A - 1*C)/B;
k_MAX = (T - 1*A - 1*B)/C;

printf("%d, %d, %d, %d\n", i_MAX, j_MAX, k_MAX, i_MAX*j_MAX*k_MAX);

count = 0;
for ( i = 1; i <= i_MAX; i++ )
for ( j = 1; j <= j_MAX; j++ )
for ( k = 1; k <= k_MAX; k++ )
if ( A*i + B*j + C*k == T  && i+j+k==100) {/** AQUI EL CENTENAR **/
printf( "\n\nSe encontro la combinacion H = %d, M = %d, N = %d\n\n",
i, j, k);
count ++;
}
printf( "%d resultados. -- FIN DEL PROGRAMA --\n", count);
}



Demasiado código para un problema tan nimio, al menos a mí me lo parece.

¡¡¡¡ Saluditos! ..... !!!!


#387
Cita de: caos en  3 Marzo 2014, 23:23 PM
leosansan, te agradezco la aportación, me ha ayudado en cantidad, muchas gracias   ;D

De nada amigo Jordi, aquí estamos para eso, ayudar dentro de nuestras posibilidades y más cuando se ha currado previamente.

¡¡¡¡ Saluditos! ..... !!!!


#388
Se te echa de menos por estos lares amigo dato000.

Espero puedas "puentear" las dificultades del trabajo y seguir colaborando activamente por aquí.

Hasta entonces, un fuerte saludo y puestos a ser positivos "al menos tienes trabajo".


¡¡¡¡ Saluditos! ..... !!!!


#389
Cita de: People95 en  3 Marzo 2014, 21:20 PM
Jordiiii te pillé jajajaja, suerte con esto!

Pues parece que si va a tener suerte.

Añades justo la línea del printf que te indico en el código e incluyes la nueva variable "colum_final" en la función pelota:


Código (cpp) [Seleccionar]

  void pelota (int matriu[50][50]){

int inicio,i,j,cont=0,colum_final;   /** NUEVA VARIABLE **/
.....................................
   else if (direccion=='I' || direccion=='i' && matriu[i][j-1]==1)
     matriu[i][++j]=cont++;
 }
 colum_final=j+1; /** ESTA VARIABLE **/
 for(i=0;i<50;i++)
 {
    printf("\t\t");
    for(j=0;j<50;j++)
     {
        if(matriu[i][j]==1)
           printf("X ");
        else if(matriu[i][j]==0 )
           printf(". ");
        else
           printf("%d ",matriu[i][j]-2);
    }
    printf("\n");
 }
 printf ("\n\t\tColumna Final= %d\n",colum_final); /** <==ESTA LINEA **/
}

void cambiartabla (int matriu[50][50]){


Por cierto, mirar donde salen los errores y warnings y veréis que os sobran multitud de variables no usadas y falta el return 0 de la función main, entre otras lindeces.

¡¡¡¡ Saluditos! ..... !!!!


#390
Cita de: People95 en  3 Marzo 2014, 12:01 PM

Pues con esto mi parte del programa ya está acabado!!
Gracias de verdad, sin tu ayuda hubiese sacado un 0 jjaja



De nada, da gusto ayudar, primero a gente agradecida, y segundo, a quien previamente se lo ha currado.

Ánimos y para otra ya sabes donde encontrarnos.


¡¡¡¡ Saluditos! ..... !!!!