Advertisement
lencinasalejo

insertar_en_vector

Apr 16th, 2019
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.73 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define TAM 7
  4. void Vector (int, int, int[], int*, int);
  5. void mostrar (int [], int);
  6. int main()
  7. {
  8.     int v[TAM]={10, 20, 30, 40}, num, pos;
  9.     /*v[0]=10;
  10.     v[1]=20;
  11.     v[2]=30;
  12.     v[3]=40;
  13.     v[4]=50;
  14.     v[5]=60;
  15.     v[6]=70;*/
  16.     scanf("%d", &num);
  17.     scanf("%d", &pos);
  18.     int ce=4;
  19.     mostrar(v, ce);
  20.     printf("\n");
  21.     Vector(num, pos, v, &ce, TAM);
  22.     //mostrar(v, ce);
  23.  
  24.     return 0;
  25.  
  26. }
  27. void Vector(int n, int p, int vec[], int*e, int tam){
  28.      int aux=*e, i;
  29.           if (p>tam || p>*e){
  30.         printf("No se pudo insertar");
  31.      }else{
  32.      for(i=aux; i>p; i--){
  33.         vec[i]=vec[i-1];
  34.  
  35.      }
  36.      vec[p]=n;
  37.      mostrar(vec, *e);
  38.      if (*e<tam){*e+=1;}
  39.      }
  40. }
  41. void mostrar(int v[], int n){
  42. int i;
  43. for (i=0; i<n; i++){
  44.     printf("%d\t", v[i]);
  45. }
  46. }
  47.  
  48.  
  49.  
  50. ///CON ARITMETICA DE PUNTEROS
  51.  
  52.  
  53. #include <stdio.h>
  54. #include <stdlib.h>
  55. #define TAM 7
  56. void insertar(int*, int, int, int*, int);
  57. void mostrar (int *, int);
  58.  
  59. int main()
  60. {
  61.     int v[TAM]= {1, 2, 3, 4, 5, 6, 7}, num, pos;
  62.     scanf("%d", &num);
  63.     scanf("%d", &pos);
  64.     int ce=7;
  65.     mostrar (v, ce);
  66.     printf("\n");
  67.     insertar(v, num, pos, &ce, TAM);
  68.     return 0;
  69. }
  70. void insertar(int *vec, int n, int p, int *e, int tam)
  71. {
  72.     int aux=*e, i;
  73.     if (p>=tam || p>*e)
  74.     {
  75.         printf ("No se pudo insertar\n");
  76.     }
  77.     else
  78.     {
  79.         for(i=aux; i>p; i--)
  80.         {
  81.             *(vec+i)=*(vec+i-1);
  82.         }
  83.         *(vec+p)=n;
  84.         if (*e<tam)
  85.         {
  86.             *e+=1;
  87.         }
  88.         mostrar (vec, *e);
  89.     }
  90.  
  91. }
  92. void mostrar(int *v, int n)
  93. {
  94.     int i;
  95.     for (i=0; i<n; i++)
  96.     {
  97.         printf("%d\t", *(v+i));
  98.     }
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement