Zdravím potrebujem pomoc s úlohou. :)
Potrebujem to v C.
Napíšte funkciu, ktorá vyráta druhú mocninu daného čísla. (napr. druhá mocnina čísla 5 je 5 × 5 = 25.)
S pomocou tejto funkcie vypíšte druhé mocniny čísel od 1 do 20.
Úloha
Re: Úloha
Google nefunguje?
Hledej "sqrt()" a "for"
Hledej "sqrt()" a "for"
Re: Úloha
#include<stdio.h>
#include<conio.h>
int mocnina(int x) {
return x*x;
}
int main(){
int i = 0;
clrscr();
for(i = 1; i <= 20; i++) {
printf("%d^2 = %d\n",i ,mocnina(i));
}
getch();
return 0;
}
Ja to mám, ale neviem či dobre
#include<conio.h>
int mocnina(int x) {
return x*x;
}
int main(){
int i = 0;
clrscr();
for(i = 1; i <= 20; i++) {
printf("%d^2 = %d\n",i ,mocnina(i));
}
getch();
return 0;
}
Ja to mám, ale neviem či dobre
Re: Úloha
Zkompilovat to a spustit tě nenapadlo?
Pár poznámek:
Ten kód máš stažený odněkud z netu, nebo ti conio.h poradili ve škole? To je totiž starožitnost z doby MS-DOSu a dnes (v tomhle století) už nemá v programu co pohledávat. Navíc tvůj program je s ním nepřenositelný, na jiném systému nebo s jiným překladačem nepůjde přeložit. Pro smazání obrazovky (pokud to opravdu musíš udělat!) použij buď multiplatformní knihovnu nebo jednoduché escape sekvence podle standardu ANSI, například:
nebo komplexnější:
Dnes už ANSI zvládají snad všechny existující terminály, i když ten windowsí pořád ještě nekompletně a chybně. Vyzkoušej to, u mě fungují obě. Další sekvence, například pro obarvení písma a jiné vopičky, najdeš zagooglením. Ale nepřeháněj to s nimi, někdy mohou být spíš na škodu.
To platí i pro funkci getch(), také není součástí normy. Kromě toho, je špatné když se program jen tak zastaví a čeká na pokyn uživatele, který ale neví co má v tu chvíli udělat. Samotný blikající kurzor - pokud se vůbec zobrazí - je zoufalý nedostatek informací, může znamenat že program pracuje nebo že se zasekl v nekonečné smyčce... Program musí uživatele vést (protože uživatel je ještě větší blbec než programátor) a napovídat mu, například takhle:
K formátování, nemíchej v odsazení mezery a tabulátory. Buď používej jedno nebo druhé ale nikdy oboje. Kromě toho, podle statistik programátoři používající mezery mívají vyšší plat než ti tabulátoroví, nikdo neví čím to je, ale je to tak. Také se používá vertikální odsazení, například mezi jednotlivými souvisejícími bloky kódu uvnitř funkce jeden prázdný řádek, mezi funkcemi tři prázdné řádky. Ono to dost zvyšuje přehlednost.
A ještě pár detailů, mezi příkazem a závorkou se dělá mezera: for (;;), naopak mezi názvem funkce a závorkou se NEdělá mezera: int main(void). To void znamená že funkce má prázdný vstup, je to informace pro překladač že nepotřebuje žádné argumenty.
P.S. Doufám že tohle není všechno co ses za tenhle školní rok naučil, takovýhle úkol bych čekal někdy v říjnu, maximálně v listopadu, ne dva měsíce před prázninami
Pár poznámek:
Ten kód máš stažený odněkud z netu, nebo ti conio.h poradili ve škole? To je totiž starožitnost z doby MS-DOSu a dnes (v tomhle století) už nemá v programu co pohledávat. Navíc tvůj program je s ním nepřenositelný, na jiném systému nebo s jiným překladačem nepůjde přeložit. Pro smazání obrazovky (pokud to opravdu musíš udělat!) použij buď multiplatformní knihovnu nebo jednoduché escape sekvence podle standardu ANSI, například:
Kód: Vybrat vše
printf ("\033c");
Kód: Vybrat vše
printf("\033[H\033[J");
To platí i pro funkci getch(), také není součástí normy. Kromě toho, je špatné když se program jen tak zastaví a čeká na pokyn uživatele, který ale neví co má v tu chvíli udělat. Samotný blikající kurzor - pokud se vůbec zobrazí - je zoufalý nedostatek informací, může znamenat že program pracuje nebo že se zasekl v nekonečné smyčce... Program musí uživatele vést (protože uživatel je ještě větší blbec než programátor) a napovídat mu, například takhle:
Kód: Vybrat vše
printf("Stiskni ENTER pro ukončení programu.");
getchar();
K formátování, nemíchej v odsazení mezery a tabulátory. Buď používej jedno nebo druhé ale nikdy oboje. Kromě toho, podle statistik programátoři používající mezery mívají vyšší plat než ti tabulátoroví, nikdo neví čím to je, ale je to tak. Také se používá vertikální odsazení, například mezi jednotlivými souvisejícími bloky kódu uvnitř funkce jeden prázdný řádek, mezi funkcemi tři prázdné řádky. Ono to dost zvyšuje přehlednost.
A ještě pár detailů, mezi příkazem a závorkou se dělá mezera: for (;;), naopak mezi názvem funkce a závorkou se NEdělá mezera: int main(void). To void znamená že funkce má prázdný vstup, je to informace pro překladač že nepotřebuje žádné argumenty.
P.S. Doufám že tohle není všechno co ses za tenhle školní rok naučil, takovýhle úkol bych čekal někdy v říjnu, maximálně v listopadu, ne dva měsíce před prázninami
"Král Lávra má dlouhé oslí uši, král je ušatec!
(pravil K. H. Borovský o cenzuře internetu)
(pravil K. H. Borovský o cenzuře internetu)
-
- Elite Level 10.5
- Příspěvky: 10943
- Registrován: únor 12
- Bydliště: Pankrac
- Pohlaví:
- Stav:
Offline
Re: Úloha
Nepochybuji, ze faraon vie. A zaroven nepochybuji, ze ti to neprerobi, protoze by to nebylo vychovne. Spise te posune, trosku detailneji, nez LuCaCZ.
Prazaci jo ty se maj, az kdyz si me zavolaj..
Re: Úloha
Zkusil jsi to zkompilovat a spustit? Sám uvidíš co ten program provádí a jak výsledek vypadá.
Napsal jsem ti konkrétní věci které bys (podle mého mínění) měl změnit, a také jsem napsal jak to máš provést. Prakticky ti stačí těmi řádky ode mne nahradit konkrétní řádky v programu.
Ještě jsem nezmínil jednu velmi užitečnou věc - komentáře. Nestyď se je používat, vytiskni si ten program na papír a ke každému řádku tužkou napiš co provádí. Pokud to nebudeš vědět, použij manuál nebo prostě zagoogli. Tak najdeš například funkci mazající obrazovku, kterou máš nahradit escape sekvencí.
Další informace najdeš tady: https://www.abclinuxu.cz/faq/aplikace/udelate-za-me-ukol Je to tam napsané lépe, než bych to vyjádřil já.
Napsal jsem ti konkrétní věci které bys (podle mého mínění) měl změnit, a také jsem napsal jak to máš provést. Prakticky ti stačí těmi řádky ode mne nahradit konkrétní řádky v programu.
Ještě jsem nezmínil jednu velmi užitečnou věc - komentáře. Nestyď se je používat, vytiskni si ten program na papír a ke každému řádku tužkou napiš co provádí. Pokud to nebudeš vědět, použij manuál nebo prostě zagoogli. Tak najdeš například funkci mazající obrazovku, kterou máš nahradit escape sekvencí.
Další informace najdeš tady: https://www.abclinuxu.cz/faq/aplikace/udelate-za-me-ukol Je to tam napsané lépe, než bych to vyjádřil já.
"Král Lávra má dlouhé oslí uši, král je ušatec!
(pravil K. H. Borovský o cenzuře internetu)
(pravil K. H. Borovský o cenzuře internetu)
Zpět na “Programování a tvorba webu”
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 7 hostů