printf("Zadaj realne cislo: "); scanf("%f", &f); printf("\nTretia mocnina cisla %.2f je %.2f\n", f, f * f * f); return 0; }
2. Napíš program, ktorý načíta tri čísla a vypíše prostredné (podľa veľkosti) z nich.
Spoiler:
Kód:
/*************************************** * * uloha_2.c ver. 2.0 * program z troch celych cisiel * urci prostredne z nich * =============================== * * libcosenior, april 2012 * ***************************************/
/* funkcia main() */ int main(void) { int x, y, z, stred;
printf("Z troch zadanych cisiel vypisem prostredne (podla velkosti)\n\n"); for(;;) { printf("Pre ukoncenie stlac ctrl + c.\n"); printf("Zadaj tri cele cisla:\n"); scanf("%d%d%d", &x, &y, &z); printf("\nProstredne cislo (podla velkosti) je: %d\n\n", ((x > y // ak je 'x' väčšie ako 'y' && // a zároveň x < z) // je 'x' menšie ako 'z' || // alebo (x > z // ak je 'x' väčšie ako 'z' a zároveň && // a zároveň x < y)) // je 'x' menšie ako 'y' ? //vtedy x // x je stredne : // ak horná časť nie je pravda a ((y > z // vtedy ak je 'y' väčšie ako 'z' && // a zároveň y < x) // je 'y' menšie ako 'x' || // alebo (y > x // ak je 'y' väčšie ako 'x' && // a zároveň y < z)) // je 'y' menšie ako 'z' ? // vtedy y // 'y' je stredne : // ak celá horná časť nie je pravda z); // 'z' je stredne // zápis bez komentárov vyzerá takto: // ((x > y && x < z) || (x > z && x < y)) ? x : ((y > z && y < x) || (y > x && y < z)) ? y : z); }
return 0; }
3. Napíš program, ktorý načíta číslo. Ak je toto číslo 6, vypíše Dobré ráno. Ak je toto číslo 12, vypíše Dobry den. Ak je toto číslo 19, vypíše Dobry vecer. Vo všetkých ostatných prípadoch vypíše Dovidenia.
Spoiler:
Kód:
/*************************************** * * uloha_3.c ver. 2.0 * vyuzitie funkcie switch * =============================== * * libcosenior, april 2012 * ***************************************/
/* funkcia main() */ int main(void) { int i, j, vel;
printf("Zadaj cele cislo, vypisem z neho trojuholnik: "); scanf("%d", &vel); for(i = 1; i <= vel + (vel - 1); i++) { for(j = 1; j <= (i <= vel ? i : vel - (i - vel)); j++) putchar('*'); putchar('\n'); } return 0; }
6. Napíš program, ktorý číta znaky z klávesnice až kým nenájde 'X'. Potom vypíše, koľko z prečítaných znakov boli znaky 'A'.
Spoiler:
Kód:
/*************************************** * * uloha_6.c ver. 2.0 * zabavka so znakmi * =============================== * * libcosenior, april 2012 * ***************************************/
/* funkcia main() */ int main(void) { int i = 0, c;
for(;;) { printf("Zadaj znak z kalvesnice: "); c = getchar(); while (getchar() != '\n') /* zbavenie sa znaku <Enter> */ ; /* botkočiarka patri k tomu */ putchar('\n'); switch (c) { case 'A': i++; break; case 'X': printf("Zo zadanych znakov bolo pismeno 'A' zadane %d krat.\n", i); break; } if (c == 'X') break; } return 0; }
7. Napíš program, ktorý načíta znak z klávesnice. Ak tento znak nie je písmeno, tak ho vypíše, ak je to malé písmeno, vypíše k nemu zodpovedajúce veľké písmeno a ak je to veľké písmeno, vypíše k nemu zodpovedajúce malé písmeno.
Spoiler:
Kód:
/****************************************** * * uloha_7.c ver. 2.0 * zabavka so znakmi, zmena velkych pismen * za male a naopak * ======================================= * * libcosenior, april 2012 * ******************************************/
printf("Ak zadany znak nie je pismeno, tak ho vypisem,\n" "ak je to male pismeno, vypisem k nemu zodpovedajuce\n" "velke pismeno a ak je to velke pismeno,\n" "vypisem k nemu zodpovedajuce male pismeno.\n\n" "Pre ukoncenie stlac medzernik a <Enter>!\n"); for(;;) { printf("\nStlac nejaku klavesu: "); c = getchar(); while (getchar() != '\n') /* zbavenie sa znaku <Enter> */ ; /* stredník patri k tomu */ /* podmienky na zmenu pismen z velkych na male a naopak */ d = c >= 'a' && c <= 'z' ? c - 32 : 0 < (c >= 'A' && c <= 'Z') ? c + 32 : 0 < !(c >= 'a' && c <= 'z') && !(c >= 'A' && c <= 'Z') ? c : 0; printf("%c\t%c", c, d); if (c == ' ') break; } return 0; }
8. Napíš program, ktorý načíta dve celé čísla a vypíše všetky párne čísla, ktoré ležia medzi nimi. (Pre vstup 3 a 8 vypíše čísla 4, 6 a 8. Pre vstup 6 a 3 vypíše čísla 4 a 6. Pre vstup 3 a 3 nevypíše nič.)
Spoiler:
Kód:
/****************************************** * * uloha_8.c ver. 2.0 * vypise parne cisla v zadanom rozsahu * ======================================= * * libcosenior, april 2012 * ******************************************/
/* funkcia main() */ int main(void) { int i, j, k = 0;
printf("program, ktorý načíta 20 čísel a vypíše\n" "koľko z nich bolo od 5 do 10.\n\n"); for (i = 1; i <= 20; i++) { printf("Zadaj %d. cele cislo: ", i); scanf("%d", &j); if (j >= 5 && j <= 10) k += 1; } printf("\n\nCisiel od 5 do 10 bolo zadanych %d\n", k); return 0; }
11. Napíš program, ktorý pozostáva iba z dvoch príkazov (omáčička a deklarácia premenných sa nerátajú) a ktorý načíta číslo a v prípade, že je to číslo párne, vypíše z neho polovicu a inak vypíše jeho trojnásobok zväčšený o 1.
Spoiler:
Kód:
/******************************************** * * uloha_11.c ver. 2.0 * zabavka s cislami * ========================================= * * libcosenior, april 2012 * ********************************************/
printf("program, ktory nacita cislo a v pripade, ze je to cislo parne,\n" "vypise z neho polovicu a inak vypise jeho trojnasobok zvacsený o 1.\n" "\nZadaj cele cislo: "); scanf("%d", &i); printf("%d", !( i % 2) ? i / 2 : (i * 3) + 1); /* !(i % 2) je ako (i % 2 == 0) */ return 0; }
12. Napíš program, ktorý načíta číslo a opakuje s ním operáciu z predošlej úlohy, až kým nedostane jedničku. Čísla priebežne vypisuje. (Teda pre vstup 3 vypíše čísla 3, 10, 5, 16, 8, 4, 2, 1.) Mimochodom – myslíš si, že takýto program vždy skončí?
Spoiler:
Kód:
/* * program skonci vzdy. */ /******************************************** * * uloha_12.c ver. 2.0 * zabavka s cislami rozsirena * ========================================= * * libcosenior, april 2012 * ********************************************/
printf("program, ktory nacita cislo a v pripade, ze je to cislo parne,\n" "vypise z neho polovicu a inak vypise jeho trojnasobok zvacsený o 1.\n" "Operaciu opakuje, kym nedostane jednicku.\n" "\nZadaj cele cislo: ");
scanf("%d", &i); for (;;) { printf("%d, ", j = !(i % 2) ? i / 2 : (i * 3) + 1); /* !(i % 2) je ako (i % 2 == 0) */ if (j == 1) break; printf("%d, ", i = !(j % 2) ? j / 2 : (j * 3) + 1); /* !(i % 2) je ako (i % 2 == 0) */ if (i == 1) break; } return 0; }
13. Napíš program, ktorý načíta číslo a spraví patričný počet sústredných štvorcov.
Spoiler:
Kód:
/******************************************** * * uloha_13.c ver. 2.0 * program nacita cislo a vykresli * patricny pocet sustredenych stvorcov * ========================================= * * libcosenior, april 2012 * ********************************************/
/* funkcia main() */ int main(void) { int i, j, vel, vel_max;
printf("Program, ktory nacita cislo a spravi patricny pocet\n" "sustrednych stvorcov.\n"); for (;;) { printf("\nZadaj cele cislo:\n" "(pre ukoncenie stlac 0 nulu)"); scanf("%d", &vel); if (vel == 0) break; vel_max = vel * 5 - 4; /* horna cast */ for (i = 1; i <= vel + (vel - 1); i++) { for (j = 1; j <= vel_max; j++) { if (i % 2) (vel % 2 ? (j >= 1 && j <= vel_max && j % 2) : ((j >= 1 && j <= vel_max / 2 && j % 2) || (j >= vel_max / 2 && j <= vel_max && !(j % 2)))) || (j >= i && j <= vel_max -i + 1) ? putchar('*') : putchar(' '); if (!(i % 2)) (vel % 2 ? (j >= 1 && j <= i - 1 && (j % 2) || j >= vel_max - (i - 1) && j <= vel_max && (j % 2)) : j >= 1 && j <= i - 1 && (j % 2) || j >= vel_max - (i - 1) && j <= vel_max && !(j % 2)) ? putchar('*') : putchar(' '); } putchar('\n'); } /* stredna cast */ for (i = 1; i <= vel - 2; i++) { for (j = 1; j <= vel_max; j++) { (vel % 2 ? (j >= 1 && j <= vel * 2 - 1 && (j % 2) || j > (vel * 2 - 1) + vel - 2 && j <= vel_max && (j % 2) ? putchar('*') : putchar(' ')) : (j >= 1 && j <= vel * 2 - 1 && (j % 2) || j > (vel * 2 - 1) + vel - 2 && j <= vel_max && !(j % 2) ? putchar('*') : putchar(' '))); } putchar('\n'); } /* dolna cast */ for (i = vel + (vel - 1); i >= 1; i--) { for (j = 1; j <= vel_max; j++) { if (vel == 1) break; if (!(i % 2)) (vel % 2 ? (j >= 1 && j <= i - 1 && (j % 2) || j >= vel_max - (i - 1) && j <= vel_max && (j % 2)) : j >= 1 && j <= i - 1 && (j % 2) || j >= vel_max - (i - 1) && j <= vel_max && !(j % 2)) ? putchar('*') : putchar(' '); if (i % 2) (vel % 2 ? (j >= 1 && j <= vel_max && j % 2) : ((j >= 1 && j <= vel_max / 2 && j % 2) || (j >= vel_max / 2 && j <= vel_max && !(j % 2)))) || (j >= i && j <= vel_max -i + 1) ? putchar('*') : putchar(' '); } putchar('\n'); } } return 0; }
13. ešte raz
Spoiler:
Kód:
/******************************************** * * uloha_13.c ver. 2.1 * program nacita cislo a vykresli * patricny pocet sustredenych stvorcov * ========================================= * * libcosenior, april 2013 * ********************************************/
/* systemove hlavickove subory */ #include <stdio.h> /* definovane makra */ #define VEL_MAX vel * 5 - 4 // max. pocet riadkov a stlpcov #define R_H_CAST i >= 1 && i <= vel * 2 - 1 // horna cast N #define R_S_CAST i >= vel * 2 && i <= (vel * 2 - 3) + vel // stredna cast N #define R_D_CAST i >= (vel * 2 - 2) + vel && i <= VEL_MAX // dolna cast N #define R_H_CASTP i >= 1 && i <= vel * 2 - 1 // horna cast P #define R_S_CASTP i >= vel * 2 && i <= vel * 2 + (vel - 2) // stredna cast P #define R_D_CASTP k >= 1 && k <= vel * 2 - 1 // dolna cast P
14. Napíš program, ktorý zistí a vypíše najmenší násobok čísla 31 väčší ako 10000. Použi nekonečný cyklus (v ktorom sa nejaká premenná vždy zväčší o 31) a príkaz break.
Spoiler:
Kód:
/******************************************** * * uloha_14.c ver. 2.0 * program vypise najmensi nasobok * cisla 31 vacsi ako 10000 * ========================================= * * libcosenior, april 2012 * ********************************************/
for(;;) { if (i > 10000) { printf("Najmensi nasobok cisla 31 vacsi ako 10 000 je %d.\n", i); break; } i += 31; } return 0; }
15. Fibonacciho postupnosť je postupnosť čísel 1, 1, 2, 3, 5, 8, 13,..., každý ďalší člen je súčtom dvoch predchádzajúcich. Napíš program, ktorý vypíše všetky členy Fibonacciho postupnosti menšie než 10000.
Spoiler:
Kód:
/******************************************** * * uloha_15.c ver. 2.0 * program vypise fibonaciho postupnost * mensiu ako 10000 * ========================================= * * libcosenior, april 2012 * ********************************************/
/* funkcia main() */ int main(void) { int i = 3, j = 1, k = 1, fib;
printf("%d\n%d\n", j, k); for (;;) { fib = j + k; if (fib > 10000) break; printf("%d\n", fib); j = k; k = fib; i++; } return 0; }
_________________ kódy píšem na platforme: linux Ubuntu 12.04 (Geany, Code::Blocks), WinXP (Code::Blocks, PsPad editor), Skype: libcokamo, ICQ: 56312279 Ak treba, napíš mi na libcosenior@gmail.com. To mám v mobile a stále po ruke.
Užívatelia prezerajúci fórum: Žiadny registrovaný užívateľ nie je prítomný a 1 hosť
Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre Nemôžete zasielať súbory v tomto fóre