• Jueves 28 de Marzo de 2024, 14:36

Autor Tema:  Poner Un Elemento En Medio De U Vector  (Leído 1254 veces)

utz

  • Miembro activo
  • **
  • Mensajes: 44
    • Ver Perfil
Poner Un Elemento En Medio De U Vector
« en: Martes 10 de Junio de 2008, 18:08 »
0
hola, tengo un vector de un maximo de 7 elementos, sus elementos son 0 1 2 3 4 5.

y quiero ponerle un 10 entre el 2 y el 3 de modo que quede 0 1 2 10 3 4 5.


tengo el siguiente codigo con algo avanzado, pero no se si estoy poniendo algo mal o todo mal... espero su consejo


#include<stdlib.h>
#include<stdio.h>
int vector[7];
int i, b;
main()
{
      printf("el vector es: ");
       for(i=0;i<6;i++)
      {
                       vector=i;
                       printf(" %i",vector);
      }
     
     
      b=0;
     
      printf("\n\nAhora pondremos un 10 en medio del vector\n");
      getchar();
      getchar();
     
      for(i=0;i<7;i++)
      {
                      b=0;
                      if (i=3)
                      {
                              b=7;
                      }
                      vector=i+b;
                      printf(" %i",vector);
      }
      printf("el vector queda de la siguiente forma: %i",vector);
      getchar();
      getchar();
}



y supongo que sabiendo  esto, podre saber como poner cualquiel elemento denrto del vector y se me facilitara para hacerlo con matrices...


gracias y saludos

Riskz

  • Miembro activo
  • **
  • Mensajes: 39
    • Ver Perfil
Re: Poner Un Elemento En Medio De U Vector
« Respuesta #1 en: Martes 10 de Junio de 2008, 19:22 »
0
Citar
if (i=3)
Tienes que utilizar el operador '=='. Quedate tranquilo que es un error muy comun, aunque mas que un error es un despiste...

Fijate que en tu programa la salida sera "0 1 2 10 4 5 6" y no "0 1 2 10 3 4 5" como querias, esto se debe a que cambias el valor de vector[3], no lo "corres"

Aca te dejo el codigo modificado y un poco mas legible:
Código: Text
  1.  
  2. #include&#60;stdlib.h&#62;
  3. #include&#60;stdio.h&#62;
  4.  
  5. int vector[7];
  6. int i;
  7.  
  8. main() {
  9.        printf(&#34;El vector es: &#34;);
  10.        for(i=0;i&#60;6;i++) {
  11.                         vector[i]=i;
  12.                         printf(&#34; %i&#34;,vector[i]);
  13.                         }              
  14.        printf(&#34;&#092;n&#092;nAhora pondremos un 10 en medio del vector&#092;n&#34;);
  15.        getchar();
  16.        printf(&#34;El vector queda de la siguiente forma: &#34;);
  17.        for(i=0;i&#60;7;i++) {
  18.                         if (i==3) {
  19.                                   vector[6]=vector[5];
  20.                                   vector[5]=vector[4];
  21.                                   vector[4]=vector[3];
  22.                                   vector[3]=10;
  23.                                   }
  24.                         printf(&#34; %i&#34;,vector[i]);
  25.                         }
  26.        getchar();
  27. }
  28.  
  29.  

Fijate que ya no utilizo la variable b, directamente cuando llega al vector[3] corre los valores y luego le asigna 10.

NOTAS:
* Elimine el doble "getchar()" ya que no le veo utilidad, pero eso corre por tu cuenta
* Trata de escribir el codigo de una manera mas legible, dejando espacios para jerarquizarlo y que no este todo en el mismo nivel (ojo esto es un consejo, si tu te entiendes de esa manera no hay nadie que pueda decirte que no o hagas asi). Fijate en el codigo que te di yo que por lo menos para mi es mas entendible. Muchos IDE y editores te ayudan a hacerlo

utz

  • Miembro activo
  • **
  • Mensajes: 44
    • Ver Perfil
Re: Poner Un Elemento En Medio De U Vector
« Respuesta #2 en: Martes 10 de Junio de 2008, 23:29 »
0
uii... gracias por ayudarme... que un error de esos me puede costar hasta el ramo..


ahora tratare de hacer lo mismo con una matriz a ver que tal me va...

muchas gracias por tu ayuda...


saludos