Aktív témák
-
vanek
tag
Sajna linuxban nem nagyon vagyok jó.. így cygwin segítségével csináltam meg a szkriptet..de a feladat azt írja, hogy
$ ./vizsgaztato.awk pontszamok.txt így kell futtatni..
a pontszamok.txt tárolja "NAGRAAT.SZE + + + + - - + + + + + + + + 5 6 5" ezt..
hogy tudom beolvastatni a sorokat?:\
köszi
-
Chipi333
csendes tag
Nem különösebben értek az AWK-hoz, az viszont biztos, hogy túlbonyolítod. Ha úgyis kiszámoltad max1, max2, max3-at akkor elég megézni hogy ezekből melyik a legnagyobb és akkor már tudod, hogy az a 2 szám volt a nagyobb amelyikekből azt összeraktad, és akkor erre a végtelen if-else fára nincs is szükség. És valszeg a problémád is megszűnik

-
vanek
tag
A feladat:
van egy etr azonosítom, + jel, hogy jelen volt "-" hogy nem volt jelen az orán és van 3 zh pontszám..
a problémám pedig az lenne, hogy kiderítsem, hogy a 3 szám közül melyik 2 a legnagyobb..az első kettő blokk jól működik..vagyis ami példákat néztem, azok jók voltak..
viszont a 3 blokkban, ahol, az 1. és a 2. szám a legnagyobb,
a 2. szám a legnagyobb és a másik kettő egyenlő valamint a 2. és a 3. szám a legnagyobbha ezekre adok példát, akkor valami miatt a második blokk
if(a[17] > a[18])
részénél leragad..sőt nem is jó eredményt ad..
#! /bin/awk -f
BEGIN {
split("NAGRAAT.SZE + + + + - - + + + + + + + + 5 6 5", a, " ")
max1=a[16]+a[17]
max2=a[16]+a[18]
max3=a[17]+a[18]
if (a[16] > a[17])
{
if(a[17] > a[18])
{
if(max1 >= 10)
{
print a[1]"vizsgazhat1+2elso"
}
else
{
print a[1] "nem vizsgázhat"
}
}else
{
if (a[16] >= a[18])
{
if (max2>=10)
{
print a[1] " vizsgazhat1+3elso"
}
else
{
print a[1] "nem vizsgazhat"
}
}
else
{
if (max2>=10)
{
print a[1] "vizsgazhat11+3elso"
}else
{
print a[1] "nem vizsgázhat"
}
}
}
}
else if (a[16] = a[17])
{
if(a[17] > a[18])
{
if(max1>=10)
{
print a[1]"vizsgazhat1+2masodik"
}
else
{
print a[1] "nem vizsgázhat"
}
}else
{
if (a[16] >= a[18])
{
if (max2>=10)
{
print a[1] " vizsgazhat1+3masodik"
}
else
{
print a[1] "nem vizsgazhat"
}
}
else
{
if (max2>=10)
{
print a[1] "vizsgazha11+3masodik"
}else
{
print a[1] "nem vizsgázhat"
}
}
}
}
else
{
if (a[16] >= a[18])
{
if (max1 >=10)
{
print a[1]"vizsgazhat1+2"
}else
{
print a[1] " nem vizsgázhat"
}
}else
{
if (a[16] = a[18])
{
if (max3 >=10)
{
print a[1] " vizsgazhat 2+1=3"
}else
{
print a[1] " nem vizsgazhat"
}
}else
{if(max3>=10)
{
print a[1]" vizsgazhat 2+3"
}else
{
print a[1] "nem vizsgazhat"
}
}
}
}
}köszi előre is..minden segítséget elfogadok!
Aktív témák
- Asus VZ239 23 Full HD Monitor 6 hó garancia Házhozszállítás
- HIBÁTLAN iPhone 13 Pro 256GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS4648, 100% AKKSI
- DAHUA 16GB DDR4 3200 MHz laptop RAM
- Részletfizetés. BankMentes. Kamatmentes. Új noblechairs EPIC műbőr FEKETE - KÉK 3 év garancia!
- Keresünk iPhone 15/15 Plus/15 Pro/15 Pro Max
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
így máris jó lett és rövidebb is lett 
