Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package tomb;
- /**
- *
- * @author Admin
- */
- public class Tomb {
- /**
- * @param args the command line arguments
- */
- public static void main(String[] args) {
- int i,j,szum,max,min,db,n=20; //ELEMI VÁLTOZÓK
- int A[] = new int[n]; //öSSZETETT VÁLT. - TÖMB
- //Tömb feltöltése
- for( i=0; i<n; i++)
- {
- A[i]=(int) (Math.random()*90+10);
- System.out.print((i+1)+"."+A[i]+" "); //Kiíratás sorszámmal
- }
- //1. Tömb átlaga - összegzés
- szum=0;
- for(i=0;i<n;i++)
- szum=szum+A[i];
- System.out.println("A tömb átlaga: "+(szum/n)); //Egészrész átlag
- //2. Szerepel-e 15tel osztható szám - eldöntés
- i=0;
- while(i<n && A[i] % 15 != 0) //Amíg i kisebb mint az elemszám és nem T tulajdonságú
- i++;
- if (i<n) System.out.println("VAN 15tel osztható!");
- else System.out.println("NINCS 15tel osztható!");
- //3. Első 3alosztható - biztos hogy van - kiválasztás
- i=0;
- while(A[i] % 3 !=0) //Ugyanaz mint az eldöntés, csak nem kell figyelni az elemszámot
- i++;
- System.out.println("Az első hárommal osztható: "+A[i]);
- //4. Keressen egy 95-nél nagyobb elemet - keresés(lin)
- i=0;
- while(i<n && A[i] <= 95) //Az eldöntés és a kiválasztás ötvözete
- i++;
- if (i<n) System.out.println("95-nél nagyobb, pl: "+(i+1)+". elem");
- else System.out.println("NINCS 95-nél nagyobb!");
- //5. Keress olyan számot ami 30nál kisebb és 3al osztható
- System.out.println();
- i=0; // Lineáris keresés 2 feltétellel... fontos a VAGY kapcsolat!!
- while( i<n && (A[i]>=30 || A[i] % 3 !=0))
- i++;
- if (i<n) System.out.println("VAN 30nál kisebb 3al osztható Aban pl.: "+A[i]);
- else System.out.println("NINCS 30nál kisebb 3al osztható Aban");
- //6. Hány darab páros szám van? - megszámlálás
- db=0;
- for (i=0; i<n; i++)
- if (A[i] % 2 == 0) db++;
- System.out.println(db+" darab páros szám van!");
- //7. Legnagyobb értéke - Maxkiválasztás
- max=0; // Az első elemet tekintem a legnagyobbnak
- for(i=1; i<n; i++)
- if (A[i] > A[max]) max=i; // Ha találok nagyobb elemet, megjegyzem a sorszámát
- System.out.println("Legnagyobb elem értéke: "+A[max]);
- //8. Válogassuk ki a 20 és 40 közé eső számokat új tömbbe
- int B[] = new int[n];
- db=0;
- for(i=0; i<n; i++)
- if (A[i]>20 && A[i]<40)
- B[db++]=A[i];
- System.out.println("A 20 és 40 közé eső elmek:");
- for(i=0; i<db; i++)
- System.out.print(B[i]+" ");
- if (db==0) System.out.println("NINCS 20 és 40 közötti");
- //9. A és K tömb metszete, hozzon létre egy A-hoz hasonló K-t
- System.out.println("\nK tömb elemei: ");
- int K[]=new int[n];
- for( i=0; i<n; i++) //Létrehozok egy új tömböt K!
- {
- K[i]=(int) (Math.random()*90+10);
- System.out.print((i+1)+"."+K[i]+" ");
- }
- int C[]=new int[n];
- db=0;
- for(i=0;i<n;i++) //Végigveszem az A tömb elemeit, és minden cikluslépésben futtatok egyeldöntést
- {
- j=0;
- while(j<n && A[i]!=K[j])
- j++;
- if (j<n)
- C[db++]=A[i];
- }
- System.out.print("\nA és K tömb közös elemei: ");
- for(i=0;i<db;i++)
- System.out.print(C[i]+" ");
- if (db==0) System.out.print("NINCS közös eleme A és K tömbnek!");
- //10. A és K tömb úniója
- System.out.println("Elkészítjük D tömbbe A és K tömb unioját!");
- int D[] = new int[2*n];
- for(i=0;i<n;i++) // Az első tömböt betesszük egy az egyben az unio tömbbe
- D[i]=A[i];
- db=n;
- for(i=0;i<n;i++) // Futtatok egy eldöntést hogy megnézzem a K tömb
- { // elemei közül melyik nincs benne A-ban
- j=0;
- while(j<n && K[i]!=A[j])
- j++;
- if (j>=n) D[db++]=K[i]; // Ha nem szerepel A-ban, mehet D-tömbbe
- }
- for(i=0;i<db;i++)
- System.out.print((i+1)+"."+D[i]+" "); //D tömb kiíratása sorszámmal
- //11. Adja meg K tömb legkisebb értékének sorszámát!
- System.out.println("\nA K tömb elemei:");
- for( i=0; i<n; i++) //Létrehozok egy új tömböt K!
- System.out.print((i+1)+"."+K[i]+" ");
- min=0;
- for(i=1;i<n;i++)
- if (K[i]<K[min]) min=i;
- System.out.println("\nA K tömb legkis. elem ssz.: "+(min+1));
- //12. Adja meg K tömbben mely két szomszédos szám között a legnagyobb különbség!
- int KUL[] = new int[19];
- for(i=0;i<n-1;i++) //Különbség tömb feltöltése, lehetne tömb nélkül is helyben
- KUL[i]=Math.abs(K[i]-K[i+1]);
- max=0;
- for(i=1;i<n-1;i++) //Max keresést futtatok rajta
- if (KUL[i]>K[max]) max=i;
- System.out.println("K tömb "+(max+1)+". eleme után legnagy. a kül.");
- //13. Adja meg melyek a prímszámok a K tömbben!
- System.out.println("K tömb prímszámai: ");
- db=0;
- int PRIM[] = new int[n];
- for(i=0;i<n;i++) //Sorra vesszük az elemeket
- {
- j=2; // Keresek lehetséges osztót
- while( j <= K[i]/2 && K[i] % j != 0)
- j++;
- if (j>K[i]/2) PRIM[db++]=K[i];
- } // Ha nincs túlfut a szám felén beteszem a PRIM tömbbe
- if (db==0) System.out.println("NINCS prím K-ban!!");
- else
- for(i=0;i<db;i++)
- System.out.print(PRIM[i]+" ");
- //14. Keressen K tömbben 50-nél kisebb 7-tel osztható számot!
- i=0;
- while( i<n && (A[i]>=50 || A[i] % 7 !=0))
- i++;
- if (i<n) System.out.println("\nVAN 50nél kisebb 7al osztható Aban pl.: "+A[i]);
- else System.out.println("\nNINCS 50nél kisebb 7al osztható Aban");
- //15. Van e-olyan szám K tömbben, ami egynél többször szerepel, ha igen mondjon rá példát!
- int ISM[] = new int[n/2];
- db=0;
- for(i=0;i<n;i++) //HF Eldöntés-kereséssel megcsinálni!!
- for(j=i+1;j<n;j++)
- if (K[i]==K[j])
- ISM[db++]=K[i];
- if(db==0) System.out.println("NINCS ism. elem K-ban");
- else System.out.println("VAN ism. elem K-ban pl.:"+ ISM[0]);
- //16. Adja meg hány olyan szám van(Kban), melynek a második számjegye egyel nagyobb mint azelső!
- db=0;
- for( i=0; i<n; i++)
- if ( K[i]/10 == K[i]-10*(K[i]/10)-1 )
- db++;
- System.out.println("A második eggyel nagyobb mint az első: "+db);
- //17. Adja meg Kban a számok hány százaléka nagyobb, mint K átlaga!
- szum=0;
- for ( i = 0; i < n; i++)
- szum += K[i];
- db=0;
- for (i = 0; i < n; i++) {
- if (K[i]>szum/n)
- db++;
- System.out.println(db+"");
- }
- //18. Adja meg van-e szimmetrikus páros szám K-ban? (pl:88)
- i=0;
- while (i<n && K[i] % 22 != 0)
- i++;
- if (i<n) System.out.println("VAN páros tükör: "+(i+1));
- else System.out.println("NINCS páros tükör!");
- //19. Adja meg a leghosszabb olyan részsorozatot, amikor K-ban nőnek az elemek!
- int maxhossz=0;
- int sorsz=0;
- for( i=0;i<n;i++ )
- {
- j=i;
- while (j<n-1 && K[j]<K[j+1])
- j++;
- if (j-i>maxhossz)
- {
- maxhossz=j-i;
- sorsz=i;
- }
- }
- System.out.println("A legh. növ sorozat "+(sorsz+1)+". elemtől "+maxhossz+" elemen át!");
- //20. Rendezze a K tömböt csökkenő sorrendben!! Írassa is ki!
- for(i=n-1;i>0;i--) //Egyszerű buborék rendezés
- for(j=0;j<i;j++)
- if(A[j]>A[j+1])
- {
- int sv=A[j];
- A[j]=A[j+1];
- A[j+1]=sv;
- }
- System.out.print("Rendezett A tömb: ");
- for( i=0; i<n; i++) //1
- System.out.print((i+1)+"."+A[i]+" "); //Kiíratás sorszámmal
- System.out.println("");
- //21. Adja meg hány ismétlődő elem van K-ban!
- //22. Keressen egy olyan Kbeli elemet, melynek két szomszédos elemének összege kisebb, mintadott elem!
- //23. Adja meg mely Kbeli elem van legközelebb a sorozat átlagához!
- //24. Keressen olyan elemet, amely osztója a rákövetkezőjének?
- //25. Rendezze A tömböt növekvő sorrendbe!
- for(i=n-1;i>0;i--) //Egyszerű buborék rendezés
- for(j=0;j<i;j++)
- if(A[j]>A[j+1])
- {
- int sv=A[j];
- A[j]=A[j+1];
- A[j+1]=sv;
- }
- System.out.print("Rendezett A tömb: ");
- for( i=0; i<n; i++) //1
- System.out.print((i+1)+"."+A[i]+" "); //Kiíratás sorszámmal
- //26. Szerepel-e a 78-as? (log. ker.)
- int E=0, V=n-1, KOZ;
- do {
- KOZ=(E+V)/2; // Felezgetem az intervallumokat amíg nincs meg a keresett elem
- if(A[KOZ]<78) E=KOZ+1;
- if(A[KOZ]>78) V=KOZ-1;
- } while(E<=V && A[KOZ]!=78);
- if (E<=V) System.out.println("\nSzerepel a 78 az A tömbben! "+(KOZ+1));
- else System.out.println("\nNem szerepel a 78 az A tömbben! ");
- //27. Adja meg, mekkora a második legnagyobb különbség A tömb szomszédos elemei között!
- //28. Adja meg függvénnyel A tömb prímszámait!
- //29. Adja meg hány olyan szám van A-ban amely nagyobb mint a szomszédai átlaga!
- //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!
- } }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement