Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int a[100][100];
- int prostoe(int x) {
- int i;
- if( x <= 0 ) return 0;
- if( x == 1 ) return 1;
- for(i = 2; i < x; i++)
- if( x % i == 0 )
- return 0;
- return 1;
- }
- int sum(int n, int m, int x, int y) {
- int i, j, s = 0;
- if( y+1 < n )
- for( j = 0; j < m; j++)
- if( prostoe(a[y+1][j]) )
- s = s + a[y+1][j];
- if( y-1 >= 0 && x+1 < m )
- for(i = y-1, j = x+1; j < m && i >= 0; i--, j++)
- if( prostoe(a[i][j]) )
- s = s + a[i][j];
- for(i = y, j = x; j >= 0 && i >= 0; i--, j--)
- if( prostoe(a[i][j]) )
- s = s + a[i][j];
- for (i = y+1, j = m; j >= 0 && i <= n ; i++,j--)
- if( prostoe(a[i][j]) )
- s = s + a[i][j];
- return s;
- }
- void make_table(int n, int m) {
- int i, j, c=0;
- printf("#\ti\tj\tsum\n");
- for(i = 0; i < n; i++)
- for(j = 0; j < m; j++) {
- c = c + 1;
- printf("%d\t%d\t%d\t%d\n", c, i, j, sum(n,m,j,i));
- }
- }
- void vvod(int* n, int* m, int* x, int* y) {
- int i, j;
- printf("n m:");
- scanf("%d %d", n, m);
- printf("x y:");
- scanf("%d %d", x, y);
- if( *n < 0 || *n >= 100 ) { printf("Bad input"); return; }
- if( *m < 0 || *m >= 100 ) { printf("Bad input!"); return; }
- if( *x < 0 || *x >= *m ) { printf("Bad input"); return; }
- if( *y < 0 || *y >= *n ) { printf("Bad input!"); return; }
- printf("Vvedite massiv:\n");
- for(i = 0; i < *n; i++)
- for(j = 0; j < *m; j++)
- scanf("%d", &a[i][j]);
- }
- int main(void) {
- int n, m, x, y;
- vvod(&n, &m, &x, &y);
- printf("\nfor (%d, %d) = %d\n", x, y, sum(n,m,x,y));
- make_table(n,m);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement