elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el ttwitter! de elhacker.NET


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: No entiendo este error de compilación en: 8 Enero 2016, 14:03 pm
ya veo que efectivamente coinciden. Gracias de nuevo por la lección  :D
2  Programación / Programación C/C++ / Re: No entiendo este error de compilación en: 6 Enero 2016, 16:10 pm
Muchas gracias ivancea96 y MAFUS :), ahora no entiendo porque el tamaño del vector es diferente en la función que en main :-X
3  Programación / Programación C/C++ / No entiendo este error de compilación en: 5 Enero 2016, 17:53 pm
Buenas a todos, pues os explico estaba intentando hacer una función que realice el algoritmo de ordenación burbuja, pero me salta un error de compilación en la línea 5 que no entiendo, dice " invalid type argument of unary '*' (have 'int')"
El código es
Código
  1. #include <stdio.h>
  2.  
  3. void orden(int arr){
  4. int aux,i,j;
  5. int tam=sizeof(arr)/sizeof(*arr);
  6.  
  7. for(i=0;i<tam;i++){
  8. for(j=0;tam-i;j++){
  9. if (arr[j]>arr[j+1]){
  10. aux=arr[j];
  11. arr[j]=arr[j+1];
  12. arr[j+1]=aux;
  13. }
  14. }
  15. }
  16. }
  17.  
  18. int main(){
  19. int vec[]={9,3,5,7,1};
  20. orden(vec);
  21. }

Gracias por adelantado.
4  Programación / Programación C/C++ / Re: Separar parte decimal y parte fraccionaria en lenguaje C. en: 4 Enero 2016, 18:07 pm
yo lo que haría seria hacer el logaritmo en base 10 en entero del numero con sus decimales y así obtendría la parte entera, luego se la restas al numero original y obtienes la parte fraccionaria.

mira yo lo utilice para obtener el reverso de un numero
Código
  1. int reverso(int num){
  2. int reverso=0,exp=log10(num);
  3. while(num>0){
  4. reverso = reverso + (num%10)*pow(10,exp);
  5. exp--;
  6. num=num/10;
  7. }
  8. return reverso;


edito:

He probado ha hacerlo y he visto una manera más simple de hacerlo

Código
  1. #include <stdio.h>
  2.  
  3. int main(){
  4. float num=44.5;
  5. int entera=num;
  6. float fracionaria=num-entera;
  7. }
  8.  
creo que era eso lo que se buscaba
5  Programación / Programación C/C++ / Re: Ayuda programa en c para sacar palíndromos en: 1 Enero 2016, 22:27 pm
gracias por la ayuda he modificado el programa y ya hace su funcion  :D

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4. int reverso(int num){
  5. int reverso=0,exp=log10(num);
  6. while(num>0){
  7. reverso = reverso + (num%10)*pow(10,exp);
  8. exp--;
  9. num=num/10;
  10. }
  11. return reverso;
  12. }
  13. int palindromo(int num){
  14. if (num-reverso(num)==0)
  15. return 0;
  16. else return -1;
  17. }
  18.  
  19.  
  20. int main( )
  21. {
  22. int num;
  23. printf("Ingrese un numero\n");
  24. scanf("%d", &num);
  25. while ((palindromo(num)!=0)){
  26. num=num+reverso(num);
  27. }
  28. printf("su palindromo es %d",num);
  29.  
  30. }
6  Programación / Programación C/C++ / Ayuda programa en c para sacar palíndromos en: 1 Enero 2016, 18:29 pm
Buenas he estado intentando hacer un programa basandome en una conjetuera matemática que se usa para obtener números palíndromos. En el programa por ejemplo se teclea el 59, entonces 59 + 95 = 154, 154+451=605, 605+ 506= 1111 que es palíndromo.
El caso es que con el codigo que he generado me da un error y se cierra la ventana

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4. int reverso(int num){
  5. int reverso=0,exp=log10(num);
  6. while(num>0){
  7. reverso = reverso + (num%10)*pow(10,exp);
  8. exp--;
  9. num=num/10;
  10. }
  11. return reverso;
  12. }
  13. int palindromo(int num){
  14. int num1=num;
  15. int tam=log10(num)+1;
  16. int matriz[tam];
  17. int i,j=0,aux=0;
  18. for(i=0; i<tam;i++){
  19. matriz[i]=num1%10;
  20. num1=num1/10;
  21. }
  22. while(!(i<=0)){
  23. i--;
  24. aux=matriz[i]-matriz[j];
  25. if (aux!=0) return -1;
  26. j++;
  27. }
  28. return 0;
  29. }
  30.  
  31.  
  32. int main( )
  33. {
  34. int num,cont;
  35. printf("Ingrese un numero\n");
  36. scanf("%d", &num);
  37. while ((palindromo(num)!=0)||(cont<200)){
  38. num=num+reverso(num);
  39. cont++;
  40. }
  41. printf("su palindromo es %d",num);
  42.  
  43. }
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines