Advertisement
Guest User

lab2

a guest
Apr 24th, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.31 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. //zadanie 1
  5. int any_v(int *array, int nelem){
  6. int pom = 0;
  7. for(int i = 0; i < nelem; i++){
  8. if(array[i] != 0)
  9. pom = 1;
  10. }
  11. return pom;
  12. }
  13. //zadanie 2
  14. int all_v(int *array, int nelem){
  15. int pom = 1;
  16. for(int i = 0; i < nelem; i++){
  17. if(array[i] == 0 )
  18. pom = 0;
  19. }
  20. return pom;
  21. }
  22. //zadanie 3
  23. void any_a(int *array, int nrows, int ncols, int dim, int *result){
  24. int pom = 0;
  25. if(dim == 1){
  26. for(int i = 0; i < nrows; i++){
  27. pom = 0;
  28. for(int j = 0; j < ncols; j++){
  29. if(*((array + i * ncols) + j) != 0)
  30. pom = 1;
  31. }
  32. result[i] = pom;
  33. }
  34. }
  35. else if(dim == 2){
  36. for(int i = 0; i < ncols; i++){
  37. pom = 0;
  38. for(int j = 0; j < nrows; j++){
  39. if(*((array + j * ncols)+i) != 0)
  40. pom = 1;
  41. }
  42. result[i] = pom;
  43. }
  44. }
  45. else{
  46. printf("Wartosc dim powinna byc rowna 1, lub 2\n");
  47. }
  48. }
  49. //zadanie 4
  50. void all_a(int *array, int nrows, int ncols, int dim, int *result){
  51. if(dim == 1){
  52. for(int i =0; i < nrows ; i++){
  53. int wynik = 1;
  54. for(int l =0; l < ncols ; l++){
  55. if(*((array+i*ncols) + l) == 0){
  56. wynik = 0;
  57. }
  58. *(result + i) = wynik;
  59. }
  60. }
  61.  
  62. }else if(dim == 2){
  63. for(int i =0; i < ncols ; i++){
  64. int wynik= 1;
  65. for( int l =0; l < nrows ; l++){
  66. if(*((array+l*ncols) + i) ==0){
  67. wynik = 0;
  68. }
  69. *(result + i) = wynik;
  70. }
  71. }
  72.  
  73. }else{
  74. printf("Wartosc dim powinna byc rowna 1, lub 2\n");
  75. }
  76. }
  77.  
  78. int main()
  79. {
  80.  
  81. //sprawdzenie zadania 1
  82.  
  83. int tab1[10];
  84. for(int i = 0; i < 10; i++){
  85. tab1[i] = i;
  86. }
  87. printf("Sprawdzenie 1 zad: %d\n",any_v(tab1, 10));
  88.  
  89. printf("\n");
  90. //sprawdzenie zadania 2
  91.  
  92. int tab2[10];
  93. for(int i = 0; i < 10;i++){
  94. tab2[i] = i;
  95. }
  96. printf("Sprawdzenie 2 zad: %d\n",all_v(tab2, 10));
  97.  
  98. printf("\n");
  99. //sprawdzenie zadania 3
  100. int tab3[3][4] = {{0,0,0,0},{0,1,2,3}, {5,1,0,0}};
  101. int arr3a[3];
  102. int arr3b[4];
  103. any_a(tab3, 3, 4, 1,arr3a);
  104. printf("Sprawdzenie zadania 3 dla dim == 1: ");
  105. for(int i = 0; i < 3; i++){
  106. printf("%d ",arr3a[i]);
  107. }
  108. printf("\n");
  109. any_a(tab3, 3, 4, 2,arr3b);
  110. printf("Sprawdzenie zadania 3 dla dim == 2: ");
  111. for(int i = 0; i < 4; i++){
  112. printf("%d ",arr3b[i]);
  113. }
  114. printf("\n");
  115.  
  116. printf("\n");
  117. //sprawdzenie zadania 4
  118. int tab4[3][4] = {{0,3,0,0},{0,1,2,3}, {5,1,0,0}};
  119. int arr4a[3];
  120. int arr4b[4];
  121. all_a(tab4, 3, 4, 1,arr4a);
  122. printf("Sprawdzenie zadania 4 dla dim == 1: ");
  123. for(int i = 0; i < 3; i++){
  124. printf("%d ",arr4a[i]);
  125. }
  126. printf("\n");
  127. all_a(tab4, 3, 4, 2,arr4b);
  128. printf("Sprawdzenie zadania 4 dla dim == 2: ");
  129. for(int i = 0; i < 4; i++){
  130. printf("%d ",arr4b[i]);
  131. }
  132. printf("\n");
  133.  
  134. return 0;
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement