fork download
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. int mxlen;
  4. int curlen=0;
  5. typedef struct point
  6. {
  7. int x,y;
  8.  
  9. } XY;
  10.  
  11. XY* insertatp(XY arr[],int p,int q,int idx){
  12. if(idx<0||idx>curlen)
  13. {
  14. printf("Err");
  15. return arr;
  16. }
  17. if (curlen==mxlen){
  18. mxlen= mxlen*2;
  19. arr=(XY*)realloc(arr,sizeof(XY)*mxlen);
  20. for(int i=curlen-1;i>=idx;i--)
  21. {
  22. arr[i+1].x= arr[i].x;
  23. arr[i+1].y=arr[i].y;
  24.  
  25. }
  26. arr[idx].x=p;
  27. arr[idx].y=q;
  28. curlen++;
  29. printf("New mxlen %d changed CURlen %d",mxlen,curlen);
  30. return arr;
  31. }
  32. else {
  33. for(int i=curlen-1;i>=idx;i--)
  34. {
  35. arr[i+1].x= arr[i].x;
  36. arr[i+1].y=arr[i].y;
  37.  
  38. }
  39. arr[idx].x=p;
  40. arr[idx].y=q;
  41. curlen++;
  42. printf("Unchanged mxlen %d changed CURlen %d",mxlen,curlen);
  43. return arr;
  44.  
  45. }
  46. }
  47.  
  48.  
  49.  
  50.  
  51. void printarr(XY arr[]){
  52. printf("Printing arr\n");
  53. for(int i=0; i<curlen; i++)
  54. {
  55. printf("%d %d",arr[i].x,arr[i].y);
  56. }
  57.  
  58.  
  59. }
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66. int main()
  67. {
  68. int u;
  69. printf("Enter Size: ");
  70. scanf("%d",&u);
  71. mxlen=u;
  72.  
  73. XY* arr=(XY*)malloc(sizeof(XY)*mxlen);
  74. printf("Insert arr\n");
  75. for(int i=0; i<u; i++)
  76. {
  77. scanf("%d %d",&arr[i].x,&arr[i].y);
  78. }
  79. curlen=u;
  80.  
  81.  
  82.  
  83. int n=3;
  84. while(n>0){
  85.  
  86. int p,q,idx;
  87. printf("Enter Coor and idx \n");
  88. scanf("%d %d %d",&p,&q,&idx);
  89. arr=insertatp(arr,p,q,idx);
  90. printarr(arr);
  91.  
  92. n--;
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102. }
  103.  
  104.  
  105.  
  106. free(arr);
  107.  
  108.  
  109. return 0;
  110. }
  111.  
Success #stdin #stdout 0s 5324KB
stdin
Standard input is empty
stdout
Enter Size: Insert arr
Enter  Coor  and idx 
ErrPrinting  arr
Enter  Coor  and idx 
ErrPrinting  arr
Enter  Coor  and idx 
ErrPrinting  arr