Advertisement
borisdexter

Matrici 1

Jan 14th, 2020
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.81 KB | None | 0 0
  1. // i,j - pozicii na elementi na matrica
  2. // matrica[i][j] - element od matricata na pozicija i,j
  3. // prv red i=0, posleden red i=n-1, prva kolona j=0, posledna kolona j=n-1
  4.  
  5.  
  6. int main(){
  7. int red,kolona;
  8. scanf("%d%d",&red,&kolona);
  9. int matrica[red][kolona];
  10. int i,j;
  11. // for za red
  12. for(i=0;i<red;i++){
  13. // for za kolona
  14. for(j=0;j<kolona;j++){
  15. scanf("%d",&matrica[i][j]);
  16. }
  17. }
  18.  
  19.  
  20. int niza[red];
  21. int max=INT_MIN;
  22. int min=INT_MAX;
  23. for(i=0;i<red;i++){
  24.  
  25. // i - red, nulta kolona t.e. prviot element na sekoj red
  26. min=matrica[i][0];
  27. for(j=0;j<kolona;j++){
  28. if(matrica[i][j]<min){
  29. min=matrica[i][j];
  30. }
  31. }
  32. niza[i]=min;
  33. }
  34.  
  35. max=INT_MIN;
  36. min=INT_MAX;
  37. int indexMax=0;
  38. int indexMin=0;
  39.  
  40. for(i=0;i<red;i++){
  41. if(niza[i]>max){
  42. max=niza[i];
  43. indexMax=i;
  44. }
  45. if(niza[i]<min){
  46. min=niza[i];
  47. indexMin=i;
  48. }
  49. }
  50. /*
  51. indexMin j indexMax j
  52. 0 0 -> 2 0
  53. 0 1 -> 2 1
  54. 0 2 -> 2 2
  55. */
  56. int tmp;
  57. for(j=0;j<kolona;j++){
  58. tmp=matrica[indexMax][j];
  59. matrica[indexMax][j]=matrica[indexMin][j];
  60. matrica[indexMin][j]=tmp;
  61. }
  62.  
  63. for(i=0;i<red;i++){
  64. for(j=0;j<kolona;j++){
  65. printf("%d ", matrica[i][j]);
  66. }
  67. printf("\n");
  68. }
  69.  
  70.  
  71. // printaj najmaliot od sekoj red
  72. /*
  73. int najmalOdRed[red];
  74. int min=INT_MAX;
  75. for(i=0;i<red;i++){
  76.  
  77. // i - red, nulta kolona t.e. prviot element na sekoj red
  78. min=matrica[i][0];
  79. for(j=0;j<kolona;j++){
  80. if(matrica[i][j]<min){
  81. min=matrica[i][j];
  82. }
  83. }
  84. najmalOdRed[i]=min;
  85. }
  86.  
  87. for(i=0;i<red;i++){
  88. printf("%d ",najmalOdRed[i]);
  89. }
  90. printf("\n");
  91. */
  92.  
  93. // max ramka da odi vnatre, min od vnatre da odi na ramka
  94. /*
  95. int maxRamka=INT_MIN;
  96. int minVnatre=INT_MAX;
  97. for(i=0;i<red;i++){
  98. for(j=0;j<kolona;j++){
  99. // dali sme vo ramka
  100. if(i==0 || i==red-1 || j==0 || j==kolona-1){
  101. if(matrica[i][j]>maxRamka){
  102. maxRamka=matrica[i][j];
  103. }
  104. // dali ne sme vo ramka t.e. dali sme vnatre vo ramkata
  105. }else{
  106. if(matrica[i][j]<minVnatre){
  107. minVnatre=matrica[i][j];
  108. }
  109. }
  110. }
  111. }
  112.  
  113. for(i=0;i<red;i++){
  114. for(j=0;j<kolona;j++){
  115. // ramka
  116. if(i==0 || i==red-1 || j==0 || j==kolona-1){
  117. matrica[i][j]=minVnatre;
  118. }else{
  119. matrica[i][j]=maxRamka;
  120. }
  121. printf("%d ", matrica[i][j]);
  122. }
  123. printf("\n");
  124. }
  125. */
  126.  
  127. // smeni vrednosti spored X
  128. /*
  129. int x;
  130. scanf("%d",&x);
  131. for(i=0;i<red;i++){
  132. for(j=0;j<kolona;j++){
  133. if(matrica[i][j]>x){
  134. matrica[i][j]=1;
  135. }else if(matrica[i][j]<x){
  136. matrica[i][j]=-1;
  137. }else{
  138. matrica[i][j]=0;
  139. }
  140. }
  141. }
  142.  
  143. for(i=0;i<red;i++){
  144. for(j=0;j<kolona;j++){
  145. printf("%d ", matrica[i][j]);
  146. }
  147. printf("\n");
  148. }
  149. */
  150.  
  151. // parni redovi vs neparni koloni
  152. /*
  153. int sumaRed=0;
  154. int sumaKol=0;
  155. for(j=0;j<kolona;j++){
  156. for(i=0;i<red;i++){
  157. if(i%2==1){
  158. sumaRed+=matrica[i][j];
  159. }
  160. if(j%2==0){
  161. sumaKol+=matrica[i][j];
  162. }
  163. }
  164. }
  165. printf("Koloni %d:%d Redovi\n",sumaKol,sumaRed);
  166. */
  167. // suma i pozicija na najgolema kolona
  168. /*
  169. int sumaKol=0;
  170. int maxKol=0;
  171. int maxIndex=0;
  172. for(j=0;j<kolona;j++){
  173. sumaKol=0;
  174. for(i=0;i<red;i++){
  175. sumaKol+=matrica[i][j];
  176. }
  177. if(sumaKol>maxKol){
  178. maxKol=sumaKol;
  179. maxIndex=j;
  180. }
  181. }
  182. printf("Najgolema suma ima %d kolona, iznesuva %d\n", maxIndex,maxKol);
  183. */
  184.  
  185. // suma i pozicija na najgolem red
  186. /*
  187. int sumaRed=0;
  188. int maxRed=0;
  189. int maxIndex=0;
  190. for(i=0;i<red;i++){
  191. sumaRed=0;
  192. for(j=0;j<kolona;j++){
  193. sumaRed+=matrica[i][j];
  194. }
  195. if(sumaRed>maxRed){
  196. maxRed=sumaRed;
  197. maxIndex=i;
  198. }
  199. }
  200. printf("Najgolema suma ima %d red, iznesuva %d\n",maxRed, maxIndex);
  201. */
  202.  
  203.  
  204. // dali e simetrichna
  205. /*
  206. int flag=1;
  207. for(i=0;i<red;i++){
  208. for(j=0;j<kolona;j++){
  209. if(matrica[i][j]!=matrica[j][i]){
  210. flag=0;
  211. break;
  212. }
  213. }
  214. if(flag==0){
  215. break;
  216. }
  217. }
  218. if(flag==1){
  219. printf("Simetrichna e\n");
  220. }else{
  221. printf("Ne e simetrichna\n");
  222. }
  223. */
  224. /*
  225. 1 2 3
  226. 4 5 6
  227. 7 8 9
  228.  
  229. 00 01 02
  230. 10 11 12
  231. 20 21 22
  232.  
  233. 1 4 7
  234. 2 5 8
  235. 3 6 9
  236.  
  237. 00 10 20
  238. 01 11 21
  239. 02 12 22
  240. */
  241.  
  242. // sredna vrednost na matrica
  243. /*
  244. int suma=0;
  245. for(i=0;i<red;i++){
  246. for(j=0;j<kolona;j++){
  247. suma+=matrica[i][j];
  248. }
  249. }
  250. printf("Sredna vrednost e %.2f\n", suma/(float)(red*kolona));
  251. */
  252.  
  253. // dali e samo 1 i 0 matrica
  254. /*
  255. int flag=1;
  256. for(i=0;i<red;i++){
  257. for(j=0;j<kolona;j++){
  258. if(matrica[i][j]!=1 && matrica[i][j]!=0){
  259. printf("Ne e samo od 1 i 0\n");
  260. flag=0;
  261. break;
  262. }
  263. }
  264. if(flag==0){
  265. break;
  266. }
  267. }
  268.  
  269. if(flag==1){
  270. printf("Matricata e samo od 1 i 0\n");
  271. }
  272. */
  273.  
  274.  
  275. return 0;
  276. }
  277.  
  278. // posledno pojavuvanje na max vo matrica
  279. /*
  280. int max=matrica[0][0];
  281. int pamtiRed=0;
  282. int pamtiKolona=0;
  283. for(i=0;i<red;i++){
  284. for(j=0;j<kolona;j++){
  285. // tuka e forata >=
  286. if(matrica[i][j]>=max){
  287. max=matrica[i][j];
  288. pamtiRed=i;
  289. pamtiKolona=j;
  290. }
  291. }
  292. }
  293. printf("Najgolem element e %d, se naogja na pozicija %d%d\n",max,pamtiRed,pamtiKolona);
  294. */
  295.  
  296.  
  297.  
  298.  
  299. /*
  300. 1 2 3
  301. 4 5 6
  302. 7 8 9
  303.  
  304. 3x3
  305.  
  306. ij ij ij
  307. 00 01 02
  308. 10 11 12
  309. 20 21 22
  310.  
  311. int main(){
  312. int red,kolona;
  313. scanf("%d%d",&red,&kolona);
  314. int matrica[red][kolona];
  315. int i,j;
  316. // for za red
  317. for(i=0;i<red;i++){
  318. // for za kolona
  319. for(j=0;j<kolona;j++){
  320. scanf("%d",&matrica[i][j]);
  321. }
  322. }
  323. printf("\n");
  324. for(i=0;i<red;i++){
  325. // for za kolona
  326. for(j=0;j<kolona;j++){
  327. printf("%d%d ",i,j);
  328. }
  329. printf("\n");
  330. }
  331. return 0;
  332. }
  333. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement