Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <limits.h>
- #include <time.h>
- #define N 4
- #define M 5
- struct point
- {
- int x,y;
- };
- int ile_ciagow_arytmetycznych(int **tab)
- {
- int r,i,j,result = 0,local_result;
- for(int i = 0; i < N; i++)
- {
- local_result = 1;
- r = tab[i][0] + tab[i][1];
- for(int j = 2; j < M; j++)
- {
- if(tab[i][j] - tab[i][j-1] != r)
- {
- local_result = 0;
- break;
- }
- }
- if(local_result)
- {
- result++;
- }
- }
- return result;
- }
- struct point znajdz_sume_minimalna(int** tab)
- {
- int suma, suma_min = INT_MAX;
- struct point result = {0,0};
- for(int i = 0; i < N; i++)
- {
- for(int j = 0; j < M; j++)
- {
- // licz sume
- suma = 0;
- int e1,e2,e3,e4,e5,e6,e7,e8;
- e1 = (i==0 || j==0) ? 0 : tab[i-1][j-1];
- e2 = i==0 ? 0 : tab[i-1][j];
- e3 = (i==0 || j==M-1) ? 0 : tab[i-1][j+1];
- e4 = j==M-1 ? 0 : tab[i][j+1];
- e8 = j==0 ? 0 : tab[i][j-1];
- e5 = (i==N-1 || j==M-1) ? 0 : tab[i+1][j+1];
- e6 = i==N-1 ? 0 : tab[i+1][j];
- e7 = (i==N-1 || j==0) ? 0 : tab[i+1][j-1];
- suma = e1 + e2 + e3 + e4 + e5 + e6 + e7 + e8;
- if(suma < suma_min)
- {
- result.x = j;
- result.y = i;
- suma_min = suma;
- }
- }
- }
- return result;
- }
- int** dawajTablice(int rows, int columns)
- {
- int** tab = (int**)malloc(rows*sizeof(int*));
- for(int i = 0; i < rows; i++)
- {
- tab[i] = (int*)malloc(columns*sizeof(int));
- }
- for(int i = 0; i < N; i++)
- {
- for(int j = 0; j < M; j++)
- {
- tab[i][j] = rand()%201 - 100;
- }
- }
- return tab;
- }
- void wypiszTablice(int** tab)
- {
- for(int i = 0; i < N; i++)
- {
- printf("\n");
- for(int j = 0; j < M; j++)
- {
- printf("%d\t",tab[i][j]);
- }
- }
- }
- void zwolnijTablice(int** tab)
- {
- for(int i = 0; i < N; i++)
- {
- free(tab[i]);
- }
- free(tab);
- }
- int main( void )
- {
- srand(time(NULL));
- int** tablica = dawajTablice(N,M);
- wypiszTablice(tablica);
- //struct point result = znajdz_sume_minimalna(tablica);
- //printf("wiersz=%d kolumna=%d",result.y+1,result.x+1);
- // zwolnijTablice(tablica);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement