• Viernes 29 de Marzo de 2024, 16:01

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Nevhazovat

Páginas: [1] 2
1
C/C++ / Re: Menu
« en: Martes 22 de Mayo de 2007, 17:21 »
Cita de: "Bicholey"
:P  :P  :P  :P  :P


la logica es muy parecida solo esfuerzate un poco y podrias condicionar alas letras que esten entre e y z como no validas para usar a,b,c,d como opciones...

Hola.

No, si no quiero usar letras como opciones. Lo que quiero es que al meter una letra el programa no pete.

2
C/C++ / Menu
« en: Martes 22 de Mayo de 2007, 16:57 »
Hola.

Tengo una duda con el siguiente menu.
Código: Text
  1.  
  2.    int opcion;
  3.    for(;;)
  4.    {
  5.       do
  6.       {
  7.       printf("/\/\/ MENU \/\/\");
  8.       printf("1. ALUMNOS.");
  9.       printf("2. PROFESORES.");
  10.       printf("3. VOLVER.");
  11.  
  12.       printf("Elije un número: ");
  13.       scanf("%d", &opcion);
  14.       }
  15.       while (opcion>3 || opcion<1);
  16.  
  17.       switch (opcion)
  18.       {
  19.     case 1: Alumnos();
  20.         break;
  21.     case 2: Profesores();
  22.         break;
  23.     case 3: printf("\nVOLVER.");
  24.         break;
  25.       }
  26.     if(opcion==3) break;
  27.    }
  28.  

Con ese código, cuando pulso un número que no está entre 1 y 3, el programa no hace nada (vuelve a pedir un número). ¿Cómo podría hacerlo también para que al introducir una letra o un símbolo el programa no pete y funcione igual que si hubiera introducido un numero no permitido, en este caso por ejemplo, el 4?

Saludos.

3
C/C++ / Re: Paso De C++ A C
« en: Sábado 10 de Febrero de 2007, 12:32 »
Gracias Geo. Ya está lo que quería.

Código: Text
  1. #include <stdio.h>
  2.  
  3. main()
  4. {
  5. int i,grado,indep,polinomio[50];
  6.  
  7. printf("Cual es el grado del polinomio:   ");
  8.     scanf("%d",&grado);
  9. printf("Cual es el termino independiente del polinomio:  ");
  10.     scanf("%d",&indep);
  11. polinomio[0]=indep;
  12. for(i=1;i<=grado;i++)
  13.   {
  14.   printf("¿Cual es el coeficiente del termino x^%d ?:  ",i);
  15.    scanf("%d",&indep);
  16.   polinomio[i]=indep;
  17.   }
  18. printf("\nLos coeficientes de la derivada son:\n\n");
  19. for(i=0;i<grado;i++)
  20.   {
  21.   polinomio[i]=polinomio[i+1]*(i+1);
  22.   printf("El coeficiente del termino x^%d es: %d \n\n",i,polinomio[i]);
  23.   }
  24. printf("\nLa derivada es:\n\n");
  25.   for ( i = grado - 1; i >= 0; i-- ) {
  26.    printf( "%dx^%d + ", polinomio[ i ], i );
  27.   }
  28. }
  29.  

4
C/C++ / Re: Paso De C++ A C
« en: Sábado 10 de Febrero de 2007, 00:43 »
Hola, ya estoy de nuevo por aquí.

He estado trabajando un poco y algo he conseguido. Con este programa calculo los coeficientes de la dereivada pero el problema es que los muestro uno a uno y no en forma compacta que queda más vistoso.

¿Cómo podría hacer para agrupar todos esos coeficientes para que me muestre por pantalla el sesultado en forma ax^(n)+bx^(n-1)...?

Código: Text
  1.  
  2. #include <stdio.h>
  3.  
  4. main()
  5. {
  6.  int i,grado,indep,polinomio[50];
  7.  
  8.  printf("Cual es el grado del polinomio:   ");
  9.        scanf("%d",&grado);
  10.  printf("Cual es el termino independiente del polinomio:  ");
  11.        scanf("%d",&indep);
  12.  polinomio[0]=indep;
  13.  for(i=1;i<=grado;i++)
  14.    {
  15.     printf("¨Cual es el coeficiente del termino x^%d ?:  ",i);
  16.     scanf("%d",&indep);
  17.     polinomio[i]=indep;
  18.    }
  19.  printf("La derivada del polinomio es:\n");
  20.  for(i=0;i<grado;i++)
  21.    {
  22.     polinomio[i]=polinomio[i+1]*(i+1);
  23.     printf("El coeficiente del termino x^%d es: %d \n",i,polinomio[i]);
  24.    }
  25. }
  26.  

5
C/C++ / Re: Paso De C++ A C
« en: Domingo 4 de Febrero de 2007, 21:33 »
La duda es como pasar de X^3 a 3X^2

6
C/C++ / Re: Paso De C++ A C
« en: Domingo 4 de Febrero de 2007, 16:54 »
Tengo repasadísima la red buscando algo parecido a lo que yo quiero hacer. Y solo encontré el código ese de C++ que ni siquiera se si es lo que yo busco exactamente.

7
C/C++ / Re: Paso De C++ A C
« en: Domingo 4 de Febrero de 2007, 16:30 »
Cita de: "Diodo"
Aqui nadie te va a hacer la tarea, asi que lo mejor es que repases los siguientes temas:

Reserva de memoria dinamica para vectores
Manejo de punteros
Entrada/Salida de datos

Lo unico un poco complicado es la reserva de memoria, por lo demas con unas nociones basicas de c se puede sacar facilmente

Si realmente quieres sacar partido al foro debes hacer preguntas concretas, como por ejemplo: ¿Como puedo crear un vector dinamico de n elementos? ¿Como manejo ese vector? ¿Como lo imprimo por pantalla? ... etc etc

salu2  :hola:

Juer, más concreta que: ¿cómo se hace? es difícil.

Ahora en serio. Es verdad, tenéis razón, hay que currárselo algo. Ya vendré y postearé resultados. Mientras tanto si me indicáis un poco con el código mejor que mejor. Porque a mi si me decís:

Citar
Reserva de memoria dinamica para vectores
Manejo de punteros
Entrada/Salida de datos

pues la verdad no me entero de mucho.

Un saludo.

8
C/C++ / Re: Paso De C++ A C
« en: Domingo 4 de Febrero de 2007, 10:12 »
Cita de: "Eternal Idol"
Cita de: "Nevhazovat"
¿Nadie sabe como hacerlo?
¿Es una pregunta en serio? Lo hice a los 10 minutos de ver el problema, y entre varios te dejamos los pasos para hacerlo (incluso en otro foro tambien) pero otra cosa muy diferente es que como bien dice su- te vayamos a hacer la tarea.

Está bien. Creo que voy por el mal camino así. Quizás lo mejor sea olvidarme de ese programa y empezar uno nuevo. El problema está en como paso de 2x^3+5x^2+3 a 6x^2+10x. Ahí, no se que hacer.

9
C/C++ / Re: Paso De C++ A C
« en: Domingo 4 de Febrero de 2007, 10:08 »
Cita de: "su -"
Es una tarea, verdad?  :no:

Sí, es una tarea como tu dices.

10
C/C++ / Re: Paso De C++ A C
« en: Domingo 4 de Febrero de 2007, 00:56 »
¿Nadie sabe como hacerlo?

11
C/C++ / Re: Paso De C++ A C
« en: Jueves 1 de Febrero de 2007, 22:16 »
Pues tengo que hacer una programa que calcule la derivada de un polinomio. Que pregunte primero el grado del polinomio y a continuación
pida los coeficientes de cada x.

12
C/C++ / Re: Paso De C++ A C
« en: Jueves 1 de Febrero de 2007, 21:26 »
Saber lo que se dice, no se ninguno de los dos. Este es mi primer año estudiando C y la verdad es que me resulta bastante complicado cuando nos salimos de los superbásico.

13
C/C++ / Re: Paso De C++ A C
« en: Jueves 1 de Febrero de 2007, 18:03 »
Gracias, pero no se usar malloc, ni donde ni como ponerlo. Tampoc entiendo lo de los campos.

14
C/C++ / Re: Paso De C++ A C
« en: Jueves 1 de Febrero de 2007, 17:37 »
Haciendo una mezcla de lo que me habéis dicho los dos me sale algo así.

Código: Text
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. typedef struct _DivDiff
  5. {
  6.  float *x,*f;
  7.  int n,intial,final;
  8. }DivDiff, *PDivDiff;
  9.  
  10. void iovalues(PDivDiff this);
  11. float dd(PDivDiff this, int intial, int final);
  12.  
  13.  
  14.              };
  15. void DivDiff::iovalues()
  16. {
  17. printf( "Enter number of points: \n" );
  18. scanf( "%d", &n );
  19. x=new float[n];
  20. f=new float[n];
  21. for(int i=0;i<n;i++)
  22.   {printf("Enter x[i]");
  23.    scanf("%f",&x[i]);
  24.    printf("Enter f[i]");
  25.    scanf("%f",&f[i]);}
  26. while(1){
  27.       printf("Enter intial r(-1 to exit)");
  28.       scanf("%d",&intial);
  29.       if(intial==-1)break;
  30.       printf("Enter  final r");
  31.       scanf("%d",&final);
  32.       printf("(intial,final)");
  33.       }
  34. }
  35. float DivDiff::dd(int intial,int final)
  36. {
  37. float temp=0;
  38. if((final-intial)==1)
  39.   temp=(f[final]-f[intial])/(x[final]-x[intial]);
  40. else
  41.   temp=(dd(intial+1,final)-dd(intial,final-1))/(x[final]-x[intial]);
  42. return temp;
  43. }
  44.  

Pero claro, esto que he hecho no está bien.

15
C/C++ / Paso De C++ A C
« en: Jueves 1 de Febrero de 2007, 12:06 »
Hola.

Busacando en internet he dado con un programa que necesito, pero el problema es que está en C++. Me gustaría pasarlo a C.

¿Alguien podría decirme cómo?

EDITO: Pues no pongo el mensaje y se me olvida el código..vaya cabeza tengo.

Código: Text
  1. #include<iostream.h>
  2. class DivDiff{
  3. float *x,*f;
  4. int n,intial,final;
  5. public:
  6. void iovalues();                
  7. float dd(int,int);
  8.                     };
  9. void DivDiff::iovalues()
  10. {
  11.  cout<<"Enter number of points :"<<endl;
  12.  cin>>n;
  13.  x=new float[n];
  14.  f=new float[n];
  15.  for(int i=0;i<n;i++)
  16.     {cout<<"Enter x["<<i<<"]"<<endl;
  17.      cin>>x[i];
  18.      cout<<"Enter f["<<i<<"]"<<endl;
  19.      cin>>f[i];}
  20.  while(1){
  21.           cout<<"Enter intial r(-1 to exit)"<<endl;
  22.           cin>>intial;
  23.           if(intial==-1)break;
  24.           cout<<"Enter  final r"<<endl;
  25.           cin>>final;
  26.           cout<<dd(intial,final)<<endl;
  27.          }
  28. }
  29. float DivDiff::dd(int intial,int final)
  30. {
  31.  float temp=0;
  32.  if((final-intial)==1)
  33.     temp=(f[final]-f[intial])/(x[final]-x[intial]);
  34.  else
  35.     temp=(dd(intial+1,final)-dd(intial,final-1))/(x[final]-x[intial]);
  36.  return temp;
  37. }
  38.  

16
Matlab / Adaptación Evolutiva
« en: Jueves 25 de Enero de 2007, 00:45 »
Hola a todos.

Estoy con un problema centrado en la tesis evolutiva de Darwin según la cual las especies con menor nivel adaptativo mueren.

Tengo que:

En cada instante del tiempo o época considerar una cadena de 200 especies, cada una interactuando con sus dos vecinos más cercanos en la cadena.

A cada especie se le asigna un nivel de adaptabilidad, variables aleatorias i.i.d. U(0,1) a tiempo inicial.

La evolución procede por selección natural de las especies con menor nivel adaptativo. En cada época (paso del tiempo) la evolución de los más débiles afecta a las especies con las que interactúan y el más débil y los vecinos con los que interactúa son remplazados por copias de las variables aleatorias i.i.d. U(0,1), copias de la distribución a tiempo inicial.

El interés se centra en el comportamiento de X1(n);X2(n), . . . . ,Xs(n) cuando n tiende a + infinito. Concretamente, en el comportamiento asintótico de las siguientes variables aleatorias:

El promedio del nivel adaptativo del sistema Z(n) = (X1(n)+X2(n)+¢ ¢ ¢+Xs(n))/s

La proporción de especies con nivel adaptativo en un subintervalo de [0,1). En particular, consideraremos la partición del intervalo en m subintervalos de igual longitud A(k) = [(k - 1)/m; k/m), k = 1,2,....m.

Si las variables aleatorias Z(n); P1(n), . . . , Pm(n) convergen en distribución, cuando n tiende a + infinito, a las variables aleatorias Z; P1, . . . , Pm, podemos usar el método de Monte Carlo para estimar los valores esperados mu = E[Z]; ro(1)=E[P1], . . . , ro(m)=E[Pm] observando los niveles adaptativos alcanzados en el sistema con el paso del tiempo, digamos luego de T épocas. T debe ser una valor grande. Para m = 10 y s = 200.

RESUMIENDO:

Se trata de realizar un programa que genere un vector aleatorio U(0,1) de tamaño 200.

De ese vector se calculará el mínimo (especie más débil) y se eliminará junto a su dos vecinos en el vector. Estos 3 individuos eliminados han de ser reemplazados por otras tantas copias de las variables aleatorias i.i.d. U(0,1), copias de la distribución inicial.

Hay que utilizar el método de Monte Carlo para estimar los valores esperados observando los niveles adaptativos alcanzados en el sistema con el paso del tiempo T, que ha de ser un valor grande.

Hay que realizar un histograma de todo este jaleo. Son 200 especies del 0 al 1 en 10 intervalos (m=10) por lo que en cada intervalo caerán 20.

Se calcular el vector (U=rand(1,200)) calcular su mínimo (min(U)) y el histogrma (hist(U)) pero no se como programar para que me haga la simulación con T = 1000 iteraciones, por ejemplo, y me elimine el mínimo y sus vecinos y luego calcular la media y desviación típica de los datos.

¿ALGUIEN ME PUEDE DAR ALGUNA INDICACIÓN, IDEA O SUGERENCIA?

Cualquier ayuda será bien recibida. Siento el tocho pero es que me gustaría que quedase claro.

Muchas gracias.

Un saludo.

17
C/C++ / Re: Números Palindrómicos
« en: Viernes 12 de Enero de 2007, 12:57 »
Me debes una  :D

Gracias de todas formas.

18
C/C++ / Re: Números Palindrómicos
« en: Viernes 12 de Enero de 2007, 02:39 »
Bueno, ya lo conseguí. Dejo el código por si a alguien le interesa.

Código: Text
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int es_capicua(char cadena[20]);
  5.  
  6. int main()
  7. {
  8.     long i, total=0, numero;
  9.     char cadena[20];
  10.  
  11.     printf("Ingrese numero: ");
  12.     scanf("%ld", &numero);
  13.  
  14.     printf("Numeros capicua: ");
  15.     for(i=1; total<numero; i++)
  16.     {
  17.     sprintf(cadena, "%ld", i);
  18.  
  19.     if(es_capicua(cadena))
  20.     {
  21.         printf("%ld ", i);
  22.       total++;
  23.     }
  24.      }
  25.  
  26.     fflush(stdin);
  27.     getchar();
  28.     return 0;
  29. }
  30.  
  31. int es_capicua(char cadena[20])
  32. {
  33.   int i;
  34.   char invertida[20];
  35.  
  36.   /* Halla la cadena invertida */
  37.   for(i=0; i < strlen(cadena); i++)
  38.      invertida[ i ]=cadena[strlen(cadena)-i-1];
  39.  
  40.   /* Coloca caracter de fin de cadena */
  41.   invertida[ i ] = '\0';
  42.  
  43.   /* Realiza la comparacion */
  44.    if(!strcmp(cadena, invertida))
  45.     return 1; /* es capicua */
  46.  
  47.   return 0;  /* no es capicua */
  48. }
  49.  

19
C/C++ / Re: Números Palindrómicos
« en: Viernes 12 de Enero de 2007, 02:17 »
Cita de: "Angel_K_ido"
con un while, un contador, una bandera, un ciclo for dentro del while.-

Así lo hago yo.  :)

 :huh: ¿No te quedó claro?

 :angry: No pidas tareas entonces....

Si ya tenés alguna idea con todo gusto te ayudamos pero nadie te va a dar el código así como así.

He estado mirándolo y podría ser algo así:

Código: Text
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int es_capicua(char *cadena);
  5.  
  6. int main()
  7. {
  8.      int i, numero;
  9.      char *cadena;
  10.    
  11.      printf("Ingrese numero: ");
  12.      scanf("%d", &numero);
  13.  
  14.      printf("Numeros capicua: ");
  15.      for(i=1; i<=numero; i++)
  16.      {
  17.           sprintf(cadena, "%d", i);
  18.  
  19.           if(es_capicua(cadena))
  20.              printf("%d ", i);
  21.      }
  22.  
  23.      fflush(stdin);
  24.      getchar();
  25.      return 0;
  26. }
  27.  
  28. int es_capicua(char *cadena)
  29. {
  30.    int i;
  31.    char *invertida;
  32.  
  33.    /* Halla la cadena invertida */
  34.    for(i=0; i < strlen(cadena); i++)
  35.        invertida[ i ]=cadena[strlen(cadena)-i-1];
  36.  
  37.    /* Coloca caracter de fin de cadena */
  38.    invertida[ i ] = '\0';
  39.  
  40.    /* Realiza la comparacion */
  41.    if(!strcmp(cadena, invertida))
  42.      return 1; /* es capicua*/
  43.          
  44.    return 0;  /* no es capicua */
  45. }
  46.  

De esta manera consigo que me devuelva todos los capicúa hasta el inmediatamente inferior al introducido. Pero me gustaría que me mostrase los que yo haya introducido por teclado. Es decir, si meto el valor 5, me saque: 1,2,3,4 y 5 que son los 5 primeros y así sucesivamente.

Gracias por la atención.

20
C/C++ / Números Palindrómicos
« en: Viernes 12 de Enero de 2007, 00:21 »
Saludos a todos.

Tengo que hacer un programa que pida un número n por teclado y escriba a continuación los n primeros números capicúa o palindrómicos. ¿Alguien tiene una idea de como puedo iniciarlo?

Gracias por la atención.

21
C/C++ / Re: Clave Secreta En C
« en: Lunes 18 de Diciembre de 2006, 18:56 »
¿Nadie sabe como hacerlo?

22
C/C++ / Re: Operaciones Con Ficheros
« en: Domingo 17 de Diciembre de 2006, 19:21 »
Al pulsar la opcion 3 sólo saca el primer registro. Además se me queda pillado.

La media me sale errónea también. Con 2 registros de 29 y 35 años me saca una media de 7. No sé que pasará.

23
C/C++ / Re: Operaciones Con Ficheros
« en: Domingo 17 de Diciembre de 2006, 18:16 »
Hola.

Te doy la gracias por todo lo que has hecho hasta ahora. Es de agradecer que te hallas implcado tanto. Otros ya lo habráin dejado.

Yo entiendo que estes un poco mosqueadillo por todo el trabajo que te estoy dando y porque seguramente creas que no hago nada. Puede que bajo tu punto de vista, efectivamente, no haga nada pero puede que sea por que lo que para ti es un pasito de nada, para mi entenderlo es un un mundo.

He probado el último código y si me saca por pantalla las estadísticas pero no salen bien. Sale en todos los casos 0 salvo el último que sale 1 (poniendo adrede nombres y ciudades iguales de dos clientes).

No se si será por el compilador (yo uso Turbo C++ 4.5), pero después de mostrarme las estadísticas el programa se queda "pillao" y sale el típico mesajito de Windows de enviar error.

Todas las líneas que has puesto comentadas en la función CargarDatos() (//Banco[0].Ncliente = ; , etc...), al escribir los datos a pelo y quitarle los comentarios me da tantos errores como las líneas que había comentadas.

Ya se que la programación es pelearse con los programas. Llevo toda la semana en guerra con el C. Para que veas que si le doy al asunto he intentado hacerlo, pero de otra manera. Si, es más cutre pero bueno, al menos funcionan las 3 partes primeras. Me falla la última, que imprima el numero de clientes que se llaman igual y viven en la misma ciudad.

Te paso el código para que veas que me he estado peleando con el programa.

De todas formas gracias. Me ayudaste mucho.

Un saludo.

24
C/C++ / Re: Operaciones Con Ficheros
« en: Domingo 17 de Diciembre de 2006, 16:16 »
Pero como quedaría el programa listo para compilar, es que con tanto código para acá y para allá, ya no se donde va una cosa y otra.

25
C/C++ / Re: Operaciones Con Ficheros
« en: Domingo 17 de Diciembre de 2006, 15:24 »
¿Sería así y darle a compilar:

Código: Text
  1. main ()
  2. {FILE *fp;
  3. char c;
  4. int resp;
  5.  
  6. if ((fp=fopen("banco.txt","r"))!=NULL)  {
  7.    c = getc(fp);
  8.    while (c != '\n')  {
  9.          // aqui vas almacenando los caracteres
  10.    }
  11. }
  12.  

Es que no se donde va cada cosa. Cada ves me meto más en el barro. Menudo lío.

Páginas: [1] 2