borisdexter

Strukturno nizi

Dec 13th, 2019
286
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.62 KB | None | 0 0
  1. * Zadaci
  2. 1. Printaj gi site elementi pogolemi od 4
  3. 2. Printaj ja nizata vo obraten redosled
  4. 3. Proveri dali e rastecka/opagjachka
  5. 4. Izbroj kolku elementi ima ednakvi na X - vnesen od tastatura
  6. 5. Zbir parni vs. zbir neparni
  7. 6. Smeni parni vo 1 neparni vo 0
  8. 7. Suma na leva strana = suma na desna
  9. 8. Broj na parni na leva = broj na parni na desna
  10. 9. Vidi dali e ogledalo
  11. 10. Izbrishi gi site elementi ednakvi na X vo nizata
  12. 11. Vnesuvame dve nizi, stavi gi vo edna taka shto broevite pomali od 5 da odat na pocetok (niza1 pa niza2), broevite pogolemi od 5 da odat na kraj (niza1 pa niza2)
  13. 12. Izbrishi duplikati od niza
  14. 13. Sortiraj niza
  15.  
  16.  
  17.  
  18.  
  19. // niza[0] - prv chlen, niza[n-1] - posleden chlen
  20. // niza[i] - vrednosta na chlenot od nizata na pozicija i
  21. // i - pozicija na chlen
  22. // '\0' - null terminator - kraj na niza
  23. int main(){
  24. int n,i,j,x,k,pom,brojac=0;
  25. scanf("%d",&n);
  26. int niza[n];
  27. scanf("%d",&x);
  28. // input for
  29. for(i=0;i<n;i++){
  30. scanf("%d",&niza[i]);
  31.  
  32. }
  33. // k
  34. // i j
  35. // niza 1 2 4 3 2 2 7
  36. // 0 1 2 3 4 5 6
  37. // bezD 1 2 4 3 5 7
  38. // 0 1 2 3 4 5
  39. for(i=0;i<n;i++){
  40. for(j=i+1;j<n-1;j++){
  41. if(niza[i]==niza[j]){
  42. for(k=j;k<n-1;k++){
  43. niza[k]=niza[k+1];
  44. }
  45. // briseme od krajot edna cifra
  46. n--;
  47. // da pocne od pocetok ako ima eden do drug duplikat
  48. j--;
  49. }
  50. }
  51. }
  52. // zadaca 10
  53. // x = 2
  54. // niza1 1 2 4 3 2 5
  55. // 0 1 2 3 4 5
  56. // niza2 1 4 3 5
  57. // 0 1 2 3
  58. /*
  59. for(i=0;i<n;i++){
  60. if(niza[i]==x){
  61. for(j=i;j<n-1;j++){
  62. pom=niza[j];
  63. niza[j]=niza[j+1];
  64. niza[j+1]=pom;
  65. }
  66. }
  67. }
  68. n=n-brojac;
  69. for(k=0;k<n;k++){
  70. printf("%d ",niza[k]);
  71. }
  72.  
  73. /*
  74. // bubble sort
  75. // 1 5 4 3 2 -> 1 2 3 4 5
  76. // 1 4 3 2 5
  77. // 1 3 2 4 5
  78. // 1 2 3 4 5
  79. int pom;
  80. for(i=0;i<n;i++){
  81. for(j=0;j<n-i;j++){
  82. if(niza[j]>niza[j+1]){
  83. pom=niza[j];
  84. niza[j]=niza[j+1];
  85. niza[j+1]=pom;
  86. }
  87. }
  88. for(k=0;k<n;k++){
  89. printf("%d ",niza[k]);
  90. }
  91. printf("\n");
  92. }
  93.  
  94.  
  95.  
  96. // x = 2
  97. // niza1 1 2 4 3 2 5
  98. // 0 1 2 3 4 5
  99. // niza2 1 4 3 5
  100. // 0 1 2 3
  101. // resenie so pomosna niza
  102. /*
  103. int pomNiza[n];
  104. int brojac=0;
  105. for(i=0;i<n;i++){
  106. if(niza[i]!=x){
  107. pomNiza[brojac++]=niza[i];
  108. //brojac++;
  109. }
  110. }
  111. for(i=0;i<brojac;i++){
  112. printf("%d ",pomNiza[i]);
  113. }
  114. */
  115. // zadaca 9
  116. /*
  117. // 1 2 3 4 3 2 1
  118. // 0 1 2 3 4 5 6
  119. // 1 2 3 4 4 3 2 1
  120. // 0 1 2 3 4 5 6 7
  121. niza[0] == niza[n-1]
  122. niza[1] == niza[n-2]
  123. niza[2] == niza[n-3]
  124. niza[x] == niza[n-x-1]
  125. int flag=1;
  126. for(i=0;i<n/2;i++){
  127. if(niza[i]!=niza[n-i-1]){
  128. flag=0;
  129. break;
  130. }
  131. }
  132. if(flag){
  133. printf("Ogledalo e");
  134. }else{
  135. printf("Ne e ogledalo");
  136. }
  137.  
  138. // zadaca 8
  139. /*
  140. // n = 7 n/2 = 3
  141. // 1 2 8 |3| 7 4 1
  142. // 0 1 2 3 4 5 6
  143. // n = 8 n/2 = 4
  144. // 1 2 3 4 | 5 6 7 8
  145. // 0 1 2 3 | 4 5 6 7
  146. // prva polovina na nizata
  147. for(i=0;i<n/2;i++){
  148. if(niza[i]%2==0){
  149. brojacL++;
  150. }
  151. }
  152. // vtora polovina na nizata
  153. if(n%2==1){
  154. for(i=n/2+1;i<n;i++){
  155. if(niza[i]%2==0){
  156. brojacD++;
  157. }
  158. }
  159. }else{
  160. for(i=n/2;i<n;i++){
  161. if(niza[i]%2==0){
  162. brojacD++;
  163. }
  164. }
  165. }
  166. printf("Levo ima %d, desno ima %d",brojacL,brojacD);
  167. // zadaca 7
  168. /*
  169. int sumaP=0;
  170. int sumaNP=0;
  171. for(i=0;i<n;i++){
  172. // paren na parna pozicija
  173. if(niza[i]%2==0 && i%2==1){
  174. niza[i]=1;
  175. // neparen na neparna pozicija
  176. }else if(niza[i]%2==1 && i%2==0){
  177. niza[i]=1;
  178. }else{
  179. niza[i]=0;
  180. }
  181. }
  182. for(i=0;i<n;i++){
  183. printf("%d ", niza[i]);
  184. }
  185. // zadaca 6
  186. /*
  187. int sumaP=0;
  188. int sumaNP=0;
  189. for(i=0;i<n;i++){
  190. if(niza[i]%2==0){
  191. sumaP+=niza[i];
  192. }else{
  193. sumaNP+=niza[i];
  194. }
  195. }
  196. // zadaca 5
  197. /*
  198. scanf("%d",&x);
  199.  
  200. int brojac=0;
  201. for(i=0;i<n;i++){
  202. if(niza[i]==x){
  203. brojac++;
  204. }
  205. }
  206. printf("Vo nizata ima %d chlenovi ednakvi na %d",brojac,x);
  207.  
  208. // zadaca 4
  209. /*
  210. int flagR=1;
  211. int flagO=1;
  212. for(i=0;i<n-1;i++){
  213. if(niza[i]>=niza[i+1]){
  214. printf("Rastechka uslov %d\n",niza[i+1]);
  215. flagR=0;
  216. }
  217. if(niza[i]<=niza[i+1]){
  218. printf("Opagjachka uslov %d\n",niza[i+1]);
  219. flagO=0;
  220. }
  221.  
  222. }
  223.  
  224. if(flagR){
  225. printf("Rastechka");
  226. }else if(flagO){
  227. printf("Opagjachka");
  228. }else{
  229. printf("Ne e ni rastechka ni opagjachka");
  230. }
  231.  
  232. /*
  233. // zadaca 3
  234. for(i=n-1;i>=0;i--){
  235. printf("%d ", niza[i]);
  236. }
  237.  
  238. /*
  239. // zadaca for
  240.  
  241. // output for
  242. for(i=0;i<n;i++){
  243. // zadaca 2
  244. if(i%2==1){
  245. printf("%d ",niza[i]);
  246. }
  247. // zadaca 1
  248. if(niza[i]>4){
  249. printf("%d ",niza[i]);
  250. }
  251. }
  252. */
  253. printf("\n");
  254. return 0;
  255. }
Advertisement
Add Comment
Please, Sign In to add comment