Advertisement
Holek

Untitled

Feb 9th, 2017
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. /*
  4. (25 pkt) Napisz funkcję, która dostaje jako parametr dynamiczną dwuwymiarową tablicę liczb
  5. całkowitych i jej wymiary n, m. Funkcja ma zwrócić 1, jeśli na brzegach (tzn. w pierwszym
  6. i ostatnim wierszu oraz w pierwszej i ostatniej kolumnie) tablicy występują wartości tylko
  7. niezerowe; w przeciwnym razie funkcja ma zwrócić 0.
  8. */
  9. int funkcja(int **tab, int n, int m){
  10.     // mozemy zrobic 2 fory - jeden do sprawdzenia dwoch kolumn na brzegach, drugi do sprawdznia pierwszego i ostatniego wiersza
  11.     int i; // to nam do fora potrzebne
  12.     // tab[n][m] - n - wiersze m - kolumny
  13.     for(i=0;i<n;i++){ // sprawdzamy pierwssza i ostatnia kolumne
  14.         if((tab[i][0] == 0) || (tab[i][m-1] == 0)){ // jesli pojawia sie jakas wartosc zerrowa
  15.             return 0; // zwracamy zero
  16.            // break; // konczymy funkcje
  17.            printf("%i", tab[i][i]);
  18.         }
  19.  
  20.     }
  21.     for(i=0;i<m;i++){ // sprawdzamy pierwszy i ostatni wiersz
  22.         if((tab[0][i] == 0) || tab[n-1][i] == 0){ // dajemy n-1 bo nie ma elementu tab[3] bo tablica konczy sie na tab[2]
  23.             return 0;
  24.             break;
  25.         }
  26.  
  27.     }
  28.     // Jesli funkcja nie została wczesniej przerwana, to znaczy ze na krawedziach nie ma wartosci zerowyc i mozemy zwrocic 0
  29.     return 1;
  30. }
  31. int main()
  32. {
  33.     int i;
  34.     int **tab;
  35.     tab=(int**)malloc(3*sizeof(int *));
  36.     for(i=0;i<3;i++)
  37.         tab[i]=(int *)malloc(3*sizeof(int));
  38.     tab[0][0] = 1;
  39.     tab[0][1] = 1;
  40.     tab[0][2] = 1;
  41.     tab[1][0] = 1;
  42.     tab[1][1] = 0;
  43.     tab[1][2] = 1;
  44.     tab[2][0] = 1;
  45.     tab[2][1] = 1;
  46.     tab[2][2] = 1;
  47.     printf("%i",funkcja(tab,3,3));
  48.  
  49.  
  50.  
  51.     printf("Hello world!\n");
  52.     return 0;
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement