zipzippy

Lab5 - Matrici

Nov 13th, 2016
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.67 KB | None | 0 0
  1. LINII:
  2.  
  3. #include <stdio.h>
  4. int main(){
  5.  
  6. int r,c,i,j;
  7. scanf("%d%d",&r,&c);
  8. int arr[r][c];
  9. int ans = 0;
  10. int sum = 0;
  11. for(i=0;i<r;i++){
  12. sum = 0;
  13. for(j=0;j<c;j++){
  14. scanf("%d",&arr[i][j]);
  15. if(sum==3) continue;
  16. if(arr[i][j]==0) sum = 0;
  17. else sum++;
  18. }
  19. if(sum==3) ans++;
  20. }
  21. printf("%d",ans);
  22.  
  23. return 0;
  24. }
  25.  
  26. MATRICA:
  27.  
  28. #include <stdio.h>
  29. int main(){
  30.  
  31. int p,i,j,k,broj,zbir,zbir1,x,y;
  32. scanf("%d",&k);
  33. int mat[k][k],rez[k][k];
  34. for(i=0;i<k;i++){
  35. for(j=0;j<k;j++){
  36. scanf("%d",&mat[i][j]);
  37. rez[i][j]=mat[i][j];
  38. }
  39. }
  40. p=k-1;
  41. for(i=0;i<k;i++){
  42. zbir=zbir1=0;
  43. for(j=0;j<k;j++){
  44. if(i==j){
  45. x=i; y=j;
  46. y++;
  47. while(y<k){
  48. zbir+=mat[x][y];
  49. y++;
  50. }
  51. x=i; y=j;
  52. x--;
  53. while(x>=0){
  54. zbir+=mat[x][y];
  55. x--;
  56. }
  57. }
  58. if(j==p){
  59. x=i; y=j;
  60. y--;
  61. while(y>=0){
  62. zbir1+=mat[x][y];
  63. y--;
  64. }
  65. x=i; y=j;
  66. x++;
  67. while(x<k){
  68. zbir1+=mat[x][y];
  69. x++;
  70. }
  71. }
  72. if(j==p&&i==j) rez[i][j]=zbir+zbir1;
  73. else{
  74. if(j==p) rez[i][j]=zbir1;
  75. if(i==j) rez[i][j]=zbir;
  76. }
  77. }
  78. p--;
  79. }
  80. for(i=0;i<k;i++){
  81. for(j=0;j<k;j++){
  82. printf("%d ",rez[i][j]);
  83. }
  84. printf("\n");
  85. }
  86.  
  87. }
  88.  
  89. REGIONI NA MATRICA
  90.  
  91. #include <stdio.h>
  92. int mat[100][100],res[100][100];
  93. int r;
  94.  
  95. void region1(int i,int j)
  96. {
  97. int sum=0,k,red=0,a,b;
  98. a=i; b=j;
  99. while(i<=j){
  100. for(k=i;k<=j;k++){
  101. sum+=mat[red][k];
  102. }
  103. red++;
  104. i++;
  105. j--;
  106. }
  107. i=a; j=b; red=0;
  108. while(i<=j){
  109. for(k=i;k<=j;k++){
  110. res[red][k] = sum - mat[red][k];
  111. }
  112. red++;
  113. i++;
  114. j--;
  115. }
  116.  
  117.  
  118. }
  119.  
  120. void region2(int i,int j)
  121. {
  122. int sum=0,k,red=r-1,a,b;
  123. a=i; b=j;
  124. while(i<=j){
  125. for(k=i;k<=j;k++){
  126. sum+=mat[k][red];
  127. }
  128. red--;
  129. i++;
  130. j--;
  131. }
  132. i=a; j=b; red=r-1;
  133. while(i<=j){
  134. for(k=i;k<=j;k++){
  135. res[k][red] = sum - mat[k][red];
  136. }
  137. red--;
  138. i++;
  139. j--;
  140. }
  141.  
  142. }
  143. void region3(int i,int j)
  144. {
  145. int sum=0,k,red=0,a,b;
  146. a=i; b=j;
  147. while(i<=j){
  148. for(k=i;k<=j;k++){
  149. sum+=mat[k][red];
  150. }
  151. red++;
  152. i++;
  153. j--;
  154. }
  155. i=a; j=b; red=0;
  156. while(i<=j){
  157. for(k=i;k<=j;k++){
  158. res[k][red]= sum - mat[k][red];
  159. }
  160. red++;
  161. i++;
  162. j--;
  163. }
  164.  
  165. }
  166. void region4(int i,int j)
  167. {
  168. int sum=0,k,red=r-1,a,b;
  169. a=i; b=j;
  170. while(i<=j){
  171. for(k=i;k<=j;k++){
  172. sum+=mat[red][k];
  173. }
  174. red--;
  175. i++;
  176. j--;
  177. }
  178. i=a; j=b; red=r-1;
  179. while(i<=j){
  180. for(k=i;k<=j;k++){
  181. res[red][k] = sum - mat[red][k];
  182. }
  183. red--;
  184. i++;
  185. j--;
  186. }
  187.  
  188. }
  189.  
  190. int main(){
  191. int i,j,zbir,r1,r2,r3,r4,k;
  192. scanf("%d",&r);
  193.  
  194. for(i=0;i<r;i++)
  195. for(j=0;j<r;j++)
  196. {
  197. scanf("%d",&mat[i][j]);
  198. res[i][j]=0;
  199. }
  200. k=r-1;
  201.  
  202.  
  203.  
  204. region1(1,r-2);
  205. region2(1,r-2);
  206. region3(1,r-2);
  207. region4(1,r-2);
  208.  
  209. for(i=0;i<r;i++){
  210. for(j=0;j<r;j++){
  211. if(i==j) mat[i][j]=0;
  212. if(j==k) mat[i][j]=0;
  213. }
  214. k--;
  215. }
  216.  
  217. for(i=0;i<r;i++){
  218. for(j=0;j<r;j++){
  219. printf("%d ",res[i][j]);
  220. }
  221. printf("\n");
  222. }
  223.  
  224.  
  225. return 0;
  226. }
  227.  
  228. SOSEDI:
  229.  
  230. #include <stdio.h>
  231. int main(){
  232. int r,c,i,j;
  233. scanf("%d%d",&r,&c);
  234. int mat[r][c],rez[r][c];
  235. for(i=0;i<r;i++){
  236. for(j=0;j<c;j++){
  237. scanf("%d",&mat[i][j]);
  238. rez[i][j]=0;
  239. }
  240. }
  241.  
  242. for(i=0;i<r;i++){
  243. for(j=0;j<c;j++){
  244. if(i+1<r&&mat[i+1][j]>mat[i][j]) rez[i][j]+=mat[i+1][j];
  245. if(i-1>=0 && mat[i-1][j]>mat[i][j]) rez[i][j]+=mat[i-1][j];
  246. if(j+1<c && mat[i][j+1]>mat[i][j]) rez[i][j]+=mat[i][j+1];
  247. if(j-1>=0 && mat[i][j-1]>mat[i][j]) rez[i][j]+=mat[i][j-1];
  248.  
  249. }
  250. }
  251.  
  252. for(i=0;i<r;i++){
  253. for(j=0;j<c;j++){
  254. printf("%d ",rez[i][j]);
  255. }
  256. printf("\n");
  257. }
  258.  
  259. }
  260.  
  261. SUMA NA MATRICI:
  262.  
  263. #include <stdio.h>
  264. int main(){
  265. int r,c,i,j,sum=0,broj;
  266. scanf("%d%d",&r,&c);
  267. for(i=0;i<r;i++)
  268. for(j=0;j<c;j++){
  269. scanf("%d",&broj);
  270. sum+=broj;
  271. }
  272. printf("%d",sum);
  273.  
  274. }
Advertisement
Add Comment
Please, Sign In to add comment