Advertisement
josiftepe

Untitled

Apr 19th, 2021
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.16 KB | None | 0 0
  1. //Blagoja Mladenov
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5.  
  6. int main() {
  7. char *c;
  8. c = (char*) malloc(3 * sizeof(char));
  9. int **mat;
  10. mat = (int **)malloc(2000 * sizeof(int *));
  11. for(int i = 0; i < 2000; i++) {
  12. *(mat + i) = (int*) malloc(2000 * sizeof(int));
  13. }
  14. int *sz = (int*)malloc(2000 * sizeof(int));
  15. for(int i = 0; i < 2000; i++) {
  16. *(sz + i) = 0;
  17. }
  18. int r = 0;
  19. while(1) {
  20. scanf("%s", c);
  21. if(strcmp(c, "END") == 0) {
  22. break;
  23. }
  24. if(strcmp(c, "AFR") == 0) {
  25. int n;
  26. scanf("%d", &n);
  27. int *tmp = (int*) malloc(n * sizeof(int));
  28. for(int i = 0; i < n; i++) {
  29. scanf("%d", (tmp + i));
  30. }
  31. int **new = (int**)malloc((r + 1) * sizeof(int*));
  32. for(int i = 0; i < r; i++) {
  33. *(new + i + 1) = (int*)malloc((*(sz + i)) * sizeof(int));
  34. for(int j = 0; j < *(sz + i); j++) {
  35. *(*(new + i + 1) + j) = *(*(mat + i) + j);
  36. }
  37. }
  38. *(new) = (int*)malloc(n * sizeof(int));
  39. for(int i = 0; i < n; i++) {
  40. *(*(new + 0) + i) = *(tmp + i);
  41. }
  42. for(int i = r; i >= 0; i--) {
  43. *(sz + i) = *(sz + i - 1);
  44. }
  45. *sz = n;
  46. r++;
  47. for(int i = 0; i < r; i++) {
  48. for(int j = 0; j < *(sz + i); j++) {
  49. *(*(mat + i) + j) = *(*(new + i) + j);
  50. }
  51. }
  52. free(tmp);
  53. for(int i = 0; i < r; i++) {
  54. free(*(new + i));
  55. }
  56. free(new);
  57. }
  58. else if(strcmp(c, "ALR") == 0) {
  59. int n;
  60. scanf("%d", &n);
  61. for(int i = 0; i < n; i++) {
  62. scanf("%d", (*(mat + r) + i));
  63. }
  64. *(sz + r) = n;
  65. r++;
  66.  
  67. }
  68.  
  69. }
  70.  
  71. free(c);
  72. free(sz);
  73. for(int i = 0; i < r; i++) {
  74. free(*(mat + i));
  75. }
  76. free(mat);
  77.  
  78. return 0;
  79. }
  80.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement