Advertisement
Guest User

Untitled

a guest
Sep 16th, 2019
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.32 KB | None | 0 0
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package tomb;
  7.  
  8. /**
  9. *
  10. * @author Admin
  11. */
  12. public class Tomb {
  13.  
  14. /**
  15. * @param args the command line arguments
  16. */
  17. public static void main(String[] args) {
  18. int i,j,szum,max,min,db,n=20; //ELEMI VÁLTOZÓK
  19. int A[] = new int[n]; //öSSZETETT VÁLT. - TÖMB
  20. //Tömb feltöltése
  21. for( i=0; i<n; i++)
  22. {
  23. A[i]=(int) (Math.random()*90+10);
  24. System.out.print((i+1)+"."+A[i]+" "); //Kiíratás sorszámmal
  25. }
  26. //1. Tömb átlaga - összegzés
  27. szum=0;
  28. for(i=0;i<n;i++)
  29. szum=szum+A[i];
  30. System.out.println("A tömb átlaga: "+(szum/n)); //Egészrész átlag
  31. //2. Szerepel-e 15tel osztható szám - eldöntés
  32. i=0;
  33. while(i<n && A[i] % 15 != 0) //Amíg i kisebb mint az elemszám és nem T tulajdonságú
  34. i++;
  35. if (i<n) System.out.println("VAN 15tel osztható!");
  36. else System.out.println("NINCS 15tel osztható!");
  37. //3. Első 3alosztható - biztos hogy van - kiválasztás
  38. i=0;
  39. while(A[i] % 3 !=0) //Ugyanaz mint az eldöntés, csak nem kell figyelni az elemszámot
  40. i++;
  41. System.out.println("Az első hárommal osztható: "+A[i]);
  42. //4. Keressen egy 95-nél nagyobb elemet - keresés(lin)
  43. i=0;
  44. while(i<n && A[i] <= 95) //Az eldöntés és a kiválasztás ötvözete
  45. i++;
  46. if (i<n) System.out.println("95-nél nagyobb, pl: "+(i+1)+". elem");
  47. else System.out.println("NINCS 95-nél nagyobb!");
  48. //5. Keress olyan számot ami 30nál kisebb és 3al osztható
  49. System.out.println();
  50. i=0; // Lineáris keresés 2 feltétellel... fontos a VAGY kapcsolat!!
  51. while( i<n && (A[i]>=30 || A[i] % 3 !=0))
  52. i++;
  53. if (i<n) System.out.println("VAN 30nál kisebb 3al osztható Aban pl.: "+A[i]);
  54. else System.out.println("NINCS 30nál kisebb 3al osztható Aban");
  55. //6. Hány darab páros szám van? - megszámlálás
  56. db=0;
  57. for (i=0; i<n; i++)
  58. if (A[i] % 2 == 0) db++;
  59. System.out.println(db+" darab páros szám van!");
  60. //7. Legnagyobb értéke - Maxkiválasztás
  61. max=0; // Az első elemet tekintem a legnagyobbnak
  62. for(i=1; i<n; i++)
  63. if (A[i] > A[max]) max=i; // Ha találok nagyobb elemet, megjegyzem a sorszámát
  64. System.out.println("Legnagyobb elem értéke: "+A[max]);
  65. //8. Válogassuk ki a 20 és 40 közé eső számokat új tömbbe
  66. int B[] = new int[n];
  67. db=0;
  68. for(i=0; i<n; i++)
  69. if (A[i]>20 && A[i]<40)
  70. B[db++]=A[i];
  71. System.out.println("A 20 és 40 közé eső elmek:");
  72. for(i=0; i<db; i++)
  73. System.out.print(B[i]+" ");
  74. if (db==0) System.out.println("NINCS 20 és 40 közötti");
  75. //9. A és K tömb metszete, hozzon létre egy A-hoz hasonló K-t
  76. System.out.println("\nK tömb elemei: ");
  77. int K[]=new int[n];
  78. for( i=0; i<n; i++) //Létrehozok egy új tömböt K!
  79. {
  80. K[i]=(int) (Math.random()*90+10);
  81. System.out.print((i+1)+"."+K[i]+" ");
  82. }
  83. int C[]=new int[n];
  84. db=0;
  85. for(i=0;i<n;i++) //Végigveszem az A tömb elemeit, és minden cikluslépésben futtatok egyeldöntést
  86. {
  87. j=0;
  88. while(j<n && A[i]!=K[j])
  89. j++;
  90. if (j<n)
  91. C[db++]=A[i];
  92. }
  93. System.out.print("\nA és K tömb közös elemei: ");
  94. for(i=0;i<db;i++)
  95. System.out.print(C[i]+" ");
  96. if (db==0) System.out.print("NINCS közös eleme A és K tömbnek!");
  97. //10. A és K tömb úniója
  98. System.out.println("Elkészítjük D tömbbe A és K tömb unioját!");
  99. int D[] = new int[2*n];
  100. for(i=0;i<n;i++) // Az első tömböt betesszük egy az egyben az unio tömbbe
  101. D[i]=A[i];
  102. db=n;
  103. for(i=0;i<n;i++) // Futtatok egy eldöntést hogy megnézzem a K tömb
  104. { // elemei közül melyik nincs benne A-ban
  105. j=0;
  106. while(j<n && K[i]!=A[j])
  107. j++;
  108. if (j>=n) D[db++]=K[i]; // Ha nem szerepel A-ban, mehet D-tömbbe
  109. }
  110. for(i=0;i<db;i++)
  111. System.out.print((i+1)+"."+D[i]+" "); //D tömb kiíratása sorszámmal
  112. //11. Adja meg K tömb legkisebb értékének sorszámát!
  113. System.out.println("\nA K tömb elemei:");
  114. for( i=0; i<n; i++) //Létrehozok egy új tömböt K!
  115. System.out.print((i+1)+"."+K[i]+" ");
  116. min=0;
  117. for(i=1;i<n;i++)
  118. if (K[i]<K[min]) min=i;
  119. System.out.println("\nA K tömb legkis. elem ssz.: "+(min+1));
  120. //12. Adja meg K tömbben mely két szomszédos szám között a legnagyobb különbség!
  121. int KUL[] = new int[19];
  122. for(i=0;i<n-1;i++) //Különbség tömb feltöltése, lehetne tömb nélkül is helyben
  123. KUL[i]=Math.abs(K[i]-K[i+1]);
  124. max=0;
  125. for(i=1;i<n-1;i++) //Max keresést futtatok rajta
  126. if (KUL[i]>K[max]) max=i;
  127. System.out.println("K tömb "+(max+1)+". eleme után legnagy. a kül.");
  128. //13. Adja meg melyek a prímszámok a K tömbben!
  129. System.out.println("K tömb prímszámai: ");
  130. db=0;
  131. int PRIM[] = new int[n];
  132. for(i=0;i<n;i++) //Sorra vesszük az elemeket
  133. {
  134. j=2; // Keresek lehetséges osztót
  135. while( j <= K[i]/2 && K[i] % j != 0)
  136. j++;
  137. if (j>K[i]/2) PRIM[db++]=K[i];
  138. } // Ha nincs túlfut a szám felén beteszem a PRIM tömbbe
  139. if (db==0) System.out.println("NINCS prím K-ban!!");
  140. else
  141. for(i=0;i<db;i++)
  142. System.out.print(PRIM[i]+" ");
  143. //14. Keressen K tömbben 50-nél kisebb 7-tel osztható számot!
  144. i=0;
  145. while( i<n && (A[i]>=50 || A[i] % 7 !=0))
  146. i++;
  147. if (i<n) System.out.println("\nVAN 50nél kisebb 7al osztható Aban pl.: "+A[i]);
  148. else System.out.println("\nNINCS 50nél kisebb 7al osztható Aban");
  149. //15. Van e-olyan szám K tömbben, ami egynél többször szerepel, ha igen mondjon rá példát!
  150. int ISM[] = new int[n/2];
  151. db=0;
  152. for(i=0;i<n;i++) //HF Eldöntés-kereséssel megcsinálni!!
  153. for(j=i+1;j<n;j++)
  154. if (K[i]==K[j])
  155. ISM[db++]=K[i];
  156. if(db==0) System.out.println("NINCS ism. elem K-ban");
  157. else System.out.println("VAN ism. elem K-ban pl.:"+ ISM[0]);
  158. //16. Adja meg hány olyan szám van(Kban), melynek a második számjegye egyel nagyobb mint azelső!
  159. db=0;
  160. for( i=0; i<n; i++)
  161. if ( K[i]/10 == K[i]-10*(K[i]/10)-1 )
  162. db++;
  163. System.out.println("A második eggyel nagyobb mint az első: "+db);
  164. //17. Adja meg Kban a számok hány százaléka nagyobb, mint K átlaga!
  165. szum=0;
  166. for ( i = 0; i < n; i++)
  167. szum += K[i];
  168. db=0;
  169. for (i = 0; i < n; i++) {
  170. if (K[i]>szum/n)
  171. db++;
  172. System.out.println(db+"");
  173.  
  174. }
  175.  
  176. //18. Adja meg van-e szimmetrikus páros szám K-ban? (pl:88)
  177. i=0;
  178. while (i<n && K[i] % 22 != 0)
  179. i++;
  180. if (i<n) System.out.println("VAN páros tükör: "+(i+1));
  181. else System.out.println("NINCS páros tükör!");
  182. //19. Adja meg a leghosszabb olyan részsorozatot, amikor K-ban nőnek az elemek!
  183. int maxhossz=0;
  184. int sorsz=0;
  185. for( i=0;i<n;i++ )
  186. {
  187. j=i;
  188. while (j<n-1 && K[j]<K[j+1])
  189. j++;
  190. if (j-i>maxhossz)
  191. {
  192. maxhossz=j-i;
  193. sorsz=i;
  194. }
  195. }
  196. System.out.println("A legh. növ sorozat "+(sorsz+1)+". elemtől "+maxhossz+" elemen át!");
  197. //20. Rendezze a K tömböt csökkenő sorrendben!! Írassa is ki!
  198. for(i=n-1;i>0;i--) //Egyszerű buborék rendezés
  199. for(j=0;j<i;j++)
  200. if(A[j]>A[j+1])
  201. {
  202. int sv=A[j];
  203. A[j]=A[j+1];
  204. A[j+1]=sv;
  205. }
  206. System.out.print("Rendezett A tömb: ");
  207. for( i=0; i<n; i++) //1
  208. System.out.print((i+1)+"."+A[i]+" "); //Kiíratás sorszámmal
  209. System.out.println("");
  210. //21. Adja meg hány ismétlődő elem van K-ban!
  211.  
  212. //22. Keressen egy olyan Kbeli elemet, melynek két szomszédos elemének összege kisebb, mintadott elem!
  213. //23. Adja meg mely Kbeli elem van legközelebb a sorozat átlagához!
  214. //24. Keressen olyan elemet, amely osztója a rákövetkezőjének?
  215. //25. Rendezze A tömböt növekvő sorrendbe!
  216. for(i=n-1;i>0;i--) //Egyszerű buborék rendezés
  217. for(j=0;j<i;j++)
  218. if(A[j]>A[j+1])
  219. {
  220. int sv=A[j];
  221. A[j]=A[j+1];
  222. A[j+1]=sv;
  223. }
  224. System.out.print("Rendezett A tömb: ");
  225. for( i=0; i<n; i++) //1
  226. System.out.print((i+1)+"."+A[i]+" "); //Kiíratás sorszámmal
  227. //26. Szerepel-e a 78-as? (log. ker.)
  228. int E=0, V=n-1, KOZ;
  229. do {
  230. KOZ=(E+V)/2; // Felezgetem az intervallumokat amíg nincs meg a keresett elem
  231. if(A[KOZ]<78) E=KOZ+1;
  232. if(A[KOZ]>78) V=KOZ-1;
  233. } while(E<=V && A[KOZ]!=78);
  234. if (E<=V) System.out.println("\nSzerepel a 78 az A tömbben! "+(KOZ+1));
  235. else System.out.println("\nNem szerepel a 78 az A tömbben! ");
  236. //27. Adja meg, mekkora a második legnagyobb különbség A tömb szomszédos elemei között!
  237.  
  238. //28. Adja meg függvénnyel A tömb prímszámait!
  239. //29. Adja meg hány olyan szám van A-ban amely nagyobb mint a szomszédai átlaga!
  240. //30. Adja meg van-e és ha igen hol olyan szám K-ban, amely 50-nél nagyobb, prím, amelynagyobb a két szomszédjánakátlagától!
  241. } }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement