- Keszits JS fuggvenyt, ami...
- Egy parameterul kapott szovegrol eldonti, hogy palindrom-e
- madam >> igen, palindrom (elorol es hatulrol is ugyan az)
*/
function palindromE(szoveg:string):boolean {
var eredmeny:boolean = true;
for (var i:number = 0; i < szoveg.length /*/ 2*/; i++) {
if (szoveg[i] != szoveg[szoveg.length - 1 - i]) {
eredmeny = false;
break;
}
}
return eredmeny;
}
console.log(palindromE("madam"));
console.log(palindromE("indulagorogaludni"));
console.log(palindromE("almafa"));
/*
- Egy parameterul kapott szoveg szavainak elso karaktereit nagybetusiti
- szeretem a javascriptet >> Szeretem A Javascriptet
*/
function titleCase(szoveg:string):string {
szoveg = szoveg.replace(/\b([a-z])/g, function (karakter) {
return karakter.toUpperCase();
});
return szoveg;
}
console.log(titleCase("szeretem a javascriptet."));
console.log(titleCase("ez egy mondat aminek semmi ertelme."));
/*function elsoKarakterNagybetu(text) {
var szavak = text.split(" ");
for (var i = 0; i < szavak.length; i++) {
szavak[i] = szavak[i].charAt(0).toUpperCase() + szavak[i].slice(1);
}
return szavak.join(" ");
}*/
/*
- Ami egy parameterul kapott szam tombbol visszaadja a MASODIK legkisebb elemet
- [3, 5, 2, 4, 1] >> 2
*/
function masodikLegkisebb(szamok:number[]):any {
let elso:number = Infinity;
let masodik:number = Infinity;
for (let szam of szamok) {
if (szam < elso) {
masodik = elso;
elso = szam;
}
else if (szam < masodik && szam != elso) {
masodik = szam;
}
}
return ((masodik == Infinity) ? null : masodik);
}
console.log(masodikLegkisebb([1, 2, 3, 4, 5]));
console.log(masodikLegkisebb([45, 33, 42, 5, 36, 79, 88, 95, 19]));
/*
- Keszits alprogramot, amely parameterul egy szoveget var, es visszaadja a szoveg
leghosszabb szavat
- Szeretem a JavaScriptet >> JavaScriptet
- Szeretem az almat >> Szeretem
*/
function leghosszabbSzo(mondat:string):string{
var szavak = mondat.split(" ");
var max = szavak[0];
for(var i:number = 1; i < szavak.length; i++){
if(szavak[i].length > max.length){
max = szavak[i];
}
}
return max;
}
console.log(leghosszabbSzo('Szeretem a JavaScriptet'));
console.log(leghosszabbSzo('Szeretem az almat'));
/*
- Keszits alprogramot, amely parameterul beker egy osszeget (pl. 460 forint)
- Az alprogram egy tombben adja vissza, hogy hany darab egesz ermevel lehetne az osszeget
kifizetni
- 460 >> 200, 200, 50, 10
- 600 >> 200, 200, 200
SZORGALMI (5ft-ra kerekites):
- 572 >> 570 >> 200, 200, 100, 50, 20
- 573 >> 575 >> 200, 200, 100, 50, 20, 5
- 577 >> 575 >> 200, 200, 100, 50, 20, 5
- 578 >> 580 >> 200, 200, 100, 50, 20, 10
- 678 >> 680 >> 200, 200, 200, 50, 20, 10
*/
function aproSzamolas(osszeg:number){
var ermek:number[] = [200, 100, 50, 20, 10, 5];
var ermekAmikbolKijon:number[] = [];
if(osszeg % 5 != 0){
var maradek:number = osszeg % 5;
if(maradek <= 2){
osszeg -= maradek;
}
else{
osszeg += (5 - maradek);
}
}
for(var i:number = 0; i < ermek.length; i++){
if(osszeg >= ermek[i]){
var egeszDb = Math.floor(osszeg / ermek[i]);
for(var j:number = 0; j < egeszDb; j++){
ermekAmikbolKijon.push(ermek[i]);
}
osszeg -= egeszDb * ermek[i];
}
}
return ermekAmikbolKijon;
}
interface tanulo{
nev:string;
kor:number;
aktiv:boolean
};
function tanulokapp(): tanulo []{
var t1:tanulo={nev: "Kovács Péter", kor: 16, aktiv: true}
var t2:tanulo={nev: "Nagy Anna", kor: 17, aktiv: true}
var t3:tanulo={nev: "Kis János", kor: 32, aktiv: false}
return [t1,t2,t3]
};
function visszad(fv:() => tanulo[]):number{
var tarolo:number=0;
var adat:tanulo[]=fv();
for(var i: number = 0; i < adat.length; i++){
tarolo +=tanulokapp[i].kor
}
tarolo/=tanulokapp.length
return tarolo;
}
function legFiatalabb(fv:()=> tanulo[]):string{
var neve:string="";
var adat:tanulo[]=fv();
var legfiatalabb:number=Infinity
for(var i:number = 0; i < adat.length; i++){
if(adat[i].kor tanulo[]):tanulo[]{
var aktive:tanulo[]=[];
var adat:tanulo[]=fv();
for(var i : number= 0; i < adat.length; i++){
if (adat[i].aktiv === false) {
aktive.push(adat[i])
}
}
return aktive;
}
function aktivAtlagKor(fv:()=> tanulo[]):number{
var aktivTanulo:number=0;
var adat:tanulo[]=fv();
for(var i:number = 0; i < adat.length; i++){
if (adat[i].aktiv === true) {
aktivTanulo+=adat[i].kor
}
}
aktivTanulo/=adat.length
return aktivTanulo
}
// /*
// - Keszits fuggvenyt, ami:
// - Egy parameterul kapott szam tombbol visszaadja a szamok atlagat
// - Egy parameterul kapott szoveg tombbol megadja, hogy hany karakteres a legrovidebb szo
function atlagolo(szamtomb:number[]):number{
var tarolo:number=0;
for(var i:number = 0; i < szamtomb.length; i++){
tarolo+=szamtomb[i];
}
return tarolo / szamtomb.length
}
console.log(atlagolo([45,45,87,96,31]))
function short(szovegtömb:string[]):number{
var eredmeny:any = Infinity;
for(var i:number=0; i < szovegtömb.length; i++){
if(szovegtömb[i].length < eredmeny){
eredmeny =szovegtömb[i].length
}
}
return eredmeny;
}
console.log(short(["kajak","arc","ajak","palack"]))
// - Keszits interface-t Auto neven
// - Rendszam: szoveg
// - Gyarto: szoveg
// - Hengerurtartalom: szam
// - Keszits fuggvenyt, ami egy parameterul kapott Auto tombbol megadja a(z):
// - Atlag hengerurtartalmat
// - A legnagyobb hengerurtartalmu auto rendszamat
function dbetus(autotomb:auto[]):number{
var dbetus:number=0;
var regex:RegExp=/[Dd]/g
for(var i:number=0; i < autotomb.length; i++){
if (regex.test(autotomb[i].rendszam[0])){
dbetus++
}
}
return dbetus;
}
console.log(dbetus([{rendszam:"GTJ654",gyarto:"Ople",henger:3200},
{rendszam:"TGF423",gyarto:"Audi",henger:1322},
{rendszam:"LOU987",gyarto:"BMW",henger:6000},
{rendszam:"Dhk654",gyarto:"Mercedes",henger:1000}
]))
function valogat(autotomb:auto[]):any{
var alati:auto[]=[];
var feletti:auto[]=[]
for(var i:number=0; i < autotomb.length; i++){
if(autotomb[i].henger>2000){
feletti.push(autotomb[i])
}else{alati.push(autotomb[i])}
}
return [feletti,alati]
}
console.log(valogat([{rendszam:"GTJ654",gyarto:"Ople",henger:3200},
{rendszam:"TGF423",gyarto:"Audi",henger:1322},
{rendszam:"LOU987",gyarto:"BMW",henger:6000},
{rendszam:"Dhk654",gyarto:"Mercedes",henger:1000}
]))
// - Keszits fuggvenyt, ami egy parameterul kapott Auto tombbol megadja a(z):
// - Hany darab auto rendszama kezdodik D betuvel
// - Ami szetvalogatja az autokat 2 tombre >> amiknek a hengerurtartalma 2000 alatt van, es ami
// felette van
// - A visszateres tuple-el legyen megoldva!
// /*
interface auto {
rendszam:string,
gyarto:string,
henger:number,
}
function car(autotomb:auto[]):any[]{
var legnagyobhenger:number=0;
var hengeratleg:number=0;
var legnagyobrendszam:any="0";
for(var i:number = 0; i < autotomb.length; i ++){
hengeratleg+=autotomb[i].henger;
if (autotomb[i].henger>legnagyobhenger) {
legnagyobhenger=autotomb[i].henger
legnagyobrendszam=autotomb[i].rendszam
}
}
return [hengeratleg/autotomb.length,legnagyobrendszam]
}
console.log(car([{rendszam:"GTJ654",gyarto:"Ople",henger:3200},
{rendszam:"TGF423",gyarto:"Audi",henger:1322},
{rendszam:"LOU987",gyarto:"BMW",henger:6000},
{rendszam:"Dhk654",gyarto:"Mercedes",henger:1000}
]))
// - Keszits fuggvenyt, ami:
// - Parameterul kapott szam tombbol megadja, hogy hany darab paratlan szam volt benne
function valogatparatlan(szamtomb:number[]):number{
var tarolo:number=0;
for(var i:number=0; i < szamtomb.length; i++){
if (szamtomb[i] !% 2 === 0) {
tarolo++
}
}
return tarolo;
}
console.log(valogatparatlan([2,3,3,3,4,4,5,6,45,45,87,96,31]))
// - Parameterul kapott szoveg tombbol megadja, hogy hany szo tartalmazott A, B vagy C betut
// (kics es nagy is szamit)
function worldsercher(szovegtomb:string[]):number{
var regex:RegExp=/[A,a,B,b,C,c]/
var tarolo:number=0;
for(var i:number=0; i < szovegtomb.length; i++){
if(regex.test(szovegtomb[i])){
tarolo++
}
}return tarolo;
}
console.log(worldsercher(["cica","kuta","elelem","balta"]))
// - Parameterul kapott szam tombon eldonti, hogy a tomb tartalmazott-e negativ szamot
function negaivee(szamtomb:number[]):boolean{
var tarolo:boolean=false;
for(var i:number=0; i < szamtomb.length; i++){
if (szamtomb[i] < 0) {
tarolo = true;
}
}
return tarolo
}
console.log(negaivee([2,3,3,3,4,4,5,6,45,45,87,96,31]))
// - Keszits enum-ot uzemanyag neven:
// - benzin
// - gazolaj
// - LPG
// - elektromos
// - hibrid
enum uzemanyag {
benzin="Benzin",
gazolaj="Gázolaj",
lpg="LPG",
elektromos="Elektric",
hibrid="Hybrid"
};
// - Keszits interface-t motor neven
// - uzemanyag (uzemanyag enum)
// - hengerurtartalom (szam)
// - hengerDb (szam)
// - szelepDb (szam)
interface motor {
uzemanyag:uzemanyag,
hengerurtart:number,
hengerDB:number,
szelepDB:number
}
// - Keszits interface-t jarmu neven
// - gyarto (szoveg)
// - tipus (szoveg)
// - motor (motor interface)
// - gyartasiEvek (szam tomb) >> pl. 1990-1995 = 1990, 1991, 1992, 1993, 1994, 1995
// - kerekSzama (szam)
interface jarmu {
gyarto:string,
tipus:string,
motor:motor,
gyarttasiev:number[],
kerekek:number
}
// - Keszits alprogramot, ami egy parameterul kapott szam tombbol visszaadja a legnagyobb szamot
// - Keszits alprogramot, ami egy parameterul kapott szam tombrol eldonti, hogy van-e benne paratlan szam
enum rom {
DDR1="ddr1",
DDR2="ddr2",
DDR3="ddr3",
DDR4="ddr4"
}
interface szamitogep {
cikkszam:string,
gyarto:string,
ar:number,
ram:rom
}
// - Keszits interface-t Szamitogep neven:
// - Cikkszam (szoveg)
// - Gyarto (szoveg)
// - Ar (szam)
// - RAM (enum, DDR1 DDR2 DDR3 DDR4)
function atlagpc(pctömb:szamitogep[]):number{
var tarolo:number=0;
for(var i:number = 0; i < pctömb.length; i++){
tarolo += pctömb[i].ar
}
return tarolo / pctömb.length;
}
const pc1:szamitogep={
cikkszam:"lki4587",
gyarto:"Intel",
ar:350000,
ram:rom.DDR4
};
const pc2:szamitogep={
cikkszam:"lkju5487",
gyarto:"AMD",
ar:450000,
ram:rom.DDR4
}
console.log(atlagpc([pc1,pc2]));
// - Keszits alprogramot, amely egy parameterul kapott Szamitogep tombbol megadja, hogy mennyi a
// szamitogepek aranak atlaga
// - Keszits alprogramot, amely egy parameterul kapott Szamitogep tombbol megadja, hogy hany darab
// gepnek van DDR4-es ramja