Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- A feladat megallapitani, hogy egy huszar hany mezot uthet a sakktablan.
- A huszar a tole L alakban egyenesen 2 oldalra 1 tavolsagra levo mezoket
- uti (ahol az egyenes barmelyik irany lehet a 4 kozul).
- A fuggveny bemenetkent karakterben kapja meg a mezo koordinatait (egy
- kisbetu 'a'-'h' es egy szamjegy '1'-'8'), a visszateresi erteke pedig
- az utott mezok szama. A fuggveny fejlecen ne valtoztass!
- */
- int is_valid(char oszlop, char sor) {
- if (oszlop < 'a' || oszlop > 'h' || sor < '1' || sor > '8') {
- return 0;
- } else {
- return 1;
- }
- }
- int huszar(char oszlop, char sor) {
- int lep[8][2] = {
- {1, 2}, {1, -2},
- {-1, 2}, {-1, -2},
- {2, 1}, {2, -1},
- {-2, 1}, {-2, -1}
- };
- int valid = 0;
- int i;
- for (i = 0; i < 8; i++) {
- if (is_valid(oszlop + lep[i][0], sor + lep[i][1])) {
- valid++;
- }
- }
- return valid;
- }
- /*
- Az alabbi fuggveny parametere egy sztring. A feladat torolni belole
- minden masodik karaktert. (Ezaltal a sztring rovidulhet.) Kodold le
- a fuggvenyt C nyelven. A fuggveny fejlecen ne valtoztass!
- */
- void strtorles(char str[]) {
- int i;
- int c = 0;
- for (i = 0; str[i] != 0; i++) {
- if (i % 2 == 1) continue;
- str[i / 2] = str[i];
- c++;
- }
- str[c] = 0;
- return;
- }
- /*
- Hatarozzuk meg, hogy a parameterkent kapott evben az adott honap
- adott napja az ev hanyadik napja. A fuggveny ezzel az ertekkel terjen
- vissza. Figyeljunk a szokoevekre! Az input adatok egy 1800 es 5000
- kozotti valos napot jelolnek. A fuggveny fejlecet ne valtoztasd meg!
- */
- int evnapja(int ev, int ho, int nap) {
- int honapok[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
- if ((ev % 4 == 0) && (ev % 100 != 0 || ev % 400 == 0)) {
- honapok[1] = 29;
- }
- int i, ossz = 0;
- for (i = 0; i < ho - 1; i++) {
- ossz += honapok[i];
- }
- ossz += nap;
- return ossz;
- }
- /*
- Az alabbi fuggveny egy penzosszeget kap parameterkent, majd meghatarozza,
- hogy legkevesebb hany darab 10, 5, 2 es 1 koronas ermervel fizetheto ki az
- osszeg! A fuggveny visszateresi erteke -1, ha rossz erteket kap. A fuggveny
- fejlecen ne valtoztass!
- */
- int erme(int osszeg) {
- int ermek[4] = {10, 5, 2, 1};
- int akt_erme = 0;
- int cucc = 0;
- if (osszeg < 0) {
- return -1;
- }
- while (osszeg > 0 && akt_erme < 4) {
- if (osszeg >= ermek[akt_erme]) {
- osszeg -= ermek[akt_erme];
- cucc++;
- } else {
- akt_erme++;
- }
- }
- return cucc;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement