Guest User

Untitled

a guest
Feb 8th, 2017
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.72 KB | None | 0 0
  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. }
Add Comment
Please, Sign In to add comment