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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Ayuda con este pequeño programa en c en: 27 Mayo 2015, 08:02 am
Hola, disculpen si no me conocen pues recién me uní al foro.
Para no hacer muy largo el mensaje pues resumiré diciendo que estoy estudiando electrónica y estoy cursando programación (aunque en 2 semanas termina el semestre). Sin embargo desde que entramos a arreglos he tenido ciertos problemas para entender y problemas en mis programas, lo de entender lo resolví más o menos estudiando pero mis programas fallan mucho por cosas que de plano no entiendo o no encuentro error. Este es el programa que necesito corregir:


Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main()
  6. {
  7. int temp;
  8. int sp, p, can, i;
  9. int * datos=NULL;
  10. char cambios;
  11.  
  12. printf("Intruduce la cantidad de datos que deseas introducir: "), scanf("%i", &can);
  13. datos =(malloc (can * sizeof(int)));
  14. for (i=1; i<=can; i++)
  15. {
  16. printf("Introduce un dato: "), scanf("%i", datos[i-1]);
  17. }
  18.  
  19. do
  20. {
  21. for(p=0, sp=p+1, cambios='n'; p<=(can-1); p++)
  22. {
  23. temp=datos[p];
  24. datos[p]= datos[sp];
  25. datos[sp]=temp;
  26. cambios='s';
  27. }
  28.  
  29. } while (cambios=='s');
  30.  
  31. for(i=1; i<=can; i++)
  32. {
  33. printf("\n%i", datos[i-1]);
  34. }
  35.  
  36.  
  37. return 0;
  38. }

El problema es que originalmente me decía que no podía convertir un valor void a int pero era debido a que por error lo guardé como c++ y no como c, al cambiarlo se resolvió pero surgió el problema de que cuando lo corro despues de ingresar el número de dígitos que quiero utilizar e ingreso los dígitos el programa deja de funcionar y no encuentro por que. El programa, en teoría, debería dejar que uno introduzca la cantidad de dígitos que quiera y posteriormente introducir los respectivos dígitos; despues bebería organizarlos en el vector horizontal los dígitos de menor a mayor para que si digo que quiero 3 dígitos e introduzco 3, 7 y 1 deberían terminar como 1, 3 y 7 en el arreglo.
Perdón si mi petición tiene un formato muy simple pero la verdad hace tiempo que no entro a los foros y estoy algo oxidado en darles formato jaja.

Mod: Código corregido con etiquetas GeSHi para hacerlo más legible
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines