Országzászlók
(2 0 15. május 2 7., Sz14)
Írjon programot, amely a standard bemenetről állományvégjelig soronként egy-egy ország zászlójára vonatkozó adatokat olvas be! Az egyes zászlóknál azt tartjuk nyilván, hogy milyen színek alkotják, illetve azt, hogy mekkora a mérete. Egy sor felépítése a következő:
országnév:szín[:szín]…:szélesség:magasság Az országnév egy legfeljebb 45 karakter hosszú, csak angol betűket, kötőjelet (mínuszjelet) és szóköz karaktert tartalmazó sztring. A szín egy legfeljebb 20 karakter hosszú, csak angol betűket tartalmazó sztring. A szélesség és a magasság egy-egy pozitív egész szám, amely azt jelzi, hogy mekkora annak a téglalap alakú keretnek a mérete, amelybe az ország hivatalos (méretű) zászlaja belefoglalható, gondolván a kör, háromszög és egyéb alakú zászlókra is. Az adatokat a sorban egy-egy kettőspont karakter választja el egymástól. A program határozza meg és írja a standard kimenetre annak az országnak a nevét, amelynek a zászlajában minden szín pontosan öt karakterrel írható le! Ha több olyan ország is lenne, amely megfelelne ennek a kritériumnak, akkor közülük a felsorolásban legkorábban (legelőrébb) szereplőnek a nevét válassza a program!
Példa bemenet 1. Magyarorszag:piros:feher:zold:300:200 2. Mauritius:piros:kek:sarga:zold:299:201 3. Monaco:piros:feher:300:200
A példa bemenethez tartozó kimenet 1. Monaco
Megoldás #include<stdio.h> #include<string.h> int main() { int mind; char sor[1001], orszag[46], *szin; while (fgets(sor,1000,stdin)) { szin = strtok(sor,":"); strcpy(orszag, szin); szin = strtok(NULL,":"); mind = 1; while (szin != NULL) { mind &= strlen(szin) == 5 || isdigit(szin[0]); szin = strtok(NULL,":"); } if (mind) { puts(orszag); break; } } return 0; }
Országzászlók
(2 0 15. május 2 7., Sz 8)
… amelynek a zászlajában van olyan szín, amely pontosan öt karakterrel leírható! Ha több olyan … közülük a felsorolásban legkorábban (legelőrébb) szereplőnek …
Országzászlók
(2 0 15. május 2 6., K14)
… amelynek a zászlaja a legszínesebb, azaz a legtöbb féle színt tartalmazza! Ha több olyan … közülük a felsorolásban legkorábban (legelőrébb) szereplőnek …
Népszerűtlen tárgyak …
(20 15. április 15. , Sz18)
Egy sor felépítése a következő:
tantárgynév;Neptun_kód[;Neptun_kód]…;átlag
… annak a tantárgynak a nevét, amelyet a legkevesebb hallgató hallgatott az előző félévben! Ha több olyan … közülük a felsorolásban legkorábban (legelőrébb) szereplőnek …
Nyam, nyam …
(2 0 15. április 15. , Sz16)
Egy sor felépítése a következő:
állatfaj;táplálék[;táplálék]…;kalóriaszükséglet
… annak az állatfajnak a nevét, amelyik darabszámra a legkevesebb táplálékot fogyasztja! Ha több olyan … közülük a felsorolásban legkorábban (legelőrébb) szereplőnek …
Lövésük sincs …
( 20 15. április 15., Sz14)
Egy sor felépítése a következő:
országnév;eredmény[;eredmény]…;stadionnév
… annak az országnak a nevét, amelynek a labdarúgó-válogatottja a legkevesebb mérkőzést játszotta! Ha több olyan … közülük a felsorolásban legkésőbb szereplőnek …
Mindig csak a tanulás! …
(2 0 15. április 15., Sz12)
Egy sor felépítése a következő:
hallgató_neve;tárgykód[;tárgykód]…;átlag
… annak a hallgatónak a nevét, aki a legkevesebb tárgyat teljesítette! Ha több olyan … közülük a felsorolásban legkésőbb szereplőnek …
Bevásárlócetli …
(20 15 . április 15., Sz10)
Egy sor felépítése a következő:
áruház_neve;árucikk_neve[;árucikk_neve]…;ár
… annak az áruháznak a nevét, ahonnan a legkevesebb árucikket kell beszerezni! Ha több olyan … közülük a felsorolásban legkésőbb szereplőnek …
Véradás …
(2015. április 14., K16)
Egy sor felépítése a következő:
véradó_neve;dátum[;dátum]…;lakóhely
… annak a véradónak a nevét, aki a legtöbbször adott vért! Ha több olyan … közülük a felsorolásban legelőrébb szereplőnek …
Állatker t …
(20 15 . április 14., K12)
Egy sor felépítése a következő:
állatkert_városa;állatfaj[;állatfaj]…;alapítás_éve;látogatók_száma
… annak az állatkertnek a városát, amely a legtöbb állatfajnak ad otthont! Ha több olyan … közülük a felsorolásban legkésőbb szereplőnek …
Pizzák …
( 20 15. április 13. , H12)
Egy sor felépítése a következő:
pizzanév;összetevő[;összetevő]…;32cm_ár;45cm_ár
… annak a pizzának a nevét, amelynek a legtöbb összetevője van! Ha több olyan … közülük a felsorolásban legelsőként szereplőnek …
Színes országzászlók
(20 15. május 2 7. , Sz 8)
Írjon programot, amely az első parancssori argumentumaként megadott szöveges állományból állományvégjelig soronként egy-egy ország zászlójára vonatkozó adatokat olvas be! Az egyes zászlóknál azt tartjuk nyilván, hogy milyen színek alkotják, illetve azt, hogy mekkora a mérete. Egy sor felépítése a következő: országnév:szín[:szín]…:szélesség:magasság
Az országnév egy legfeljebb 45 karakter hosszú, csak angol betűket, kötőjelet (mínuszjelet) és szóköz karaktert tartalmazó sztring. A szín egy legfeljebb 20 karakter hosszú, csak angol betűket tartalmazó sztring. A szélesség és a magasság egy-egy pozitív egész szám, amely azt jelzi, hogy mekkora annak a téglalap alakú keretnek a mérete, amelybe az ország hivatalos (méretű) zászlaja belefoglalható, gondolván a kör, háromszög és egyéb alakú zászlókra is. Az adatokat a sorban egy-egy kettőspont karakter választja el egymástól. A program határozza meg és írja a standard kimenet első sorába azt, hogy hány olyan ország szerepel a listában, amelynek a zászlajában van olyan szín, amely pontosan öt karakterrel leírható! A további sorokba ezek közül az országok közül azoknak a nevét írja ki a program az állományban való előfordulásuk sorrendjében, amelyek a lehető legtöbb színt tartalmazzák!
Példa bemenet 1. Magyarorszag:piros:feher:zold:300:200 2. Mauritius:piros:kek:sarga:zold:299:201 3. Monaco:piros:feher:300:200
A példa bemenethez tartozó kimenet 1. 3 2. Mauritius
Megoldás #include <stdio.h> #include <string.h> int main(int argc, char *argv[]) { FILE *fin; int van_otb, hany_otbetus, max_szin, hany_szin; char sor[1001], orszag[46], *szin;
fin = fopen(argv[1], "r"); hany_otbetus = 0; max_szin = 0; while (fgets(sor,1000,fin)) { szin = strtok(sor,":"); strcpy(orszag, szin); van_otb = 0; hany_szin = 0; szin = strtok(NULL,":"); while (szin != NULL) { van_otb |= strlen(szin) == 5 && !isdigit(szin[0]); szin = strtok(NULL,":"); hany_szin++; } hany_otbetus += van_otb; if (van_otb && hany_szin > max_szin) max_szin = hany_szin; } /* vége az első menetnek */ printf("%d\n", hany_otbetus); rewind(fin); while (fgets(sor,1000,fin)) { szin = strtok(sor,":"); strcpy(orszag, szin); van_otb = 0; hany_szin = 0; szin = strtok(NULL,":"); while (szin != NULL) { van_otb |= strlen(szin) == 5 && !isdigit(szin[0]); szin = strtok(NULL,":"); hany_szin++; } if (van_otb && hany_szin == max_szin) puts(orszag); } /* vége az második menetnek */ fclose(fin); return 0; }
Országzászlók
(2 0 15. május 2 7., Sz 14)
… amelynek a zászlajában minden szín pontosan öt karakterrel írható le! Ha több olyan … közülük a felsorolásban legkorábban (legelőrébb) szereplőnek …
Piros országzászlók
(2 0 15. május 2 6., K14)
…
azt, hogy hány olyan ország szerepel a listában, amelynek a piros szín szerepel a zászlójában! … amelyek a piros szín mellett a lehető legtöbb egyéb színt tartalmazzák!
Népszerűtlen tárgyak …
(20 15. május 20 ., Sz18)
Egy sor felépítése a következő:
tantárgynév;Neptun_kód[;Neptun_kód]…;átlag
… azt, hogy mekkora volt a hallgatók átlaga a legsikeresebb tárgyból! … , amelyeket olyan sikerességgel (akkora átlaggal) teljesítettek a hallgatók, mint a legsikeresebbet!
Nyam, nyam …
(2 0 15. május 2 0 ., Sz16)
Egy sor felépítése a következő:
állatfaj;táplálék[;táplálék]…;kalóriaszükséglet
… azt, hogy mekkora a felsorolásban szereplő legnagyobb kalóriaszükséglet! … amelyek kalóriaszükséglete megegyezik a legnagyobb kalóriaszükséglet értékével!
Lövésük sincs …
( 20 15. május 20 ., Sz14 )
Egy sor felépítése a következő:
országnév;eredmény[;eredmény]…;stadionnév
… azt, hogy hány olyan ország van, amely egyetlen meccsén sem kapott gólt! … ezeknek a nevét.
Mindig csak a tanulás! …
(2 0 15. május 2 0., Sz12)
Egy sor felépítése a következő:
hallgató_neve;tárgykód[;tárgykód]…;átlag
… azt, hogy hány olyan hallgató van, aki teljesített olyan tárgyat, amelynek „I” betűvel kezdődik a tárgykódja! … ezeknek a nevét.
Bevásárlócetli …
(20 15 . május 20 ., Sz10)
Egy sor felépítése a következő:
áruház_neve;árucikk_neve[;árucikk_neve]…;ár
… azt, hogy hány olyan bevásárlócetli szerepel az állományban, amely tartalmazza a „tej” árucikket (nem a „tejfol” és nem is a „tejbegriz” árucikkeket)! … ahonnan a „tej” árucikket be kell szerezni!
Véradás …
(2015. május 19., K16)
Egy sor felépítése a következő:
véradó_neve;dátum[;dátum]…;lakóhely
… azt, hogy hányszor adtak vért a legtöbbször vért adó véradók! … ezeknek a véradóknak a nevét …
Állatker t …
(20 15 . május 19. , K12)
Egy sor felépítése a következő:
állatkert_városa;állatfaj[;állatfaj]…;alapítás_éve;látogatók_száma
… annak az állatkertnek a városát, amely a legtöbb állatfajnak ad otthont! Ha több olyan … közülük a felsorolásban legkésőbb szereplőnek …
Pizzák …
( 20 15. május 18., H12)
Egy sor felépítése a következő:
pizzanév;összetevő[;összetevő]…;32cm_ár;45cm_ár
… azt, hogy hány összetevője van a legtöbb összetevővel rendelkező pizzá(k)nak! … ezeknek a pizzáknak a nevét …
Baktériumtenyészet
(20 15. május 2 6., K14)
Írjon programot, amely a standard bemenetről állományvégjelig baktériumtenyészetek viselkedési adatait olvassa be soronként, összesen legfeljebb 20 sornyit! Egy sor felépítése a következő: baktériumtenyészet_azonosító/duplázódások
A baktériumtenyészet_azonosító egy legfeljebb 10 karakter hosszú, csak angol betűket, számjegyeket és kötőjelet (mínuszjelet) tartalmazó egyedi sztring. A duplázódások egy pontosan 14 karakter hosszúságú, kizárólag 0 és 1 karakterekből álló sztring, ahol az i-edik helyen álló karakter azt jelzi, hogy a tenyészet vizsgálatának az i-edik napján megduplázódott-e a populációszám az előző megfigyeléshez képest vagy sem: 1-es érték esetén igen, 0-s esetén nem történt duplázódás az adott napon. A baktériumtenyészet-azonosítótól a duplázódások adatait a sorban egy-egy osztásjel (perjel) karakter választja el egymástól. A program a baktériumtenyészetek adatait a duplázódások száma szerint rendezze csökkenő sorrendbe, előre állítva azoknak a baktériumtenyészeteknek az azonosítóit, amelyek a legnagyobb növekedést produkálták! Ha több olyan baktériumtenyészet is lenne, amely egyformán nagy növekedést produkálna, akkor őket az azonosítójuk szerint lexikografikusan növekvő sorrendbe tegye a program, majd végül írja a standard kimenetre azon baktériumtenyészet-azonosítók ily módon rendezett listáját, amelyek legalább 7-szer megduplázódtak a megfigyelés 14 napja alatt, valamint azt is, hogy mekkora a populáció mérete, ha a 0. napon minden populációban egyetlen baktérium volt!
Példa bemenet 1. BAK2013/10101010101010 2. BAK2014/01000100000100 3. BAK2015/11111111000000
A példa bemenethez tartozó kimenet 1. BAK2015 256 2. BAK2013 128 #include <stdio.h> #include <stdlib.h> #include <string.h> struct tenyeszet { char azonosito[11]; int populacio; } tenyek[20]; int hasonlit(const struct tenyeszet struct tenyeszet if (bt.populacio
void *a, const void *b) { at = * (struct tenyeszet *) a; bt = * (struct tenyeszet *) b; > at.populacio)
return 1; else if (bt.populacio < at.populacio) return -1; else return strcmp(at.azonosito, bt.azonosito); } int main() { int i, m, n = 0; char sor[31], *p; /* beolvasás */ while (fgets(sor,30,stdin)) { p = strtok(sor,"/"); strcpy(tenyek[n].azonosito, p); p = strtok(NULL,"/"); m = 1; for (i=0; i<14; i++) if (p[i]=='1') m *=2; tenyek[n++].populacio = m; } /* rendezés */ qsort(tenyek, n, sizeof(struct tenyeszet), hasonlit); /* kiírás */ for (i=0; i
=127; i++) printf("%s %d\n", tenyek[i].azonosito, tenyek[i].populacio); return 0; }
Tankolás …
(20 15 . április 15., Sz18 )
Egy sor felépítése a következő:
autó_rendszáma/tankolások
… a tankolások száma szerint rendezze csökkenő sorrendbe … amelyeket az év legalább 3 hónapjában megtankoltak!
Süss fel, nap! …
( 20 15. április 15., Sz16)
Egy sor felépítése a következő:
településnév/előrejelzési_adatok
… a legelső napsütéses napok alapján rendezze növekvő sorba … ahol legalább 3 napsütéses nap szerepelt az előrejelzésben!
Megoldáskiér tékelés …
(2 0 15. április 15., Sz14)
Egy sor felépítése a következő:
felhasználó_neve/eredménylista
… a sikeresen megoldott feladatok száma alapján rendezze csökkenő sorba! … akik legalább 3 feladatot sikeresen oldottak meg!
Óralátogatók …
(2 0 15. április 15., Sz12)
Egy sor felépítése a következő:
hallgató_neve/jelenlétek
… a hallgatók órai jelenléteinek száma alapján rendezze csökkenő sorba az adatokat! … akik nem hiányoztak háromnál többször az órákról!
Spor tfogadás …
( 20 15. április 15., Sz10)
Egy sor felépítése a következő:
sportfogadó_neve/tippsorozat
… a mérkőzésekre adott 1-es tippek száma alapján rendezze csökkenő sorba az adatokat! Ha több olyan sportfogadó is lenne, aki ugyanannyi 1-es tippet adott volna meg, akkor őket a 2-es tippek száma szerint rendezze csökkenő sorrendbe a program! … a sportfogadók nevei …
Beszámoló …
( 20 15. április 14. , K16)
Egy sor felépítése a következő:
név/ütemezés
… az első beszámoló időpontja szerint rendezze növekvő sorrendbe az adatokat … a hallgatók nevei …
Céllövészet …
(2 0 15. április 14. , K12)
Egy sor felépítése a következő:
név/lövéssorozat
… rendezze csökkenő sorrendbe az adatokat a sikeres lövések száma szerint … sportolók nevei …
Olvasni öröm! …
( 20 15. április 13., H12)
Egy sor felépítése a következő:
olvasmány_címe/elolvasott_oldalak_száma/összes_oldalszám
… rendezze csökkenő sorrendbe az olvasmányokat az elolvasott és az összes oldalszám aránya szerint … olvasmányok címei …