A
feladatok megoldása megtalálható: http://www.hit.bme.hu/~szandi/progpelda/
A32
Írjon programot, amely
kiírja a számokat hármasával 100-ig.
Készítse el a megoldást mindhárom ciklussal!
A58
Írjon programot, amely a
bekért három valós számról eldönti, hogy lehetnek-e egy háromszög oldalai!
A23
Az inputon 10 valós
számot olvasunk. Írjon programot, amely kiírja a legnagyobb és a legkisebb
értéket!
A18
Írjon programot, amely
kiszámítja az n-edik Fibonacci
számot.
Ehhez tudjuk: F0=0,
F1=1, ... Fn=Fn-1+Fn-2, ahol
n=2,3,4,5,...
A03
Írjon programot, amely előállítja egy szám
A03a
legkisebb valódi osztóját.
A03b
összes valódi osztóját.
A03c
prímtényezős felbontását.
A38
Írjon programot, amely
eldönti egy számról, hogy prím-e?
A04
Írjon programot, amely
megadja két egész szám legkisebb közös többszörösét.
A29
Írjunk programot
kamatos kamat számítására. Olvassuk be a kamatoztatni kívánt összeget, az évek
számát és a kamatlábat.
A37
Írjon programot, amely
sok valós számot olvas be a standard inputról, és kiírja a beolvasott számok
közül a második legnagyobb értékűt. (Tipp: addig olvassunk, amíg egy
betű karaktert nem ütünk, amely nem értelmezhető valós számként;
ekkor a valós számot beolvasó scanf függvény visszatérési értéke 0 lesz: erre
szervezhetjük a ciklust!)
A40
Írjon programot, amely
sok valós számot olvas be a standard inputról, és kiírja a beolvasott számok átlagát.
A47
A számelméletben azokat a
számpárokat, amelyekre igaz, hogy az egyik szám önmagánál kisebb osztóinak
összege a másik számmal egyenlő (és fordítva), barátságos számoknak
hívjuk.
Írjon programot, amely
meghatározza az 1000-nél kisebb barátságos számokat!
A52
Írjunk programot, amely
két 1-nél nagyobb, egymástól különböző természetes számról eldönti, hogy
azok relatív prímek-e! Két szám relatív prím, ha egy közös valódi osztójuk
sincs. (Egy szám valódi osztóinak nevezünk minden olyan osztót, amely nem 1 és
nem maga a szám.)
A53
Adott a következő
diofantoszi egyenlet: a x + b y = c
Diofantoszi egyenleteknek
azokat az egyenleteket nevezzük, amelyeknek minden együtthatója és megoldása
egész szám. Esetünket korlátozzuk a csak pozitív számokra. Írjon standard C
programot, amely adott pozitív a,b,c
együtthatók esetén kiírja az összes x,y megoldáspárt. Az a,b,c együtthatókat a program olvassa
be!
A64
Írjunk programot, amely
bekér egy pozitív, egész számot és kiírja a számjegyeit fordított sorrendben.
A44
Az ókori Egyiptomban a 0
és 1 közötti racionális számokat egységtörtek összegeként adták meg. Tehát:
ahol xi -k különböző pozítív egész számok. Készítsünk
programot, amely adott n és m természetes számokra megadja az m/n tört egységtörtekre bontását.
S13
Írjon programot, amely
kiszámítja a beolvasott utolsó 10 valós szám átlagát. A számok végét a 0 jelzi,
mely már nem számít az átlagba. Értelemszerűen, ha nem érkezik 10 szám,
akkor a meglevő számok átlagát kell kiszámolni.
S24
Írjon programot, amely
kiírja az első 1000 prímszámot! Az algoritmus használja az
Eratosztenész-féle szita elvét. A feladatot oldja meg az index operátor és pointer
aritmetika használatával is.
A12
Írjon programot, amelyben egy tömböt három elemmel inicializál.
int a[N]={1,3,5};
A tömb többi
eleme a következőképpen számolható:
Szorgalmi feladatként állapítsa meg, mely n értéknél érjük el a gépi ábrázolás határát az adott implementációban. (Tipp: az ábrázolható legnagyobb előjel nélküli számot egyszerűen képezhetjük: ~0)
A13
Írjon programot, amely
kiszámítja az ISBN (International Standard Book Number) utolsó elemét (check
karaktert). Ha az ISBN szám ISBN 0-8065-0959-7, akkor az utolsó szám a 7‑es, a
következő módon állítható elő:
1*0+2*8+3*0+4*6+5*5+6*0+7*9+8*5+9*9 = 249 összeget elosztjuk 11-el, és a maradék megadja a keresett számot, ha
nem egyenlő 10-zel, különben X-et kell írni.
Az ISBN számot karakter
tömbben ábrázoljuk, és elemeit a scanf("%c",&isbn[i]) utasítással olvassuk be.
A60
N gyerek helyezkedik el
egy kör mentén. Az elsőtől elindulva minden M-ediket kiszámolják. A
számolásban csak a megmaradtak vesznek részt. Hova álljon Pistike, hogy Ő
maradjon utoljára. (Írassuk ki a kiesések sorrendjét.)
A65
Írjunk C programot, amely
statisztikát készít a standard bemeneten beolvasott sorban a előforduló számjegykarakterekről.
A program számjegyenként írja ki, hogy melyik számjegy hányszor fordult
elő. Ügyeljen rá, hogy nem csak számjegyek fordulhatnak elő.
A36
Olvasson be két dátumot
(év, hónap, nap) és állapítsa meg a közöttük levő napok számát!
A26
Írjon függvényt, amely
kiszámítja az első N pozitív
szám négyzetösszegét!
A24
Írjon függvényt, amely
kiszámolja két szám legnagyobb közös osztóját!
A66
Írjunk C programot, amely
alkalmas két dátum közötti eltelt napok kiszámítására. A feladatot úgy oldjuk
meg, hogy írjunk egy függvényt, amely egy tetszőleges dátumot egy nappal
növel. Ezt a függvényt használjuk fel ciklusban, amíg el nem érjük a
végdátumot. Ezzel a módszerrel könnyen kiszámítható az is, hogy hány naposak
vagyunk, illetve, hogy mikor leszünk adott naposak.
A09
Írjunk programot, amely megadja, hogy az adott implementációban hány biten ábrázolják az egész típusokat. (A feladatot úgy oldjuk meg, hogy nem használjuk a limits headert!)
A10
Írjon C programot, amely shifteléssel előállítja a 2 hatványait a gépi ábrázolás határáig.
A56
Vizsgálja a
következő faktoriális számító programot a túlcsordulás szempontjából!
#include <stdio.h>
int main(void)
{
int n, i, j;
printf("n=");
scanf("%d",&n);
i = 1; j = 1;
while (i <= n)
{
j = j * i;
i = i + 1;
}
printf("%d!=%d\n",n,j);
return 0;
}
Alakítsa át, hogy ne
adjon helytelen értéket eredményül. (Ha nem tudja már kiszámítani n!-t, akkor
írja ki az implementációban kiszámítható legnagyobb értéket.)
Mekkora a kiszámítható
legnagyobb faktoriális az Ön implementációjában?
Ha módjában áll, próbálja
ki a C99 szabványban bevezetett long long típussal!
Tájékoztatásul az
első 30 faktoriális pontos értéke:
1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
6! = 720
7! = 5040
8! = 40320
9! = 362880
10! = 3628800
11! = 39916800
12! = 479001600
13! = 6227020800
14! = 87178291200
15! = 1307674368000
16! = 20922789888000
17! = 355687428096000
18! = 6402373705728000
19! = 121645100408832000
20! = 2432902008176640000
21! = 51090942171709440000
22! = 1124000727777607680000
23! = 25852016738884976640000
24! = 620448401733239439360000
25! = 15511210043330985984000000
26! = 403291461126605635584000000
27! = 10888869450418352160768000000
28! = 304888344611713860501504000000
29! = 8841761993739701954543616000000
30! = 265252859812191058636308480000000
A08
Írjon programot, amely
kiírja az adott implementációban, standard egész aritmetikával kiszámítható
összes faktoriálist. Tesztelje a programját különböző platformokon.
A33
Írjon programot, amely
megoldja a következő egyenletet különböző n (n=1,2,...) értékekre:
Mint látható a pontos megoldás 1 és 10n . Állapítsuk meg mely n értéknél kapjuk meg a pontos megoldást a különböző lebegőpontos típusok esetében. A vizsgálatot végezzük el minél több implementációban.
A11
Írjon programot, amely kiszámolja, hogy a különböző lebegőpontos típusok közelítőleg hány értékes tizedesjegyet használnak. A programot futtassa különböző platformokon.
A27
Egész számokat olvasunk be, és összeadjuk őket. Ezt addig végezzük, amíg a 0 számot nem olvassuk. Írjuk ki az összeget! Jelezzük, ha az összeg nem ábrázolható az adott implementációban!
A35
Írjon programot, amely
kiszámítja értékét a lehetőségekhez képest
legpontosabban. A számításhoz használhatja a
következő képletet:
Tájékoztatásul pontos értéke több
tizedes jegyre:
3.141592653589793238462643383279502884197169399375105820974944592
A42
Írjon programot, amely
kiszámítja az e
számot minél pontosabban a következő sorozat alapján:
A28
Írjon szabványos C
programot, amely kiszámítja a következő kifejezést, vagy közli, hogy nem
lehet a számítást elvégezni.
Az ai értékeket beolvassa a program, addig amíg ezek pozitív, páros egész számok. A p, ai és az n int-ben ábrázolt pozitív egész számok.
A59
Írjon programot, amely
beolvas egy kétjegyű számot, ezt átalakítja BCD (Binary Coded Decimal)
számmá, amit egy unsigned char típusú változóban tárol. Ezután írja ki a számot
%X formátummal a printf függvénnyel, illetve a szám számjegyeit a putchar
függvénnyel. Debugerrel nézze meg a memóriában tárolt adatot.
A63
Írjunk programot, amely
binárisan kiírja a beolvasott unsigned értéket.
A20
Írjon programot, amely előállítja és kiírja a következő „gyalogló”
bitmintát a lehető legnagyobb hosszban:
00000001
00000011
00000111
...
S14
Írjon függvényt, amely
egy tömbből kikeresi a paraméterként átadott adatot. A függvény
visszatérési értéke legyen az adatra mutató pointer, vagy NULL.
S15
Írjon logikai függvényt,
amely egy tömbből kikeresi a minimális és maximális értéket, melyeket a
paraméterlistán ad vissza. A függvény logikai hamis, ha a két érték azonos.
S16
Írjon logikai függvényt,
amely egy tömbből kikeresi a minimális és maximális értéket. Az ezekre
mutató pointereket a paraméterlistán adja vissza. A függvény logikai hamis, ha
a két érték azonos. A főprogramban a függvény hívása után írja ki az
elemek indexét is.
S26
Készítsen függvényt, ami
a paraméterként kapott kétdimenziós tömbnek kicseréli két oszlopát! A
kicserélendő két oszlopot szintén paraméterként kapja a függvény.
S21
Írjon olyan programot,
amely beolvas egy stringet, majd megfordítja és kiírja.
S22
Írjon programot, amely kiírja
a N legnagyobb beolvasott számot. A beolvasás addig történjen, amíg az inputon
érkezik beolvasható valós szám (vagy vége lesz, vagy valamilyen nem szám
karaktert érkezik). Értelemszerűen, ha nem érkezik N szám, akkor a
meglevő számokat kell kiírni.
S25
Az inputon
tetszőleges értékű pozítív számokat olvasunk. Egy szám többször is
előfordul, de feltehetjük, hogy maximum 1000 különböző értékünk van.
Írjon programot, amely megszámolja, hogy melyik érték hányszor fordult
elő.
T13
Írjunk programot, amely a
standard inputról érkező, szintaktikailag helyes C forrásprogramból
kiszűri a megjegyzéseket.
T14
Írjunk programot, amely
egy magyar nyelvű
szövegben megszámolja, hányszor fordult elő a dupla "ly"
betű, azaz a lly karaktersorozat. Teszteléshez használhatja a Magyar Elektronikus könyvtárban elérhető
Jókai Mór: Mégsem lesz belőle tekintetes asszony című kisregényét. (helyi másolat)
T18
Egy PostScript fájl egy
nyomat megadására szolgál, felfogható programozási nyelvként is, és van tisztán
ASCII változata is. Írjon programot amely egy ilyen fájlban található
szövegkonstansokat, ún. literálokat kiírja. Literálnak a "("-lel
kezdődő és ")"-el végződő karaktersorozatokat
nevezzük. Az egymásba ágyazott "(" ")" jelek még literálon
belül is előfordulhatnak. Azokat a "(" ,")" jeleket
amik nem párban fordulnak elő a következőképpen kell megadni :
\\ ---> \
\( ---> (
\) ---> )
Ha a "\"
karakter után más egyéb karakter van, akkor a "\" karaktert figyelmen
kívül hagyjuk. Jelezze azt is, ha a fájl végéig nincs
meg
T19
A PASCAL programozási
nyelvben a megjegyzések a (*…*), vagy a {…} karakterpárosok
között lehetnek, de a kétféle megoldás nem keveredhet.
Írjunk szabványos C
programot, amely az inputról érkező, szintaktikailag helyes PASCAL
programból kiszűri a megjegyzéseket!
S03
Írjunk olyan REVERSE(char *s) függvényt, amely megfordítja az s karakterláncot.
S04
Írjuk meg a SQUEEZE(char *s, char c) függvényt, amely az összes előforduló c karaktert törli az s karakterláncból.
S05
Írjuk meg a SQUEEZE(char
*s1, char *s2)
függvény egy másik változatát, amely s1-ből
S06
Írjuk meg az INSERT(char *s1, char *s2, int i) függvényt, amely beszúrja s1-be s2-t az i-edik pozíciótól kezdve. Feltehetjük, hogy s1 képes tárolni az új stringet.
S09
Írjon egy C függvényt,
amely a paraméterként kapott stringet lemásolja, úgy, hogy a magánhangzókat
megduplázza, beszúrva egy 'v' betűt közéjük. Például:
"ez volt
eredetileg" ===> "evez
vovolt everevedevetivileveg"
Feltehetjük, hogy a
másolat paraméter képes tárolni az eredményt.
S10
Írjon egy C függvényt,
amely a paraméterként kapott stringet módosítja, úgy, hogy a magánhangzókat
megduplázza, beszúrva egy 'v' betűt közéjük. Például:
"ez volt
eredetileg" ===> "evez
vovolt everevedevetivileveg"
Feltehetjük, hogy a
paraméter képes tárolni az eredményt.
T11
Írjon programot, amely statisztikát készít a standard inputról érkező szövegről, a forrásban előre megadott kulcsszavak szerint. Például a következőképpen adhatók meg kulcsszavak:
char *kulcs[] = { "for", "while", "do", "if", "return", "switch" };
D01
Írja meg az strcat
függvényt úgy, hogy az eredményt egy új stringben tárolja, aminek dinamikusan
foglal helyet.
D01a
Az új string legyen a visszatérési érték.
char * Mystrcat(char *s1, char *s2);
D01b
Az új stringet a paraméterlistán keresztül
adjuk vissza.
F01
Adott egy szövegfile, amely sorokat tartalmaz.
Írjon programot, amely öszekeveri a file sorait. A megoldás során ne olvassa be a memóriába a file-t, hanem egy dinamikus tömb-ben tárolja a sorok kezdetének file-pozicióit! Ezeket keverje össze a rand függvény segítségével, majd az fseek függvényt használva írja ki az összekevert file-t. Az aktuális file poziciót az ftell függvénnyel lehet lekérdezni.
D23
Egész számokat olvasunk be a standard inputról. A beolvasott számokat tegyük egy egyirányban láncolt listába, majd írassuk ki a beolvasott számokat a beolvasás sorrendjében és visszafele (az utoljára olvasottat legelőször) is.
D04
Írjunk C programot, amely
az inputról érkező sorokat fordított sorrendben írja ki az outputra. A
megoldáshoz célszerű az fgets és fputs függvényeket használni. Feltehetjük, hogy a sorok
nem hosszabbak 80 karakternél.
D13
Írjunk egy C programot, amely egy szöveget olvas a standard inputról. A szövegben valószínűleg vannak ismétlődő szavak, melyeket whitespace karakterek határolnak, így a scanf(”%s”,szo) utasítással olvashatjuk be őket. A beolvasott szavakat struktúrában tároljuk, amelynek elemei a szavak, valamint azok előfordulási száma.
D13a
A struktúrákból láncolt listát képezünk. Írjuk ki a szavakat előfordulási számukkal együtt.
D13b
Módosítsuk a feladatban
megírt programot úgy, hogy a listába a szavak eleve az ABC sorrendben
kerüljenek bele.
D13c
A feladatot láncolt lista helyett dinamikus tömb használatával oldjuk meg.
D20
Adott egy egyirányú lánc
típusdefiníciója:
typedef struct adat {
int kulcs;
double adat;
struct adat *kov;
} adat_s, *padat;
Írjon keretprogramot,
amely feltölti a láncot a paraméterként megadott (pld. D20.txt) nevű
szöveges file-ból.
D20a
Írjon függvényt, amely
megadja a lánc elemeinek számát!
D20b
Írjon függvényt, amely
kitöröl (kiláncol és felszabadít) minden olyan elemet a láncból, melynek kulcs
mezője kisebb, mint egy paraméterként megadott érték.
D20c
Írjon függvényt, amely
összeadja azon láncelemek adat mezőjét, melyek kulcs
mezője csak egyszer fordult elő!
D20d
Írjon függvényt, amely
lemásolja az egyirányú láncot egy kétirányú láncba!
D22
A standard inputról
sorokat olvasunk. Minden sor szerkezete azonos, és feltehetjük, hogy egyik sor
sem hibás. A sor elején betűk állnak, amelyek egy helységnevet
reprezentálnak. A helységnevek végét egy space karakterrel érzékelhetjük. 20
betűnél hosszabb helységnevünk biztos, hogy nincs. A helységnév után annak
irányítószáma áll, majd vége is van a sornak. Nem tudjuk előre, hogy mennyi
helységnevet fogunk olvasni, de azt tudjuk, hogy befér a memóriába.
D22a
Olvassuk be az adatokat
egy egyirányú láncolt listába, de a lista az irányítószám szerint legyen
rendezett, azaz már a beolvasás során kerüljenek helyükre az adatok. Így
tulajdonképpen megyénként tudjuk csoportosítani a helységneveket. Egy
kiíratással ellenőrizzük megoldásunk helyességét!
D22b
Feladatunkat módosítsuk úgy, hogy használjunk ún. strázsákat. Ennek lényege, hogy a
listában van két olyan elem, amelyet csak arra használunk, hogy a lista elejét
és végét ne kelljen külön kezelni. Ez akkor lehetséges, ha a rendezés
szempontjából fel lehet venni abszolút minimumot, ill. maximumot. Esetünkben ez
teljesül, hiszen biztos, hogy minden irányítószám 999 és 10000 között van.
D22c
Feladatunkat módosítsuk úgy, hogy a
lista két irányban legyen láncolva.
D22d
A feladatot tovább
módosítva, oldjuk meg, hogy a rendezés ne csak irányítószám szerint, hanem a
helységnevek szerint is történjen meg. Így logikailag két listát kezelünk, de
valójában tároljuk ezeket közös adatszerkezetben! Ne foglalkozzunk az ékezetes
betűkkel.
D22e
A helységnevek szerinti rendezés
terjedjen ki az ékezetes betűkre is.
D30
Az OTP POS (Point Of
Sale) termináljainak forgalmát a következő szerkezetű szöveges POS.TXT
nevű fájlban rögzítik soronként:
számlaszám :
18 karakter
eladóhely azonosítója
: 20 karakter
forgalom :
valós szám
dátum :
11 karakter, (1993.11.25.)
idő : 8 karakter, (11:53:23)
A fájlban az adatok
rendezetlenül szerepelnek.
Írjon C programot, amely
a POS.TXT file alapján számlaszám szerint rendezve kiírja az 1996. november
28-i vásárlások adatait!
Feltételezheti, hogy a
feladat megoldásához elegendő memória áll rendelkezésére.
F02a
Írjon programot, amely előállít egy bináris file-t, amely az egész számokat tartalmazza folyamatosan 0-tól 999-ig.
F02b
Keverje össze az előállított file-t, 1000-szer ismételve a következő tevékenységet:
1) sorsol két véletlen számot 0 és 999 között (r1,r2),
2) a file r1-edik helyén levő adatot felcseréli az r2-edik helyen levő adattal.
F02c
Készítsen
programot, amely az összekevert file-t vizsgálva megállapítja hány szám maradt
az eredeti helyén.
F08
Adott egy szövegfile
(pld. "gyumi.txt") amelyben soronként gyümölcsök és azok súlya
szerepel.
Írjon egy programot,
amely elvégzi a következő műveleteket:
- beolvassa a file
tartalmát egy alkalmas tömbbe
- kiírja a tömb tartalmát
egy adott nevű (pld. "gyumi.bin") bináris file-ba
- visszaolvassa a bináris
file tartalmát a tömbbe
P01
Írjon programot, amely
rekurzívan kiszámolja két szám legnagyobb közös osztóját!
P16
Az úgynevezett Schröder
szám megadja, hogy egy n x n méretű négyzethálón mennyi elemi lépéssel juthatunk el a bal alsó
sarokból a jobb felsőbe mindig a főátlón, vagy alatta haladva.
Tudjuk, hogy S0=1, valamint
Írjon függvényt, amely
kiszámítja az n-edik Schröder számot!
P15
Írjunk programot, amely megoldja a '
P20
Írjon programot, amely whitespace-ekkel határolt szavakat olvas a standard
inputról és fordított sorrendben visszaírja azokat!
P03
Írjunk egy függvényt, amely a * és ? wildcard karaktereket kezelve eldönti egy stringről, hogy illeszkedik-e egy adott mintára. A függvény teszteléséhez írjunk programot.
P10
Írjunk programot, amely
generálja az összes olyan 'a' és 'b' karakterekből álló adott hosszúságú
(max.40) szót, amely nem tartalmaz két egymást követő 'b' betűt.
P11
Írjunk programot, amely
beolvas egy karaktersorozatot (pld. EOLN-ig), majd kiírja a beolvasott
betűk összes permutációját (az esetleges ismétlődéseket is
vizsgálja).
Például:
abc --> abc, bca, cab, cba, bac,
acb.
P09
Írjon olyan eljárást.
mely a Pascal háromszög egy sorát
írja ki. Az eljárás paramétere a sor száma. Emlékeztetőül: a Pascal
háromszög n. sora (n=0,1,2,...) tartalmazza az mennyiségeket, ahol k=0,1,2,...n. A következőképpen kezdődik a Pascal
háromszög:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
Oldjuk meg a feladatot ciklussal és rekurzióval is. Figyeljük meg a rekurzív megoldás előnyét!
P02
Írjon programot, amely whitespace-ekkel határolt szavakat olvas a standard inputról.
P02a
Tegyük bináris fába a szavakat, tárolva az esetleges ismétlődéseket.
P02b
Írjuk ki az így kapott bináris fa alapján a beolvasott szavakat ABC sorrendben.
P02c
Keressünk egy szót a bináris fában.
P02d
Mentsük el egy állományba a bináris fát.
P02e
Írjunk függvényt, amely
meghatározza a bináris fában az
a) elemek számát
b) szintek számát
c) levelek számát
d) egygyermekes
csomópontok számát
e) kétgyermekes
csomópontok számát
P08
A morze ABC-t egy keresőfába szeretnénk tárolni, amely alkalmas lesz a
beolvasott morze kódot könnyen dekódolni. A deklarációk a következők:
struct morzebetu {
char ch; /* a betű */
struct morzebetu * pont; /*a következő kód, ha ponttal
folytatjuk*/
struct morzebetu * vonal; /*a
következő kód, ha vonallal folytatjuk*/
};
typedef struct morzebetu *pmorzebetu; /* a morzebeture mutató pointer */
pmorzebetu morze; /* a gyökérelem */
P08a
Írjon függvényt, amely a
standard input első sorát olvasva felépíti a keresőfát. (A még nem
definiált betűk helyén szóköz szerepel.) Például:
S... O--- T- E. A.- M--
P08b
Írjon függvényt, amely az
így felépített keresőfa alapján dekódolja a második sort. Például (SOETEET ESTE):
... ---
. - . . - . ... - .
P08c
Írjon függvényt, amely
megszámolja a keresőfában a nem definiált morze kódokat (szóközök).
P08d
Írjon függvényt, amely
kiírja a teljes keresőfát. (A morze kódokat és karaktereket.)
S07
Írjon programot, amely kiírja a standard outputra az összes paraméterét egy-egy szöközzel elválasztva, majd egy newline karakterrel lezárva (echo).
D31
Írjon programot, amely
Neptun kódokat és osztályzatokat olvas az inputról soronként. Az adatokat tegye
egy kétirányú láncolt listába. A lista elején és végén használjon strázsákat.
D31a
Módosítsa a fenti programot úgy, hogy a lista Neptun kód szerint legyen rendezve.
D31b
Módosítsa a fenti programot úgy, hogy megengedhetünk azonos Neptun kóddal több osztályzatot is. Írja ki a kiszámított átlagot Neptun kódonként.
D31c
Módosítsuk a D31
feladatot úgy, hogy az input sorban Neptun kód, tantárgy, osztályzat van.
Ebből készítsünk egy fésűs szerkezetet, melyben a Neptun kódokra
fűzzük fel az egyes tantárgyakhoz tartozó osztályzatokat.
Írjuk ki az egyes Neptun
kódokhoz tartozó átlagokat.
Írjuk ki, hogy ki kapott
egy adott tantárgyból jelest.
S08
Írjon programot, amely
segítségével egy menüből (a menü legyen egy indexelt felsorolás, ahol az
index értéke azonosítja a kiválasztott menüpontot) választhatunk egy
egyváltozós függvényt. Ezután a program számítsa ki a kiválasztott függvény
értékét egy adott pontban. A függvények között legyen szabványos könyvtári
(pld. sin, cos, tan) függvény,
és saját függvény is. Tároljuk a függvények címeit és neveit valamilyen
belső tömbös adatszerkezetben.
A15
Írjon programot, amely elvégzi az argumentumban megadott aritmetikai alapműveletet!
Például: expr 2 + 3
Kiírja: 5
A kezelt aritmetikai műveleteket tetszés szerint meghatározhatja (pld. +-*/%).
D02
Írjon programot, amely
elvégzi az argumentumban megadott méretű mátrixok szorzását, majd kiírja
az eredményt!
Például: mat 6 3 7 8 5
Dinamikusan előállít
egy 6x3-as mátrixot, amelyet [0,1] intervallumba eső véletlen számokkal
tölt fel, majd megszorozza egy 3x7-es, ugyanilyen véletlen mátrix-szal, majd az
eredményt egy 7x8-assal stb., amíg van paraméter.
T10
Írjon C programot, amely 2, paraméterként megadott, szöveg típusú file sorait két oszlopban kiírja a standard kimenetre úgy, hogy az első file sorai a baloldali oszlopba balra igazítva, a második file sorai pedig a jobboldali oszlopba jobbra igazítva kerüljenek. Feltételezheti hogy mindkét file sorai rövidebbek mint 50 karakter, és a papír szélessége 120 karakter. A két file sorainak száma különbözhet.
2012-09-17 szandi@hit.bme.hu