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

#421
Cita de: leosansan en 26 Diciembre 2013, 16:29 PM* los bucles con una sola instrucción o función no necesitan de llaves.
Cierto pero, en ocasiones las llaves dan más legibilidad (sobre todo cuando empiezas a anidar cosas)

Cita de: leosansan en 26 Diciembre 2013, 16:29 PM* puestos a imprimir float me gusta más el formato %g ya que no llena la pantalla de decimales innecesarios.
Otra opción es poner %.4f

De esa forma muestra solo hasta 4 decimales, si quieres 8 solo tienes que cambiar el 4 por un 8 ;)
#422
No se entiende nada, tampoco preguntan nada :huh:
#423
Pues porque hace 20 años se miraba muchísimo la eficiencia (a veces se rescribían métodos en ensamblador para mejorarla aún más).

Hoy en día los compiladores son muchísimos mejores que antes. Esas optimizaciones ya las suelen hacer ellos solitos (y si no, tampoco vas a notar ninguna diferencia).

El porque siguen contando esto es porque hay muchos profesores prehístoricos que no se reciclan ni a tiros  :silbar:
#424
Cita de: jednak en 17 Diciembre 2013, 23:48 PMLeer libro de kernighan y ritchie(El leguaje de programacion C) OBLIGATORIO.
Yo no lo he leído y no me considero un idiota en C, valga la modestia.

Esos libros suelen ser muy técnicos para un novato, no es para novatos sino para gente ya avanzada en otros lenguajes.

Además esos libros suelen estar muy anticuados, ya han salido nuevos estandares  :silbar:

Cita de: minari02 en 25 Diciembre 2013, 21:19 PMYo no he estudiado computacion o informatica asi que tengo carencias en cuanto a lenguaje tecnico, nisiquiera entendia que es un objeto (C++ esta orientado a objetos) encontre este libro   http://libreriaalvaro.com/libropoo.pdf y es muy bueno, esta bien explicado dale una revisada al indice si te llama la atencion lo lees.
Error, C++ puede orientarse a objetos. Pero en realidad es un lenguaje multiparadigma, puedes programar de varias formas y incluso mezclar paradigmas en el mismo código.
#425
Indexar el código es muy importante para que se entienda mejor:

Código (cpp) [Seleccionar]
#include<stdio.h>
#include<conio.h>
int main()
{
   int i,j,k,n;
   float x[80][80];

   printf("ingresar el orden de la matriz\n");
   scanf("%d",&n);

   for(i=1; i<=n; i++)
   {
       for(j=1; j<=n; j++)
       {
           printf("ingresar x[%d][%d]: ",i,j);
           scanf("%f",&x[i][j]);
       }
   }

   for(k=1; k<n; k++)
   {
       for(i=k+1; i<=n; i++)
       {
           for(j=1; j<=n; j++)
               x[i][j] = x[i][j] - (x[k][j] * x[i][k]) / x[k][k];

       }
   }

   printf("la matriz escalonada es");
   for(i=1; i<=n; i++)
   {
       printf("\n");
       for(j=1; j<=n; j++)
           printf("%f  ",x[i][j]);
   }

   for(k=n; k>1; k--)
   {
       for(i=k-1; i>=1; i--)
       {
           for(j=n; j>=1; j--)
               x[i][j] = x[i][j] - (x[k][j] * x[i][k]) / x[k][k];
       }
   }

   printf("la matriz escalonada es");
   for(i=1; i<=n; i++)
   {
       printf("\n");
       for(j=1; j<=n; j++)
           printf("%f  ",x[i][j]);
   }

   getch();
}
#426
No es necesario en ningún caso, la diferencia es inapreciable actualmente y en muchas ocasiones el compilador hace ese trabajo por ti.

Por cierto la aritmetica de punteros parte de ir incrementando el puntero (sobreescribiendolo), si haces una cuenta fija (p+i) estas haciendo lo mismo que los corchetes.
#427
El algoritmo como tal es:

1º Coge la parte decimal. Por ejemplo de 5,25 sería 0,25.
2º Multiplicalo por 2, si el resultado es < 1 entonces pon un 0. Si es >= 1 entonces restale 1 y pon un 1 en los decimales.
3º ¿Tienes un 0? Si no es asi vuelve al paso 2.

Siguiendo ese algoritmo, ese número debería darte 101,01.

Nota: Algunos valores pueden tener decimales periodicos (infinitos).
#428
Cita de: minari02 en 24 Diciembre 2013, 23:47 PM
Hola, que tal?

Muchas gracias por sus respuestas y creo que el mas simplificado es de amchacon he puesto su codigo y funciona perfecto aunque lo que no entiendo es como rayos funciono sin incluir la libreria y sin poner el int main
¿Ein?

Está el int main y el #include <stdio.h>. Vuelvetelo a mirar que además lo tuve que editar para mejorar su eficiencia.
Cita de: minari02 en 24 Diciembre 2013, 23:47 PMOk.. los comentarios los he puesto yo, si hay error avísenme, por cierto que aqui se usa claramente el algoritmo La criba de Eratóstenes.

no digo que sea mejor, si no que la forma mas basica y entendible. supongo que la mejor seria la de  amchacon  que piensan?

saludos  :P
Ese código no es la criba de erástotenes  :silbar:
#429
A que te refieres:

- A la expresion en base 2 de un numero decimal, Ej: 101,011
- A como representa el ordenador internamente un float.
#430
Cita de: ivancea96 en 24 Diciembre 2013, 16:19 PM
El problema de eso, yo se lo veo cuando tratámos números grandes. Véase 10^9.
¿Que problema hay con eso? El bucle hace raiz(n) iteraciones (es decir, es muy eficiente). En el caso que tu propones haría 10^3 iteraciones.

Cualquier cpu puede hacer 1000 iteraciones de un bucle en una soplada:
http://imageshack.us/a/img542/3319/0133.png

Si te refieres a generar la tabla completa (y no al calculo directo). Su complejidad es n*log n (más lento, pero también es eficiente). A mi me tarda poco (tardo unos 2 segundos en generar la tabla con todos los primos a 10 ^ 9).