Ver Mensaje Individual
  #4 (permalink)  
Antiguo 04/05/2010, 09:51
roser24
 
Fecha de Ingreso: marzo-2010
Mensajes: 127
Antigüedad: 14 años, 1 mes
Puntos: 2
Pregunta Respuesta: dudas sobre ejercicio..

Ostras,
Sam tenias razon con lo de empezar mi for en 1..

modificando todos los for del main y de las funciones..
ya me realiza bien el programa,eso si no puedo asegurar que este bien planteado..
ya que tengo cojido con pinzas esto de los punteros.. de momento gracias a este ejercicio veo que unas cositas ..corregirme si me equivoco.
1º en la carga de vectores con punteros al ir almacenando los valores..
scanf("%d",vec+i);// no hace falta el & y tengo que poner el puntero sumado al indice ..
2º.-Para referirme al contenido de un vector con punteros,
if(j%2!=0){
*(vector+j)=-1;// siempre que quiera usar el valor del contenido del puntero pondre *(vector+j)// donde j es el indice o como se dice el desplazamiento..

el programa queda asi de momento a no ser que os paresca erroneo y lo corregiria

Código C:
Ver original
  1. #include<stdio.h>
  2. void init(int *,int);
  3. void printi_vec(int *,int);
  4. void main(){
  5. int i=0,l=0;
  6. do{
  7. printf("Introduce longitud para el vector:\n");
  8. scanf("%d",&l);
  9. }while(l<0);
  10. int *vec=new int[l];
  11.  
  12. for(i=1;i<l;i++){
  13.  printf("inserta valores para la posicion [%d]",i);
  14.  scanf("%d",vec+i);
  15. }
  16. init(vec,l);
  17. printi_vec(vec,l);
  18.  
  19. }
  20.  void init(int *vector,int size){
  21.  int j=0,cont=0;
  22.  for(j=1;j<size;j++){
  23.  if(j%2!=0){
  24.  *(vector+j)=-1;
  25.  cont++;
  26.   }
  27.   }
  28.   printf("cambiaron %d de valor:\n",cont);
  29.  }
  30.  
  31. void printi_vec(int *vector,int size){
  32. int j=0;
  33. for(j=1;j<size;j++){
  34. printf("%d\n",*(vector+j));
  35. }
  36. }