Ver Mensaje Individual
  #3 (permalink)  
Antiguo 05/05/2010, 01:24
roser24
 
Fecha de Ingreso: marzo-2010
Mensajes: 127
Antigüedad: 14 años, 2 meses
Puntos: 2
Respuesta: compila pero me da solo ceros ... no copia..

Hola,muchisimas gracias Sam,lo corregi y aparentemente me hace lo que pide el enunciado =),
Modifique mi anterior codigo con la correccion y añadiendo Delete's ya que vi en una pagina que ponian que siempre que usaramos new como ahi reservamos memoria al final del ejercicio hay que liberarla con delete :)

Código C:
Ver original
  1. /*5.    Crear una función que copie el contenido de un primer vector de flotantes
  2. en otro segundo con el mismo número de elementos. La función debe ser válida para
  3. cualquier par de vectores con el mismo número de elementos. Genera el
  4. programa principal para poder ejecutar la función creada.*/
  5.  
  6. #include<stdio.h>
  7. #include<string.h>
  8. void copiar_valor(float *,int,float *);
  9. void print_vector(float *,int,float *);
  10. void main(){
  11.  
  12. int l=0,i=0;
  13. do{
  14. printf("Introduce la longitud del primer vector:\n");
  15. scanf("%d",&l);
  16. }while(l<0);
  17. printf("La longitud del segundo vector sera la misma\n");
  18. float *vec=new float[l];
  19. float *vec2=new float[l];
  20.  
  21. for(i=0;i<l;i++){
  22. printf("inserta valores para el primer vector %d:",i);
  23. scanf("%f",vec+i);
  24. }
  25.  
  26.  
  27. copiar_valor(vec,l,vec2);
  28. print_vector(vec,l,vec2);
  29. delete []vec;
  30. delete []vec2;
  31. }
  32. void copiar_valor(float *vector,int size,float *vector2){
  33. int i;
  34. for(i=0;i<size;i++){
  35.  
  36.  *(vector2+i) = *(vector+i);
  37. }
  38.  
  39.  
  40. }
  41. void print_vector(float *vector,int size,float *vector2){
  42. int j;
  43. for(j=0;j<size;j++){
  44. printf("%f\n",*(vector2+j));
  45. }
  46.  for(j=0;j<size;j++){
  47. printf("\n%f",*(vector+j));
  48.  
  49.  
  50. }
  51. }