IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: C programovanie - úloha

Aktivity
Avatar
Paťo Hajšo
Člen
Avatar
Paťo Hajšo:28.4.2020 12:03

Pekný deň , dostal som za úlohu tieto čísla ktoré sú vo funkcí main previesť do array pomocou funkcie StaticAnalyze_load ktorá je predom definovaná , potrebujem pomoc pretože v C som začiatočník a vyznám sa v ňom zatiaľ len veľmi málo.

 
Odpovědět
28.4.2020 12:03
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Paťo Hajšo
DarkCoder:28.4.2020 15:01

Pojďme si to trochu upřesnit...

čísla ktoré sú vo funkcí main

Ta "čísla" jsou celá čísla a nenacházející se ve funkci main(), ale v řetězci uloženém v tabulce řetězců, na který je vytvořen a přistupuje se k němu pomocí ukazatele nazvaného data.

previesť do array pomocou funkcie StaticAnalyze_load ktorá je predom definovaná

Je třeba těmito celými čísly v řetězci, které jsou oddělené čárkou, naplnit pole array. Tuto operaci má za úkol provádět funkce StaticAnalyze_lo­ad(), která ale není definována, je pouze deklarována a její prototyp se nachází v hlavičkovém souboru "staticAnalyze.h". Vytvořit funkci StaticAnalyze_lo­ad() je částečným úkolem celé úlohy.

Pokud už někdo dává pevná pravidla, je dobré popsat chování funkce (výnam návratové hodnoty a každého parametru funkce). Z volání funkce to je patrné, nicméně je dobré o tomto druhé informovat. Zvlášť mají-li dané úseky kódu na sebe navazovat. Toto je naprosto běžná věc v teamové práci. To jen na okraj..

Úplný začátečník bys být neměl pokud již pracuješ s více soubory a s ukazateli. Měl by si mít minimálně alespoń povědomí, proč tomu tak je.

A teď k věci.. Co již máš zpracováno? Ve funkci StaticAnalyze_lo­ad() nemáš jedinou řádku kódu.

Je mnoho způsobu jak tuto část úlohy vyřešit. Jedním z elegatních řešení je využití funkce strtok(), která provede tokenizaci řetězce, čímž získáš řetězcový ekvivalent čísel, kterými máš za úkol naplnit pole array. Na každý takto získaný řetězec zavoláš funkci atoi(), která vrátí celočíselný ekvivalent řetězce.

Nahoru Odpovědět
28.4.2020 15:01
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Paťo Hajšo
Člen
Avatar
Paťo Hajšo:28.4.2020 15:53

Mám spracovanú len jednú časť programu a to funkciu , ktora vyhľadáva priemer , min max a odchylku ale z funkcie load nemám spracované absolútne nič keďže s jazykom C len začínam a toto je iba 3. uloha ktorú sme dostali zadanú od vyučujúceho, neviem ako na to.

 
Nahoru Odpovědět
28.4.2020 15:53
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Paťo Hajšo
DarkCoder:28.4.2020 16:15

toto je iba 3. uloha ktorú sme dostali zadanú od vyučujúceho

Zřejmě dobrej oddíl :-D

Funkce, kterou popisujes zřejmě vůbec nesouvisí s ukazatelem data, protože k tomu, abys mohl určit minimum a maximum z řetězce na který ukazuje, musíš znát číselnou hodnotu ekvivalentního řetězcového výrazu. Což je část úlohy, kterou potřebuješ k tomu, aby si vyřešil zadanou úlohu.

Podívej se na funkce atoi() a strtok() o kterých jsem psal výše a zkus pochopit jejich činnost. Začni funkcí atoi(), je jednodušší. Pochopíš, proč je tak důležitá a to jak ji vyuzijes.

Nahoru Odpovědět
28.4.2020 16:15
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Avatar
Paťo Hajšo
Člen
Avatar
Paťo Hajšo:28.4.2020 17:11

Ďakujem za rady , určite sa na tie funkcie pozriem a pokúsim sa problém vyriešiť.

 
Nahoru Odpovědět
28.4.2020 17:11
Avatar
Caster
Člen
Avatar
Caster:1.5.2020 11:43

Trochu mě překvapuje, že se zdejší poradna změnila na poradnu pro školáky, kterým pomáhá řešit jejich domácí úkoly bez elementární snahy dotyčného trochu zapátrat na netu a snažit se přijít alespoň s nějakým základem. Pokud nemají snahu se pokusit věc řešit, ať se radši věnují třeba strojírenství či jinému oboru. Nedovedu si představit, že by takto dříve studenti programování postupovali. Na rozdíl od socialismu, kdy nám na vejšce říkali, že kdo nemá doma počítač (ZX Spectrum, Commodore 64), ať se přihlásí do DDM na kurz programování ;-), jsou dnes na netu nepřeberné možnosti, jak věc nastudovat. P.S. Přestože nejsem nejmladší, učím se programovat aplikace pro Android pomoci online kurzu :-).

 
Nahoru Odpovědět
1.5.2020 11:43
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.