Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- /*
- (25 pkt) Napisz funkcję, która dostaje jako parametr dynamiczną dwuwymiarową tablicę liczb
- całkowitych i jej wymiary n, m. Funkcja ma zwrócić 1, jeśli na brzegach (tzn. w pierwszym
- i ostatnim wierszu oraz w pierwszej i ostatniej kolumnie) tablicy występują wartości tylko
- niezerowe; w przeciwnym razie funkcja ma zwrócić 0.
- */
- int funkcja(int **tab, int n, int m){
- // mozemy zrobic 2 fory - jeden do sprawdzenia dwoch kolumn na brzegach, drugi do sprawdznia pierwszego i ostatniego wiersza
- int i; // to nam do fora potrzebne
- // tab[n][m] - n - wiersze m - kolumny
- for(i=0;i<n;i++){ // sprawdzamy pierwssza i ostatnia kolumne
- if((tab[i][0] == 0) || (tab[i][m-1] == 0)){ // jesli pojawia sie jakas wartosc zerrowa
- return 0; // zwracamy zero
- // break; // konczymy funkcje
- printf("%i", tab[i][i]);
- }
- }
- for(i=0;i<m;i++){ // sprawdzamy pierwszy i ostatni wiersz
- 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]
- return 0;
- break;
- }
- }
- // Jesli funkcja nie została wczesniej przerwana, to znaczy ze na krawedziach nie ma wartosci zerowyc i mozemy zwrocic 0
- return 1;
- }
- int main()
- {
- int i;
- int **tab;
- tab=(int**)malloc(3*sizeof(int *));
- for(i=0;i<3;i++)
- tab[i]=(int *)malloc(3*sizeof(int));
- tab[0][0] = 1;
- tab[0][1] = 1;
- tab[0][2] = 1;
- tab[1][0] = 1;
- tab[1][1] = 0;
- tab[1][2] = 1;
- tab[2][0] = 1;
- tab[2][1] = 1;
- tab[2][2] = 1;
- printf("%i",funkcja(tab,3,3));
- printf("Hello world!\n");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement