Advertisement
Guest User

Untitled

a guest
Mar 24th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int a[100][100];
  4.  
  5. int prostoe(int x) {
  6. int i;
  7. if( x <= 0 ) return 0;
  8. if( x == 1 ) return 1;
  9.  
  10. for(i = 2; i < x; i++)
  11. if( x % i == 0 )
  12. return 0;
  13.  
  14. return 1;
  15. }
  16.  
  17. int sum(int n, int m, int x, int y) {
  18. int i, j, s = 0;
  19.  
  20. if( y+1 < n )
  21. for( j = 0; j < m; j++)
  22. if( prostoe(a[y+1][j]) )
  23. s = s + a[y+1][j];
  24.  
  25. if( y-1 >= 0 && x+1 < m )
  26. for(i = y-1, j = x+1; j < m && i >= 0; i--, j++)
  27. if( prostoe(a[i][j]) )
  28. s = s + a[i][j];
  29.  
  30. for(i = y, j = x; j >= 0 && i >= 0; i--, j--)
  31. if( prostoe(a[i][j]) )
  32. s = s + a[i][j];
  33.  
  34. for (i = y+1, j = m; j >= 0 && i <= n ; i++,j--)
  35. if( prostoe(a[i][j]) )
  36. s = s + a[i][j];
  37.  
  38. return s;
  39. }
  40.  
  41. void make_table(int n, int m) {
  42. int i, j, c=0;
  43. printf("#\ti\tj\tsum\n");
  44.  
  45. for(i = 0; i < n; i++)
  46. for(j = 0; j < m; j++) {
  47. c = c + 1;
  48. printf("%d\t%d\t%d\t%d\n", c, i, j, sum(n,m,j,i));
  49. }
  50. }
  51.  
  52. void vvod(int* n, int* m, int* x, int* y) {
  53. int i, j;
  54. printf("n m:");
  55. scanf("%d %d", n, m);
  56. printf("x y:");
  57. scanf("%d %d", x, y);
  58.  
  59. if( *n < 0 || *n >= 100 ) { printf("Bad input"); return; }
  60. if( *m < 0 || *m >= 100 ) { printf("Bad input!"); return; }
  61. if( *x < 0 || *x >= *m ) { printf("Bad input"); return; }
  62. if( *y < 0 || *y >= *n ) { printf("Bad input!"); return; }
  63.  
  64. printf("Vvedite massiv:\n");
  65. for(i = 0; i < *n; i++)
  66. for(j = 0; j < *m; j++)
  67. scanf("%d", &a[i][j]);
  68. }
  69.  
  70. int main(void) {
  71. int n, m, x, y;
  72.  
  73. vvod(&n, &m, &x, &y);
  74.  
  75. printf("\nfor (%d, %d) = %d\n", x, y, sum(n,m,x,y));
  76. make_table(n,m);
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement