SHARE
TWEET

lab2

a guest Apr 24th, 2019 62 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top